ecmファイルとは‽

.ecmというファイル

ん?なにそれ?

エミュレーター関連でよく使用されるらしい。。。
unecmで解凍できるソフトなどもあるらしい。。。

ecmファイルとは何か?
ECMは、エラーコードモデラー形式で作成したディスクイメージファイル。冗長な誤り訂正符号及びチェックサムを除去し、ディスクイメージを格納する。ゲームコンソールのディスクイメージを圧縮するために使用される。

エラーコードのモデラー形式ってなんだ?
XMAP3/Webライブラリが返すエラーコードが8お場合に、共通インタフェースのリターン値1やリターン2に返すエラーコードの形式を示す。モデラーはモデル。

あんまり情報がないなー

エンジニアがamazon欲しい物リストを考えるとこうなる

欲しい物リスト
http://amzn.asia/0W51meS

基本物欲ないからなーーーーー 特に欲しい物ない。。
なんだろーほんとにないな。 

1位:macbook pro 123,984円 i5, 256GBくらいあれば良し。
欲しい。

2位:コーヒーメーカー 18,800円
うーん、まずまず欲しいかも。

他は。。。

そんなものかなー
絞りだしても出てこないなー
むしろ、なんか捨てたいなー。。

うーん、ないぞ。むしろ、財布はノーブランドにグレードダウンしたい。
しかし、やすっぽい財布もなかなかないなー

ということで、結論、欲しい物リストはそんなにない。

こんな感じ http://amzn.asia/0W51meS

【時間の無駄】Youtubeの見るのを止めたい時

あることに気が付いた。
Youtubeって完全に時間の無駄じゃね? 

現実逃避にはいいんだけど、なんと言ったらいいのかわからいんだけど、なんか価値観や思考を奪われる感じがするんだよね。思考の影響を受けやすい、というか。だから、できるだけ見ないようにしようと思ってるんだけど、ついつい見てしまう。そして、殆ど無駄だとわかってるんだけど、たまに役立つような情報もあるからたちが悪い。

で、しばらく考えたんだが、閲覧ブロックするアプリをインストールして、強制的に見れないようにすることにした。

1.アプリの設定を無効化する
設定->アプリと通知->アプリ->Youtube

2.BlockSiteをインストールして閲覧ブロックする

あれ、何気に、大事なことしたような気がする。

特殊文字とはなにか?

プログラマーって、みんな文字や文字コードの知識が詳しいな。まいるぜ。

wikipediaを参考にします。
特殊文字の定義
特殊文字(とくしゅもじ、special character)とは、情報処理において文字集合に含まれる文字(図形文字)として扱われるもののうち、伝統的な言語学でいう「文字」(表音文字や表意文字)に入らないものであって、しばしば通常の文字とは異なる特殊な扱いをされるものをいう。

なんだそれは? 

伝統的な言語学で扱われてきた約物(句読点や:/;/”/?/!等)のほか、数学記号などの学術記号、単位記号、通貨記号、国際音声記号、といったさまざまな記号類、矢印や罫線素片、ハートやダイヤなどのトランプのマーク、絵文字といったものも含まれる。

絵文字も特殊文字なのか。ややこしいな。

エンジニアと英語

仕事で英語は使っているか?
=> Yes(コミュニケーション/ドキュメント両方)

英語は必要だと思うか?
=> Yes、ドキュメントの読み込みは英語ができないとかなりキツイ。

エンジニアとして、どういう英語の勉強をしたか、しているか?
=> udacityの講座は全部やった。

英会話スクールなどに行った方がいいか?
=> No。高校生の頃、30万位払ってECCに通ったが、全く上達しなかった。英会話はエンジニアには金の無駄。

英語のプログラミング関係の本を買って勉強するのはどうか?
=> No。まず、売ってる本の種類が少ない。Amazonで買おうとすると、海外取り寄せになる場合が多い。すると、到着するのに1週間以上かかったりするので、そのころにはマインドが変わっている。

おすすめの勉強方法は?
=> 英語のサイト/アプリケーションを構築すると勉強になると思う。

文字のバイト数とは?

システムによって、バイト数の制限があることがあります。
よくある例としては、画像ファイルは〇M byteまで など。

