一人でちまちまとXamarinに入門してみる(インストール編)
本読もうって言ってたの誰だよ!って自分にツッコミ入れてます。
本当に意識が低すぎてダメですね。
そんなことはさておき、
Xamarinを始めるべくVisual Studio for Macをインストールしてみました!
個人でちまちま開発するので、Community版をインストールします。
ダウンロードした.dmgファイルをダブルクリックするとこんなかんじ。
この辺りで管理者1回パスワード入力。
徐々に画面変わるパターン。
Windowsでインストールする時よりも見た目が好きだなー。
お、終わりそう。
ここで2回パスワード求められる。
完了した!!
わーい
準備は整ったので、新規のプロジェクトを作成して試してみます!
一番上のを選択すれば良いらしい。
下にあるGamesが気になるけど、チュートリアル的なものをやりたいのでまた今度。
でもチュートリアル的なのもまた今度。
(こんなんで続くのかなあ。。。)
心機一転
さて。
記事を書くのは何ヶ月ぶりでしょうか。
"忙しい"は言い訳です、はい。
心機一転、ブログタイトルを変更してみました。
もうそろそろ初心者って言えなくなるし、気持ちを新たにしたいなと思ったので。
いろんな分野に興味あるけど、どれかのプロフェッショナルになるのも憧れる。でも、「この言語が一番好き!!」みたいに思えるものとまだ出会えていない現状。
雑食でいいから色々勉強していこうという意気込み。
緩く書きたいから "ひとりごと" です。
部屋の片付けをして、"積ん読"になっていた本を綺麗に並べた。
だいたいいつも3冊買って、1冊目の3分の2まで読んで終了。。。
で、前買った本読んでないのにまた3冊購入、の繰り返し。
とりあえずこの本達を読むぞ。そしてここに感想を書くのだ、、!
続く自信がない!
頑張ります。
20160727 初めてG's Niteに参加してきたメモ
G's Nite Webなんでも勉強会【Web制作&Web開発 最前線の話を聞こう!!初心者に優しい勉強会です。】に参加してきました。
ほぼほぼスライド見ながらメモっただけの記事です。
Web初心者なので、勉強方法とか参考にしたいと思います。
【Front-endの歩き方】平田さん
・web engineerと一口に言ってもいろんな種類(mark-up, front-end, back-end, full-stack)がある。
・Step1 静的サイト開発
HTML/CSS
Step2 動的サイト開発
css/jsライブラリの活用
レスポンシブデザイン、UX/UIなど
Step3 中規模のWebアプリケーション開発
複数ページのサイト作成
Webアプリケーションアーキテクチャ
JSフレームワークの活用
Step4 フロントエンド+サーバーサイド開発
Step5 効率化を考えた開発
altjs
各種ツール活用(自動的に行ってくれるツール)
- Package Manager: nuget, npm, bower
- Task Runnner
Step6 大規模な開発
- Webアプリケーションフレームワーク
- SPA(Single Page Apprication)
処理をある程度サーバーサイドに任せちゃう
Web Enginner × Your Interest = ∞
【WEB未経験エンジニアがWEBでキャッチアップした話(仮)】 Yahoo! 磯村氏
文系→SIのエンジニア→WEB系のエンジニア の方。
1.モチベーションを上げる
・技術系の本を読む
- 言語に偏るものよりはエンジニア全体にかかわる本
- 情熱プログラマー、WEBサービスの作り方、リーダブルコード がおすすめの本
・勉強会に出る
2.モチベーションを下げない
- 言語を気にしない(開発効率とか実行速度)
- 挫折を気にしない(何回か挫折している人はたくさんいる)
- わからない事を恥じない
3.モチベーションを保つための工夫
- エンジニアとして働く
- エンジニアのいる会社で働く
- 学校に行く(※自主性がないと、卒業しても何もできない)
4.環境系・・・?(タイトル忘れた)
- 開発言語
- フレームワーク
エディタはプラグインなどがたくさんあって、カスタマイズも出来る。
- PC
+ macがおすすめ
- デバッグ
+ 変数の中身を知る関数
+ クラスやメソッド
5.効率化
- キーボードから手を離さないようにする
- 質問の仕方に気をつける
- 仮説を立てる
- インプット
- 書籍から(⭐️最初から本は挫折しやすい)
- WEBから
- すごい人から
質問する、terminalのログを見る
- アウトプット
ブログを書く、Qiitaに書く
- 人に教える
- とにかくコードを書く
【Wanna be a Front-end Professional】サイバーエージェント 宗定氏
⭐️フロンロエンドエンジニアが成果を上げるためには、ということをメインに話すとのことでした。
Webフロントでできることが爆発的に増えたため、ここ数年で複雑化してきた。
→複雑なことをやるには枠組みが必要!
プロとしてフロントエンドやるなら、全てを把握しておきたい。
フロントエンドの中では1番複雑。
まだ台頭してきてから時期が短いため、設計思想がないと大きなアプリケーションが組めない。
2.CSS
設計思想を入れると良い。
ブラウザ仕様はこれからも付き合っていく必要がある。
変数の宣言ができないなど、言語仕様が貧弱
3.コンパイル、ビルド、リリース
リリースできるような状態にすることが重要。
JSが書ければ大体わかるはず。
Jenkinsやftpについてはフロントエンドでも知識が必要になってくる。
4.パッケージマネージャー、テスト、フォーマッタ
品質を上げるためには必要。
5.その他
1〜4は技術的な面。
基本的なサーバー技術は必要。
ツール群(例:Chrome Dev Tools や Local Proxy)を使うと生産性が上がる。
フロントエンドエンジニアの身の振る舞い方
・ジェネラリスト志向が良い。
・成果視点
- 技術やスキルはツールであり、それをどう使うのか、使って何を成し遂げるのかが大切。
- 何に使うのか、結果は(自分で)コントロール、評価したい。
=============LT=================
【勉強方法について】 平井さん
基礎(あまり時間をかけないこと)
・初級本を数冊やる
・ドットインストール
実装、
・とりあえず何か作ってみる
仕様
・言語について深く知る
【ES6について】 久保田さん
・ 書き方・考え方が他の言語と同じように策定される。可読性が上がる。
クラス定義
letによりブロックスコープ
などが追加される。
ES6を使うことで、他の言語ではあたり前にできたことがJavaScriptでもできるようになる!
。。。私の場合、型あり言語ばかり使っているからES6はすごく興味ある。けど覚えること多いイメージ。あと、しばらくは変換したりスピード感には向かない感じもしている。
【IT×音楽】 藤田さん
・身近な音楽
・効率化から体験へ
【JavaScriptのライブラリを使ってみよう】 堀さん
・自分のやってみたいことが簡単に実現できる
・手軽に導入できて、すぐに試せる。
が、ライブラリで実装したところは、ライブラリに依存する。
また、アップデートが常にされるわけではない。
Chart.jsの紹介
・HTMLの知識としてはcanvasの知識だけあれば良い。
・簡単な棒グラフ程度だったら10行程度のソースコードでできる。
【VR AR MR 違いと未来について】西元さん
・今年はVR元年と言われている。
- VR
仮想現実。
完全に作られた世界に入り込む
- AR
拡張現実。
現実を拡張し、作り出した世界。
- MR
複合現実。
仮想と現実を複合し、現実世界に付け足した情報を操作できる。
IoTLTでわくわくした話をしてきました
6月29日にIoTLTでLTさせて頂きました!
1週間くらい経ちましたが、忘れそうなので思った事をまとめておきたいと思います。
なぜLTをしたのか
LTしてみて思った事
まとめ
Scala入門してきました(20160605)
先月、Scalaの魅力をLTで話していた方がいらしたということもあり、ハンズオンに参加してきました(^^)
Javaは触れたことのない言語だったこともあり少し難しかったですが、丁寧に教えて頂けたので楽しめました!忘れてしまいそうなのでこのハンズオンで学んだことをまとめておきたいと思います。
1. Scalaについて
・ドワンゴオリジナルの研修用テキストが分かりやすくて良いらしい。ググると出て来るらしい。↓↓
・異なるOS間でも、一つの構造で動かすことができる。
バーチャルマシンで動かせば中間層を動かす人がOS依存のものを用意すれば良いという発想?(JVM上で動かすことができる?)と言っていた気がするものの、合っているか微妙。
scalaの最大の特徴は、
『オブジェクト指向プログラミングと関数型プログラミングの統合であること』
だそうです。私はこの業界に入って1年ですが、オブジェクト指向は散々言われてきたから知っている!となるものの関数型は初めて聞いたなーと思いつつハンズオンスタート。
以下、学んだことだったりポイントを書き出していきます。
2. ハンズオンで学んだこと
2.1 フォルダ構成について
・プロジェクトの直下にsrcフォルダを置く。(今回の方法だと自動生成されていました。)※今回のハンズオンではactivator uiを用いてプロジェクトを作成しIntelliJで開いています。
・testの方にテストコードを書く。
・mainやtestの下に各言語のフォルダを置いて、そのフォルダ下にファイルを作成してそこにソースを書く。
↓こんなかんじ
各言語ごとにフォルダを分けるというのは初めてだったので意外でした。
2.2 activatorの使い方
・ターミナルでプロジェクトのフォルダに移動し、activatorと入力するとactivatorが起動する。(起動したままプログラムを書いていくのが書いていくのが基本とのこと。)
・activatorでcompileと入力するとコンパイルできる。また、runと入力すると実行できる。(runすると、差分がある場合はコンパイルされ、その後実行されました。)
・activatorは新規のプロジェクトの雛形を作ったり、ui上でソースを書くことができる等、IDEの機能を持つ。
・activatorはSBTのラッパーらしい。
・consoleと入力すると、対話環境が開く。
・import app.models._で一括インポートできる(ワイルドカード)。
・import app.models.{Issue, Bug}で指定することもできる。
・new Issue(10, "test issue", TicketStatus.Open)のようにするとインスタンスを作成できる。
・:qで対話環境を抜けることができる。
2.3 その他のポイント
・パッケージというモジュール単位でフォルダを作っていく。
・case は自動でクラスが生成されるようになる?コンストラクタみたいな扱いになるっぽい?。(違うかも)
・case class でcase class を継承することは不可。(自動生成されるメソッドである同値判定が機能しなくなることが理由らしい。)一方で、case class ではないclass で継承されることは可能。
・引数名を指定して引数を渡すことが可能。
・valは値だから再代入できない。varは変数のため再代入できる。
・型に別名をつけることができる。
・typeを使って別名をつけるのは、そのままだとpackageの全体に書くことはできない。
→package object を用いる。でもpackage objectは一つのパッケージにつき一つしか作れないとのこと。
・関数は、
のように書く。
defとつけてメソッドを定義し、:の後に戻り値(ここではIssue)の型を書く。()内は引数で、引数の型を省略することは不可(ここではString型)。
・関数内の戻り値に、return と書かなくて良いみたい。
※公式のDocumentも合わせて読みたい。↓↓
Collections - 可変コレクションおよび不変コレクション - Scala Documentation
・testは便利らしく、『activator ~testとするとテストも含めたソースをコンパイル→実行できる』とのこと。対話環境だけでは毎回ソースを直してコンパイルして、、、としなくてはいけないところを1度のコンパイルで何度も試すことができるため、楽なようです。(testのソースを自分の書きやすい言語で書けるのであればかなり気楽に使える気がします。が、どうなんでしょうか)
・Scalaスケーラブルプログラミング第2版(通称: コップ本)ってのが概念を知る?勉強する?のに良いらしい。
3. まとめ!
個人的な感想としては、C++の概念に近い印象でした。表記が違うだけで概念は似ているかな、と思いました。周りにC++な人居なくて誰にも理解されなかったですが!笑
どんな場合にScalaを使うと良いのですか?という趣旨の質問への回答でもありましたが、長期的に変更を加えたい時などには確かに良さそうだなと感じました。懇親会の時にお話しした方がScalaのライブラリはJavaよりも更新速度が速いと仰っていたので、普通にJavaで開発を行うよりも、汎用性が高いのかなと思いました。実際業務で使わないとその辺のことはわからなさそうですし、Javaを知らないので比較も全くできませんが。
こんな感じでした。Scalaは個人的には学習コストは少し高めな一方で、大きいプロジェクトとかに合いそうだなと感じました。趣味というより仕事向きという感覚です。『Scala得意です』みたいになったら凄くかっこいいなーとか憧れました。
入門者の集いとかでLTする余裕あったらしてみたいです。(余裕なさそう)
勉強会に参加して3ヶ月の私が思うこと
私が勉強会に参加し始めて約3ヶ月が経ちました。
0. 私のスペック
1. 初めて参加するのはとにかく緊張する
2. 慣れるまでに少し時間がかかる
3. アウトプットの重要性
4. 人との繋がり
5. 最後に
tips共有会に参加してきました(20160520)
「【満員御礼!増枠】 dots.女子部 - オールジャンル女子エンジニア集合!tips共有会vol. 2 〜私、この技術に恋してます♡〜」に参加してきました!dots.女子部に入部させて頂いてから初の大きなイベントでした!
エンジニアの女性ばかりが登壇するのは私はとても好きです。視点がわかりやすいし、ビジネス色が強すぎることもなく、技術的なことも質問しやすいように感じるからです。
また、今回は皆が自分の好きな技術の話をするということで、全体的に楽しい雰囲気でした:)
文章にもなりきれていない、メモを以下に残しておきます。
⭐️<UnitytとTVMT始めました>ちゅうまんさん
-Unity
WindowsとOSによらず、ゲームが開発できる。こっちでステージを作る。
-TVML
こっちでシナリオを動かすらしい。
・APIっぽい感じの使い方のようです。
・http://tvmllab.comからコンタクトをとり、ダウンロードできる。林教授が直接教えてくれるとのこと。
・テレビマンでなくてもCGアニメを作ることができる。面白そうだから私もやってみたい。
・サービス商用利用の場合は展開しないといけないが、個人利用はOK。
・映像の原則という本がおすすめ。
⭐️<Rails Mountable Engineでできること>さやさん
・Rails::Engineとは
Railsアプリケーションのミニチュアみたいな物
・そもそもRailsは、エンジンにターボをかけたようなものらしい。
・Full EngineとMountable Engineがある。
・実装したら、mount, routing
・基本的にそれだけで独立して機能することができるらしい。切り出しも楽らしいので、最初からEngineで開発を始めるのがおすすめ。
→最近Ruby on Railsを勉強しようかなと思っているところだから、もう少し自分の知識がついたところでEngineのことも調べてみたい。
⭐️<Python&機械学習にHelloWorld!して旦那候補を探すツールを開発する>きりぽん
1、Bingで画像取得。(googleだと大量の画像取得ができなかったため。)
2、顔部分を切り抜く
cv2(OpenCV)使う。
3、TensorFlowで学習させる。
画像を学習用とテスト用に分ける。
TensorFlowは学習の途中経過を確認することができるのが特徴らしい。
⭐️<実装だって楽したい!〜リアルタイム通信はじめの一歩〜>ちゃんとく
Milkcocoaの話!
・Milkcocoaを使った場合と 、Node.jsでSocket.ioを使った場合の比較。
→Milkcocoaを使えばデータのやりとりが簡単!
→私自身は仕事でSocket.ioを使って開発した後にMilkcocoaを使ってみたのですが、確かに動きが単純でわかりやすいという印象を受けました :)
⭐️<React.jsでもいい感じにCSS書きたいじゃん?(仮)>きりえさん
Reactの特徴
・UIをコンポーネント化
・仮想DOMで更新を最小限に。
・親から子への一方向なデータフロー
-CSS Modules
-Override
⭐️<Scala女子はカッコいい>しょこさん
・JVM上で動く
・プログラミング言語別給与ランキング1位
・play framework
非同期プログラミンング
型安全性へのフォーカス
・デビューへの4STEP、10分でできる
JDK1.8をインストール
Lightened Activatorをインストールし起動
Play Frameworkのプロジェクトを作成する
プログラム実行する
→6月にScalaのハンズオンがあるのを見つけたので、そこで勉強してきたいと思います!
どの記事を読み返しても、自分用のメモでしかなくて我ながら若干引いてますが、しばらくはこの ”誰かに発信するためというよりも自分の脳内整理のため" スタイルで行こうと思います。笑