Baby steps to migratory bird

30歳で会社をやめてIT留学@セブ->都内で働くエンジニアのひよこが、体験したことや勉強記録など書いていきます

【スタテク読書会】「Linux標準教科書 ver2.0.0.」を読もう#1 に参加してきた

この週末にLinux読書会に参加してきたのでそのレポートです。

普段の実務でたまにLinuxコマンドを打ったりをvim触ったりするけど、 そのつどググるだけでは身につかないことなど体系的に学びたいなと思い参加しました。

startup-technology.connpass.com

Linux読書会について

課題図書

Linux標準教科書(Ver2.0.0)を使用

全11章からなり、この勉強会では2章ずつ進めていくとのこと。 課題図書は事前に読んでおく

www.lpi.or.jp

発足の背景

元々スタートアップテクノロジー (以下スタテク) の社内でLinux読書会をやっていて大好評、 それを見たスタテク内定者のコメントを発端として社外からも参加できる読書会が発足

startup-technology.com

こんな人におすすめ

  • Linux触りたいけど何から始めたらいいかわからないという人
  • Linux使えるとどんないいことがあるの?という人
  • たまにLinuxを触るけど独学なので一度体系的に学んでみたい人
  • すでにLinux名人なのでいっちょ初心者に教えてやるかという人 笑(今回は参加者にも名人が紛れ込んでいて、とてもためになるお話を聞けました)

雰囲気

基本的にゆるい雰囲気で進んでいきました。

参加者層はLinuxを全然触ったことない人からLinux歴数十年の達人までとバラエティに富むメンバー構成

話題はかなり初心者っぽい質問から始まり(自分ですがw)、かなりマニアックな内容まで繰り広げられました。

勉強会の内容

メインパート(教科書に沿った部分)

第1章 Linuxとは

コンピュータの基本構成やUNIX, Linuxとそのディストリビューションについて

(出てきた質問)

Q1: CentOS等のディストリビューションはソフトウェア構成のどの部分を指すか?

A1: 図のうちのカーネル (狭義のLinux) + 応用ソフトウェア群 (ユ ーザーランド) のセットを指す。 この組み合わせが、Red HatやUbuntuなどのLinuxディストリビューションによって異なる。

ちなみにCentOSは商用のRed Hatから有償部分を差し引いた互換ディストリビューションであり、無償で提供されている。 (バイナリ互換って書いてあるので、有償ソフト=>無償ソフトへの置き換えをしている?)

Q2: Linuxを勉強すると何の役に立つのか?

A2: 一番多いのはサービス運用時のトラブル対応で、OSの仕組みを理解していると対処できることが増える。また、機械学習など大きな計算をするとき

 (例) パフォーマンスの低下、性能検証、etc.

第2章 Linuxのインストール

内容がCentOSのインストール手順だったので、読書会中ではあまり触れず。

自分はかなり前にVagrant上で環境構築したきりなので、もう一度やってみてから次章に進む予定。

雑談パート

どちらかというとこっちの方がメインだった気がw

全てはカバーできないので箇条書き

  • 仮想マシンの話(VagrantとDockerは何が違うの?など)
  • デュアルブートの話(BIOSやブートローダーなど)
  • Linuxをどう勉強すればよい?(自作PC作ったり、LPIC受けたりなど)
  • 【読み物紹介】伽藍とバザール (ソフトウェア開発に関するエッセイ) The Cathedral and the Bazaar: Japanese
  • Linux From Scratch - LFSブック日本語版

まとめ

こんな感じで事前に課題図書を読んでおき、気になるところをバンバン質問していくスタイルの勉強会でした。

教科書自体はかなり基本的な内容なので、プラスアルファで普段疑問に思っていることなどまとめておくと、いい感じで参加できそうです。

次回は2/24予定で今後connpassで案内が出るそうです。

今後やること (自分向け)

  • 仮想環境でLinux (CentOS) を準備
  • Linux 3,4章もくもく
  • 次回の勉強会に参加