まず、言葉の定義から。
1バイトとは
0か1かを表すビットという単位が8つ並んで構成される。2の8乗で256通りのデータ

1KB、1MB、1GB
1キロバイト=1024バイト、1メガバイト=1024キロバイト、1ギガバイト=1024メガバイト
※1000バイト単位でないので注意が必要

半角のアルファベットと数字、1文字のデータ量は1バイト
– 日本語は漢字が数千あり、256種類では表現しきれないので、2バイト(16ビット)で1文字を表現する。いわゆる全角文字。2バイト(2^16)は65536種類の情報を表現できる。

500バイトだと250文字
WordのA4でフォントサイズ10.5で40文字程度

アルファベットは7ビットで表現
つまり1バイト?

PHPでバイト数を図ってみましょう。
strlen()でバイト数を計測

$single = "a";
$multi = "あ";
var_dump(strlen($single), strlen($multi));

あれ、”あ”が3byteになってる。何故だ!?

phpのマニュアルを見てみる。
http://php.net/manual/ja/function.strlen.php
うーん、やっぱりバイトだ。 あ、マルチバイト文字列はmb_strlen()でカウントするらしい。なるほど。つまり、”あ”は3バイトで表現されているってことか。

TSVファイルとは?

TSVファイルとはなにか?
– テキストファイル
– 項目間がタブ区切りになっている
– CSVファイルに近い

例えば、適当にテキストファイルを開き、名前を付けて保存で、.tsvファイルとする。

すると、保存したファイルがTSVファイルになっていることがわかる。

CSVファイルとは?
– CSVファイルのカンマがタブになった版
csvファイル
php,ソーシャル開発,データベース移行
TSVファイル
php ソーシャル開発 データベース移行

タブ記号(タブ文字)を間に挟んでいます。
また、このtsvファイルをExcelで開くこともできます。

エンジニアの休日の過ごし方

エンジニアの休日は何をしているのか? どう過ごしたら良いか迷います。
大体、「休日はだいたい〇〇してます」なんてのは眉唾ものだ。私も結構な頻度で聞かれるが、答えに困る。あまりに困った場合、たまに映画に行ってるとか答えることもあるが、実際には1年に1回も行かなかったりします。

で、実際になにをすればよい?
というより、何をするのが最も効率がいいのか?

検討項目
1. 仕事に関連したプロダクトを作る:◎
2. 仕事の復習、来週以降の予習:◎
3. プライベートプロジェクト(趣味の開発):△
4. 新しい技術の勉強:△
5. 飲みに行く:×
6. ショッピング:×
7. 筋トレ、ランニングをする:〇
8. 仕事に関連した投資:◎
9. その他の投資:〇
9. Youtubeを見る:×××
10. 副業(物販):×
11. ネットサーフィン:××

比較してみよう。
あれ、ちょっと待て。
エンジニアというと、「土日は趣味で開発しています」というイメージがあるが、
今置かれている環境のレバレッジを最大に活かすなら、仕事に関連した時間の使い方の方が100%効率がいい
趣味の開発は一見、エンジニアという職業選択の上で良さそうだか、立ち止まって考える必要がある。果たして、効率がいいか?ゼロスクラッチは大事。でも、それが一番いい選択かというと、レバレッチがあまり効かない

「新しい技術の勉強」というのもエンジニアとしてはあるあるだが、今のプロジェクトの関連技術を深めた方が結果的に効率が良さそう。技術の勉強は絶対必要。
一見、副業も良さそうに見えるが、副業も誰も同じことを考えるので、転売など畑違いの事は、効率・競争力が落ちる。Googleの5%ルールや、儲かってます系の動画などに毒されすぎだ。。そんなものは今のプロジェクトが終わって暇になったらやればいい。副業やったって直ぐには成果はでない。時間がかかる。それなら、今の仕事に時間を投下して、それを金に変えた方がリターンが大きそう。
エンジニアたるもの、生産性・効率が一番大事。常識は一切無視。

社蓄というバズワードは?
社蓄とは、つまり会社に都合のいいように使われている、と軽蔑したワード
主に投資家や会社に不満のある人が使う。会社に不満がない人はそこまで会社を批判しない。が、確かに考える必要はある。

で、まとめてみると、、、
あれ、土日も全部仕事やないか!?でも、冷静に考えたらこれが一番効率がいい。
——————
1. 仕事に関連したプロダクトを作る:◎
2. 仕事の復習、来週以降の予習:◎
3. 仕事に関連した投資:◎
4. 筋トレ、ランニングをする:〇

まとめると、趣味の開発、プログラミングの勉強、副業は一旦切り捨ててOK!
土日も、仕事のプロジェクトに関係することに100%使う。これで良し。まずはレバレッジを優先。勉強会などもいいかもしれませんが、関わってるプロジェクトに関連させた方が、相乗効果が出るはず。
(※実際、今のところ仕事は上手くいきつつあり、若干余裕が出てくる。その余裕を土日も更に仕事にベット。再投資しまくれ!)

おススメの無料プログラミングスクール比較

プログラミングスクールで勉強したいけど、正直高いスクールに行くほど余裕がない、という事情だったり、無料があるなら、無料の方がいいですよね。そこで、おススメのプログラミングスクールを比較してみたいと思います。

1. TechAcademy

https://techacademy.jp/
東京都渋谷区渋谷1-17-4 PMO渋谷8F
-89000円(4週間のコース)
-オンライン完結、パーソナルメンター、マンツーマンレッスン、チャットサポート、オリジナルサポート
-進路: 転職サポート(全コース対応)
-実績:500社、25,000名を超える教育実績
無料体験

2. TECH::CAMP

https://tech-camp.in/
-12,800円~(月額)で学び放題
-期間:スキルアップなら合計60時間が目安、Webサービスなら100時間が必要
-内容:Webサービス開発、テクノロジー、オリジナルアプリ、AI入門、デザイン、VR・3Dゲーム開発、iPhoneアプリ開発
-教室:渋谷 新宿 池袋 東京駅前 御茶ノ水 早稲田 名古屋 梅田
-備考:週二回程度、教室に通うことを推薦

3. ITプロ育成スクール

http://www.m5school.jp/index.html
福岡市中央区薬院1-1-1 薬院ビジネスガーデン6階
-無料
-期間:8カ月
-内容:Java、HTML、CSSなど
-進路:研修から社員に
-実績:350名以上のエンジニア卒業
-備考:福岡にある、奨学金制度を導入している

4. 無料PHPスクール

http://www.dt30.net/phpschool/
東京都豊島区南池袋2-40-24シントミプラザ東池袋3F
-無料(入学金、授業料、教材費が一切無料)、ノートPCは持参、デポジット5万円(全額返金)
-短期の23日間
-内容:ECサイト構築スキル
-進路:無料PHPスクール卒業生の73.3%が自社内開発(それ以外は客先常駐)、61.1%が私服(ビジネスカジュアル含む)
-備考:写経メイン、文章→構文→単語の順に学ぶ

5. Axiz沖縄

http://axiz.okinawa/
沖縄県浦添市牧港5−6−2 琉薬商事ビル604
-無料(20-24歳)
-期間:短期間(3ヶ月間)
-内容:Webプログラミング基礎、Java基礎、Java応用、開発実習
-実績:ITホールディングスグループ/インプレスグループ/NTTデータグループ/オムロングループ国分(株)/国税庁/(株)サイバーエージェント/情報技術開発(株)/TCSグループ 東芝ソリューショングループ/(株)ドワンゴ/(株)ベイカレント・コンサルティング 法務省/三菱商事グループ/ミライト・ホールディングスグループ/リコーグループ

6. Kredo

https://kredo.jp/internous/
Park Central Office 17F 1708 Cebu IT Park, Apas Cebu City, Philippines 6000
東京都千代田区霞が関3-6-15 霞ヶ関MH タワーズ7F
-無料
-1カ月間1日6時間授業のセブ島留学、3カ月間東京で研修、就職
-95%で継続勤務

7. RainbowApps

https://www.school.rainbowapps.com/
大阪市中央区西心斎橋1-5-5 アーバンBLD心斎橋9階-C号
– iPhone アプリ開発コース(16回)、Android アプリ開発コース(16回)
– 小中学生・親同時受講限定で無料
– 1名まで無料 ただし保護者が必ず一緒に受講すること(保護者の割引はなし)
– 約6000名の受講実績