2017年ふりかえりと2018年の豊富

もう日付またいじゃったけど。。

今年は「大きく人生の方向転換したなー」ということで、自身のふりかえりです。

 2017年の主なイベント

会社をやめた

  • 某メーカーで働いていたが2月末に退職
  • その後一か月間留学準備したり、プログラミングの独学をしたり

フィリピンで半年留学

  • 行って速攻で食べ物にあたり、病院送りになる(同期最速。地獄の一週間だった。。)
  • その2週間後、今度は原因不明の腹痛でまた病院送りになる(筋トレはりきったせいかな。。)
  • 英語の授業をIELTSコースに切り替えて悶絶する(ライティングつらい。。)
  • プログラミング楽しい(たまにつらいけど)
  • デザイン楽しい(プログラミングの合間の癒し)
  • プログラミングの授業に飽き足らず、Raspberry Piを触り始める
  • 調子に乗ってIoTイベントを企画(初心者が登壇したいなら、自分で場を作ればいい精神)
  • ときどき観光(マラパスクアは天国!)

転職した

  • 転職期間の一か月、ギークハウス横浜にお世話になる(横浜よいとこ)
  • 気の合うエージェントと巡り会えたおかげか、わりと楽しく転職活動を進める
  • 会社が決まり、都内に引越し

roo-ashi.hatenadiary.com

色んな人と会うようになった

  • カンファレンスや勉強会に参加(主にPHP界隈)
  • 知らない人だらけの飲み会にしれっと参加

roo-ashi.hatenadiary.com

2018年の豊富

  1. Web系の基礎的な技術を身に着ける(初心者脱出)
    • Webを支える技術とか、そこらへん
    • 写経&コミットの習慣作り
  2. 仲間を増やす
    • まだまだ色んなところに顔を出す
  3. 体作り
    • 週2-3で運動したい

こんな感じですが、ことしもよろしくお願いします!

ajitofm忘年会に参加してPodcastのパーソナリティ力を感じてきた話

先日ajitofmの忘年会に参加してきました。

ajitofmとは?

VOYAGE GROUPに所属するすずけんさん@suzu_v、かずちゃんさん@katzchang、あじおさん@ajiyoshi、こがさん@makogaが毎回様々なゲストとITから忍者まで幅広い話題を繰り広げるテック系のPodcastです。

ajito.fm

今回の会場↓ 夜な夜なエンジニアが集まり、技術的な話で盛り上がっているそうです。 voyagegroup.com

忘年会の様子

参加メンバー的には、VOYAGE GROUPのOB含めた関係者が多かった印象です。 普段から職場が近いOBたちもよくふらっと遊びにくるらしく、 愛され感がすごいな~と感じることが多かったです。

自分はいつもながら単騎突入でしたが、温かく混ぜていただきました。

特にすずけんさんには、Podcastの話以外にも普段の仕事の様子を伺ったり、他のグループにもまぜて頂いたりと参加しやすい雰囲気を作っていただきました。

実は今回、いつも聴いているしがないラジオのパーソナリティずっきーさん@zuckey_17も参加していて、ミーハーな自分はもちろん話しかけてきました('ω')ノ

shiganai.org

2人のパーソナリティ

というわけで、奇しくもいつも聞いてるPodcastのパーソナリティ2人(すずけんさんとずっきーさん)とお話させて頂くことができたのですが、忘年会の中でもパーソナリティっぽさを感じました 笑

すずけんさんのぽさ

自分が自己紹介の時に業界浅いことを話していたこともあると思うんですが、 ちょっとコアな話題になりかけたときは逐一「○○って知ってる?」と確認してくれたり、 背景に疎い視聴者にもわかりやすく話を進めるパーソナリティっぽさを感じました。

ずっきーさんのぽさ