結局どかがいいのか?
これは考え方次第ですが、ポイントを考察したいと思います。
1. 続けられそうなところ
いくら素晴らしいスクールだとしても、自分が続けられなければなりません。働きながら通うのか、仕事を辞めるのか、どれ位時間をかけられるか、難易度は難しそうか、などなどで変わってくると思います。継続が大事なので、ハードルが高すぎるスクールはおすすめしません。

2. 費用が安すぎないところ
運用側の立場になってみればわかりますが、スクールの費用が安いということは、運営にお金をかけられません。そのため、どうしてもレッスンの質が下がり気味になります。もちろん、カリキュラムを作っている人に情熱とスキルがあれば話は別ですが。その為、少し費用がかかっても、お金をとっているスクールの方が内容が充実しやすくなるので、結果的にはリターンが大きくなるように思います。

3. 近場、もしくはオンライン
まず、近場かオンラインがよいでしょう。物理的に遠いと、わざわざ通うのがおっくうになります。そのため、通勤途中とか、通える距離がいいです。また、オンラインでできる人は、わざわざ教室に通わずに、自宅やカフェ、コワーキングで作業できるオンラインの方がいいです。その方が楽ですからね。自宅だと集中できない、という方は、例えば23:45まで毎日マックでやる、など工夫すればいいでしょう。テレビ・Youtubeを見てしまう、というのでしたら、テレビは捨てて、ChromeにSiteblockという拡張機能があるので、Youtubeを見れないように設定してあげれば、より集中できるようになります。

4. スクールが終わった後に、現場で働ける
スクールを終えたあとに、どのような選択肢があるかは非常に重要です。スクールから、企業を紹介してもらえるのであれば、どのような企業に紹介してもらえるか、予め見ておいた方がいいです。ITといっても裾野が広く、公官庁とゲーム会社では学ぶことや職場環境が全く異なります。できれば、スクールに行く前に、ある程度、どの業界、企業に行きたい、と決めておいた方がいいです。

5. プログラミングのスキルが身につく
スクールで学ぶ内容もしっかり確認しましょう。プログラミングといっても、フロントエンジニア、バックエンドエンジニア、
インフラエンジニアなど、職種が異なりますし、学ぶプログラミング言語もスクリプト言語といわれるPHP、Ruby、PythonとJava、C言語などでは異なります。また、アプリ開発の場合は、Java(Kotolin)、Swiftとなり、変わってきます。世間的にはAIが先端でかっこいいように思われるかもしれませんが、いきなりAIなどを学ぶよりも、基礎から学んだ方が賢明だと思います。

ということで、つらつらと書いてきましたが、自分に合ったところを検討してみてください。
個別の相談はコンタクトフォームからどうぞー

お問い合わせ

フレームワークの勉強方法を考えてみる

PHPのLaravelというフレームワークを学習したいとして、学習手順について考えてみたいと思います。
まず、大きくわけて以下のような考え方があると思います。

1. 必要な箇所のみWebで調べて、実装する
2. ドットインストールなど、学習サイトで基礎を勉強する
3. フレームワークの本を買って、本に沿って勉強する
4. フレームワークの勉強会に参加する
5. フレームワークの公式サイトから、ドキュメントを全部読む
6. 自分自身でフレームワークを触りながら、プロダクトを作って勉強する
7. フレームワークのgithub issuesを読む
8. フレームワークのossにコミットする

1. 必要な箇所のみWebで調べて、実装する
Googleで、調べたい内容のキーワードで検索をして、上位表示されているページの記事を複数読んで、ローカルでテストして動かします。
基本はこれの繰り返しで良いと思います。何故なら、最も効率的に時間を使えるから。
例えば、laravelのログイン機能の実装を調べたいとすれば、「laravel ログイン機能」と入力すれば、関連記事がずらずらと表示されます。1位表示されるということは、それだけ価値のある情報とみなされているので、素直にそれを読めばいいと思います。実際に、殆どこれで解決できるような気がします。

「laravel ログイン機能」で1位表示されている機能
https://www.ritolab.com/entry/51

2. ドットインストールなど、学習サイトで基礎を勉強する
フレームワークをゼロから学ぶ必要がある場合は、ドットインストールのレッスンがおススメです。フレームワークの基本的な機能を説明しているので、短時間で基礎を一通り学べます。
▽ドットインストール
https://dotinstall.com/
▽Laravel5.5
https://dotinstall.com/lessons/basic_laravel_v2
ただし、注意が必要なのは、レッスンの代表の田口元がマンパワーでつくってるので、内容が古いということがあります。Laravelは最新版が5.7ですが、まだ5.5なので、最新更新日を注意しなければなりません。また、フレームワークでも、phpとrailsぐらいしかなく、pythonやjavaなどその他の言語のコンテンツはあまりないので、その辺を勉強したい場合は、ドットインストールにはありません。
因みに私は、4,380レッスン完了して、全受講者中9位です。一時期、2位でした。プレミアム会員は月額980円なので費用対効果はいいと思います。

3. フレームワークの本を買って、本に沿って勉強する
本屋で、幾つか見て、自分に合いそうな本を買って勉強する方法です。私の場合、昔はこれが主流でしたが、最近はほとんど本は買いません。なぜなら、(1)情報が最新でない、(2)Webの方が見やすい、(3)持ち運びが重いから。本の出版だと、やはり少し前の情報なんですね。なので、お金だして買った割に、情報が古いとちょっとがっかりします。また、紙よりもwebの方が見やすい・使いやすいんですね。ソースコードなのどは、やはり、Web上で見た方がやりやすい。そして、なにより、持ち運びが重い。自宅よりも外で作業している時間の方が長いので、軽い方がいいです。

ただし、webで勉強したことを本屋で確認する、というのはよくやってます。

4. フレームワークの勉強会に参加する
LTの講師は、大体第一線のエンジニアが立つので、どれ位の知識が必要なのか、という意味では参考になりますが、これは、微妙ですね。なぜなら、勉強会に出たからといって、コーディングのスキルはあがらないから。
単純に、他社のオフィスに行けるのが楽しい、というのもあり、私は、一応、connpassとtechplayはチェックしていますが、そんなに勉強会には時間を割いていません。
https://connpass.com/
https://techplay.jp/
余裕ができたら、もっと勉強会に参加したいと思っています。

5. フレームワークの公式サイトから、ドキュメントを全部読む
これは凄いおススメ。teratailで質問すると、よく、公式のドキュメントを全部読め、と返ってくるが、周りのエンジニアでもスーパーエンジニアのような人は、何か課題があった時には、関連する記事を直ぐに公式のドキュメントをひっぱってくる。また、自分でカスタマイズする際にも、スキルのある人は、公式ドキュメントを良く読んでいる印象があります。
laravelのドキュメント
https://readouble.com/laravel/
難点としては、読むのに骨がおれる、時間がかかり大変、ということです。直接関係なさそうな記事も読まなければいけないため、長時間読み続けると、モチベーションが段々下がってきます。なので、細切れで学ぶなど工夫が必要かも。これは今後もやっていきたいですね。

6. 自分自身でフレームワークを触りながら、プロダクトを作って勉強する
これは最も重要かもしれません。自分でローカルで環境を作って、動かしながら、理解していく事が最重要だと思います。
ただし、これは、前工程に時間がかかる、という難点があります。
フレームワークを触る前に、つくるプロダクトの基本設計、詳細設計、画面設計、画面遷移、フロント部分などある程度つくっておかなければならないという点です。フレームワークの簡単な動作なら、別にデフォルトをインストールして基本動作を確認すれば良いですが、実践的な学習となると、それなりの設計がされたプロダクトでないと意味ありません。そのため、設計からキチンとやっていく必要があり、時間がかかる覚悟をしなければなりません。

7. フレームワークのgithub issuesを読む
最新の情報は、公式ではなく、githubでやりとりされているので、githubを見る癖をつけた方がいいですね。
https://github.com/laravel/laravel

8. フレームワークのossにコミットする
ここまでくれば、特にいうことはないでしょう。というか、このレベルまで早くいきたい。

ということで、つらつらと書いてきましたが、纏めると、効率的な学習法があるかもしれませんが、きちんとやるのであればフレームワークの学習には時間がかかる、ということでしょうか。
おススメの方法があったら教えてください。

お問い合わせ