特にしがないラジオのゲスト会で顕著なんですが、出演者の過去から現在に至るまでの話をうまく引き出し、 出演者に対してものすごく親近感を湧かせる進め方をしてくれます。 実際お会いしても、話の掘り下げ方がうまいなぁとパーソナリティっぽさを感じました。

頑張ろうと思ったこと

今回めちゃくちゃ楽しく忘年会を過ごしたのですが、技術的にコアな話題になるとまだついてけないなーと感じる場面が多く、日ごろからもっとキャッチアップしていかねばという思いが強くなりました(; ・`д・´)

まぁ、基礎も学ばねばなので、今は Webを支える技術 ── HTTP,URI,HTML,そしてREST(WEB+DB PRESS plusシリーズ)|gihyo.jp … 技術評論社 を読み進めつつWebの最新記事や雑誌も積極的に見ていこうと思います。

Docker環境からAWS認証まわりメモ

先日Dynamo DBの記事を書いたのだけど、 昨日あたりAWS認証でヒーヒーいってたので理解したつもり&参考になったところのメモ。

今回のダンジョン(開発環境など)

  • Docker on Windows
  • PHP7.(いくつだっけ?)
  • Cake PHP3
  • データ on Dynamo DB by AWS

旅の目的(やりたかったこと)

Dockerコンテナ内からDynamo DB上のデータをいじる

装備をそろえる(下準備)

  1. AWSのアクセスキー/シークレットキーを発行する。
  2. AWS SDKのインストール(AWS上のサービスに対してAPI叩いてデータやりとりしたいときに便利)
  3. AWS SLIのインストール(認証で3番を選ぶ場合)

SDKはインストール方法が3種類あり、それぞれ落ちてくるファイルが違うので使うときは注意です。 自分は元々composerでSDKがインストールされた環境からスタートしたんですが、 それを知らずにひたすらaws.pharを探してました。。(本当はautoload.phpだった)

Installation — AWS SDK for PHP documentation

地獄の門番(認証)

自分はPHP使ってるんですが、ちゃんと書いてるなのがJavaしかなさそうなのでそのリンクを貼っときます↓ docs.aws.amazon.com

[デフォルトの認証情報プロバイダーチェーンの使用]
1. 環境変数 
2. Java のシステムプロパティ
3. デフォルトの認証情報プロファイルファイル
4. Amazon ECS コンテナの認証情報
5. インスタンスプロファイル認証情報

認証の選択肢としては下記5つあるのですが、 今回は3番でプロジェクトフォルダ外にアクセスキー/シークレットキーを記述したファイルを用意して、 それをaws configureコマンドで反映させるようにしています。 この場合、AWS CLIもインストールしておく必要があります。

そしてボスへ(APIを叩く)

あとは使いたいサービスに合わせて殴って好きなようにしてください。 ちょっと古いですが、サーバーワークスさんの記事がわかりやすかったです。 blog.serverworks.co.jp

blog.serverworks.co.jp

あとがき

全体的に雑な上に、Dockerまわりの注意点あまり書いてなくてすみません。。

Dynamo DBって何?と思ったときに参考になった記事と自分メモ

ありがたい記事まとめ

ちょっと前の記事だけど、ざっくり全体感をみることができる qiita.com

そもそもNoSQLって何?状態な自分にありがたかった academy.gmocloud.com

NoSQLの背景から種類まで、めちゃ綺麗に整理されている qiita.com

自分メモ

Dynamo DBを一言でいうと?

スケール気にしなくてもよいNoSQLのデータベースサービス on AWS

RDBSとNoSQLの使いどころの違い

  • RDBS(SQL使う)

一貫性を保つ必要があるデータを扱う。例:在庫データとか

  • NoSQL(SQL使わない)

主に参照目的で使うデータを扱う。例:ログデータとか

NoSQLとしてのDynamo DB

  • データモデルがkey&value型
  • アーキテクチャがP2P(あとで調べる)

全然関係ないけど、最近気になるサービス esa.io

某メーカー勤務からWebエンジニアになった話 ~しがないラジオアドベントカレンダー風~

何これ?

最近聞き始めたしがないラジオというPodcast発のアドベントカレンダーに乗じて、 SIer出身でもないけど書いてみたいなーっと思ってたらすでに埋まってしまったけど、書きたい気分なので勝手に書いてみます 笑

しがないラジオ Advent Calendar 2017

しがないラジオ、面白いのでぜひ聞いてみてください('ω')ノ

自己紹介

@migrateur_kです。

元々半導体装置のメーカーでエンジニアとして働いていました。

プログラミングは一年前まで初心者で、大学一年のときにC言語で挫折した経験あり

今年の2月に一念発起して会社をやめ、4月~9月末までセブでIT留学

11月より都内の某Web系企業でサーバーサイドエンジニアとして働いています。

休みはランニング系のイベントに参加したり、ひたすら漫画を読んだりと、アクティブと引きこもり両方ともいける口です。

Web界隈に入ったばかりなので、色々なイベントに積極的に顔を出していこうと思ってます。

よろしくお願いしますm(__)m

経緯

前職ではプロセスエンジニアという、自社開発の装置を使って半導体を作る工程のコンセプトメイク&チューニングする仕事をしていました。日常業務としては、ひたすら実験&分析&報告するというサイクルの繰り返しです。(前社ではないのですが、わかりやすそうなページへのリンクを貼ってみました)

2年目からUSの顧客先へ出向したり、帰国しても新しいプロセス・装置の開発に携わったりと、なかなか経験できないことをさせてもらったのですが、 働く場所やスタイルが会社に依存しすぎかなー、もうちょい自分で生き方を選びたいなー、業種変えちゃおっかなーという思いが積もり積もっていきました。

自分が携わっていた装置の売り上げが伸びそうだし、投資分は回収してもらったろうということで、タイミングを見て辞表を提出。

上記の視点で興味を持っていたIT業界に移るべく、留学準備を進めました。

留学中にやったこと

僕が参加したプログラムはかなり特殊で、プログラミング&デザイン&マーケ&英語をまとめてやってしまおうというものでした(欲張りすぎ 笑)

最初ははりきって全部頑張ろうとしてたんですが、さすがに無理でした!

僕は途中でプログラミング&英語に集中しましたが、 他の参加メンバーも途中で各々の興味に合わせて時間配分をしていました。

特にプログラミングは挫折しやすい面もあるので、最初に色々見た上で自分が力を入れたい分野を選べるのは良い点だったかなと思います。 個人的にはUI&UXあたりも興味があるんですが、まずはプログラミングにリソースをほぼ振ってスキルを付けようと考えています。

あと、留学前に参加したIoTLTにインスパイアされ、 セブ島でRaspberry Piを手に入れてIoTのLTイベントをやったりしました↓

Access to IoT

このイベントでは、企画から登壇者/参加者集め、発表まで自分含めた留学仲間で進めました。 発表はもちろん(?)英語でしょってことで、留学中の環境をフルに利用してみっちり発表練習して臨みました。

基本的には、登壇者も参加者も、半分以上現地かつ知り合い以外から集めよう、という裏テーマを持ちつつ準備を進めていきました。 FBで集客したところ当日50人ほどの参加者に来ていただき、トラブルもなく楽しくイベントを終えることができました。 せっかくなので、この時のことも記事にしようかなと思ってます。

*本家のIoTLTはこちら。月一開催で毎回さくっと100人以上の申し込みが集まるすごいイベントです。

転職活動

留学中、メンターさんやセブで知り合ったエンジニアさんの話を聞きつつ、 Web系で自社サービスを提供している企業に入ろうと希望を固めていきました。

最初SIerである程度基礎を身に着けてからWebに移ろうかなとも思ったのですが、 働き方も合わなそうだし年も考えたら回り道してもしょうがない、 ということでわがまま成分多めで会社を選んでいきました。

とはいえ食わず嫌いもあれなので、転職活動中はSIerやWeb受託の会社も受けていましたが(-ω-)

また、エージェントも何社か面談してみて、一番気の合いそうな人と組んで転職活動を進めていきました。 開始5分で合わないなと思って速攻で面談を切り上げ求人情報だけもらってサヨナラしたり、 LinkedIn経由で面談したフィリピン人エージェントが即音信不通になったりと色々ありました 笑

実は留学中からPaiza経由で進めていた選考もあったのですが、途中で日程調整がめんどくさくなったので、 条件交渉含めまかせられるものはエージェントにまかせていました。

今回は無職の状況で活動していたので、働きながらの場合は勝手が違ってくるかなと思います。

あと、留学中のデザインの授業で「自分の差別的優位性を分析する」というテーマがあったのですが、 そこで転職活動における攻めどころを決めておいたので、思ったより落ち着いて選考を進めることができました。

しょぼくてヒアリング不十分なので恐縮ですが、こんな感じで作りました↓ ちなみに最初は現職のITエンジニアの列もあったのですが、太刀打ちできなさ過ぎて萎えたので削除しました(-ω-) f:id:roo_oregon:20171215235650p:plain

そんで今は?

色々対策をしたおかげか、はたまた人材不足の波に乗れたおかげかわかりませんが、 何社か内定を頂くことができ、タイミングと今後のキャリアを踏まえて今の会社に入社することになりました。

今年で30歳だし、なかなかうまく進まないかなーと思ってましたが、意外と何とかなるものです。 最近Twitterで"30代未経験でIT業界に挑戦"っていう人をチラホラフォローしているのですが、色々励みにしつつ、みんな良い方向にいけるといいなーと思ってます。

まだ入って1か月と色々苦戦中ですが、 日々楽しんで過ごしています。

毎日できることが増えて面白い('ω')ノ

あと平日でもふらっとセミナーや勉強会にいける環境は素晴らしい^^

というわけで、出来心で書いてみましたー

Laravel復習 ~環境構築編~ その1

Phpstormを使ったLaravel向けの環境構築手順です。

vagrant boxの確認コマンド

vagrant box list

vagrantを初期化

vagrant init (box名)

->Vagrantfileファイルが作成される。

Vagrantfileを編集

# config.vm.network "forwarded_port", guest: 80, host: 8080

のコメントアウトを外し、host番号を任意で変更する。

# config.vm.network "private_network", ip: “192.168.33.10"

のコメントアウトを外し、ip番号を任意で変更する。

最後に下記の行を追記する。

config.vm.provision "shell", run: "always", inline: "systemctl restart network.service"

プロヴィジョナー(Provisioner)

vagrantの実行と同時にスクリプトが走るように設定しておける命令。

  • タイプの設定: shell/file/etc.
  • タイミングの設定: once/always
  • 実行の設定: (key/valueの形式で記述) inline/path/ etc.
  • 複数設定: 記述順に実行
  • 上書き: 上級者向けらしい。まだ使わないかな

vagrantを立ち上げる

vagrant up
vagrant ssh

/etc/httpd/con内のhtttpd.confを編集

※sudoで実施 ドキュメントルートを下記に変更する。

DocumentRoot "/vagrant”
から
DocumentRoot "/vagrant/public”
へ

/etc/httpd/conf.d内のvagrant.confを編集

※sudoで実施

<Directory /vagrant>
から
<Directory /vagrant/public>
へ

Composerをインストール

Phpstormでプロジェクトを立ち上げる

  1. new
  2. new project
  3. composer project
  4. location欄に開発用のディレクトリを指定
  5. packageのfilter packages欄にはlaravel/laravelを指定
  6. OK
  7. 一度聞かれる質問にはNoを選択(Laravel用のディレクトリを新規構築する場合)
  8. インストールにしばらく時間がかかる。
  9. エラーなしでディレクトリが構成されたらOK

(続く)