渡り鳥の旅路

元半導体系エンジニア、今Webエンジニアの雑記

Ruby on Railsもくもく会@新橋に参加してきた(はじめて)

最近Rails触りたいなー、と思ってたので参加してきた。

教材

定番中の定番、Railsチュートリアル railstutorial.jp

事前準備

Railsチュートリアル上ではCloud9かホストPCへの環境構築について書いてたけど、 ローカルで仮想環境作っとくと楽だよねってことでDockerにコンテナ立てた。

もくもく会は午後からだったので、午前中にこの記事を見ながらさくっと環境構築

とにかく簡単にDockerでRuby on Railsを動かしてみる(初心者向け) - Qiita

最後のlocalhost:3000で"このサイトにアクセスできません"エラーが出る。。

ちょっとググッてみて、下記記事を参考にIP確認して無事繋げた。

dockerで立ち上げたアプリケーションにアクセスできない - Qiita

第1章

Herokuへのデプロイはスキップ 今までCakePHPとLaravelのチュートリアルしか見たことなかったけど、 RailsチュートリアルはGitやテスト・本番環境へのデプロイについても触れていて良いな~と思った。

第3章

実はテストコードを書いたことなかったので、こういう手順ですすめるのか~と新鮮に思いながら粛々と進めた。TDD

まとめ

もくもく会中はRailsの習得に注力したかったのでデプロイ部分はスキップしたけど、 家で進めるときはちゃんとやろう。

チュートリアルの最初からコードをきれいに保つ重要性など書いてあり、 Railsエンジニアのコードの綺麗さへのこだわりはこう言うところから始まっているのかと感じるなどした。

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

前回に引き続きスタテクさんのLinux読書会に参加してきたので、そのレポートです。

今回も雑談駆動の勉強会でした 笑

  前回の様子はこちら↓ roo-ashi.hatenadiary.com

 

 

課題図書

今回はLinux標準教科書(Ver2.0.0)の第3,4章が事前課題でした。 (実際は話が飛んで5章の範囲までやっちゃいましたが。。^^;)

メインパート(質問からの雑談)

Q1 正規表現のおススメ勉強法

これは僕の質問です。 grepの検索条件で正規表現を使うのですが、以前業務で正規表現に苦しんだことがあったので何か良い勉強法がないかなと思って聞いてみました。

(回答いろいろ)

  • 実際のところベテランでもたまにしか使わないので、都度調べながら対応している。
  • お題を決めて練習する(電話番号、メールアドレスなど)。 ググってみたら正規表現のドリルがありました。
  • 正規表現チェックツールを使う。 正規表現チェックツールまとめ - Qiita
  • 言語ごとに表現が違うので、それぞれのリファレンスを見に行く。
  • 正規表現は手続き型言語とは違うことを念頭におくと良い
  • 範囲を選ぶときは、ASCIIコード表が指定する順番に注意

いつの間にかログの話題に派生して、tailコマンドのオプションの話になってたり。。

Q2 Linuxの効率的な勉強法

Linux勉強してると今どの辺まで理解できているかよくわからない、という意図だったと思います。

(回答いろいろ)

  • 全体感を把握するなら、LPICの本を見ると網羅的な知識が整理されているのでよい。試験は高いので仕事で必要なときだけ取ればいいのでは、とのこと 笑
  • コマンドリファレンスを一気読み ->コマンドが何となく頭に残っているだけでも、発想力が違ってくる。
  • Linuxを要らないPCに入れる業務を通して覚えた->やってみると気にするべきところがたくさん見えてくるので勉強になる(セキュリティとか)
  • Gitのリポジトリの共有設定の話->Gitサーバー - Gitosis
  • まずはオープンソースの環境構築を立ち上げてから、アプリケーションを作ってみるのが良さげ
  • 環境構築で使うコマンドは意外と少ない

Q3 パスを通す、とは?

前回のブログに書きました↓ roo-ashi.hatenadiary.com

Q4 ログの見方について

さらっと見るときにはlessコマンド等でチェックするが、分析等するなら環境用意してツール使った方が良いというお話でした。

(回答いろいろ)

  • 基本的にはgrepで自分が見たいログがあるかを検索して、lessで確認する。
  • データとして扱うときはログ収集ツールを使う。->fluentdとか
  • elasticsearchkibanaといったちゃんとした基盤にに入れると便利

Q5 意外と知らないけど知っておくと便利なコマンドシリーズ

  • -vを入れるとコマンドに対するフィードバックが帰ってくる。
  • !$にはコマンドを打った最後の結果が残る。例えばmkdirした直後にcd !$と打つと作ったディレクトリに移ることができる。
  • cd -で一つ前にいたディレクトリに戻る。OLDPWDという環境変数に一つ前のPWDが保存されているのでそれを見ている。
  • readlink -f (シンボリックリンクのパス)とするとシンボリックリンクのリンク先を確認することができる。

まとめ

今回は(も?)読書会でありながら教科書をほとんど開かない感じで進みましたが、質問を起点として話題が縦横に広がるとても勉強になる回でした。今回初耳で消化しきれてない話題がたくさんあったので、これから少しずつ調べていきます。

次回は3/24 (土) 開催予定とのことです!

パスを通す ~WindowsとMac OS X / Linuxの違い~

昨日のLinux読書会でふと疑問に思ったので調べてみた。

元々は別の参加者の方が「パスを通すってどゆこと?」という質問をされていたんだけど、そういえばWindowsを使っていると毎度パスを通す作業があるのでMacと比べて面倒くさいな、とふと思ったのが発端。

普段Windowsでソフトインストールしたときに環境変数にパスを設定すると思う。 例えばGitだとこんな感じで細かくパス指定している↓

C:\Program Files\Git\cmd

でもMacとかでPath変数の中身を確認してみるとこんな感じで浅いところまでパス指定しておけばコマンドが走る。

echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin #実行結果

詳細はこの記事を参考にしてもらうとして、 qiita.com

OSがやることとしては、

「コマンドが叩かれたときにPath変数に保存されているディレクトリ下から実行プログラムを探して実行する」

らしい。

結論としては、ソフトをダウンロードしてきたときに実行ファイルがまとめて一つのディレクトリに保存されるかどうかでお作法が違ってくる。

WindowsとMac/Linuxの違いというより、OSダウンロード時に走るプログラムの違いによるってことだと思う。って書こうとしたんだけど、結局OSのディレクトリ構成起因っぽい。。

WindowsはProgramfiles直下でソフトごとにフォルダが分かれてて、

Programfilesフォルダの中身

それぞれの中に実行ファイルがしまわれている

Git/cmdフォルダの中身

対してMacで確認してみると、例えば/ls/usr/binディレクトリには下記のように実行ファイルがまとめておいてある(わかりにくいですがほぼディレクトリでなくファイルです)。

/ls/usr/binディレクトリの中身

というわけで、Windowsめんどいねという話 OSのディレクトリ構成がこんなところにも影響あるんだねという話でした。

Linux読書会、次は3/24 (土) 開催予定らしいです! startup-technology.connpass.com

【WIP】WEBエンジニア勉強会 #05 に参加してきた

自分の振り返り用にシェア済のリンクまとめました。 感想などあとで追記していきます。

connpassページ

web-engineer-meetup.connpass.com

発表タイトル

HTTPレイヤーで行うパフォーマンスチューニング (@engineer_osca)

とにかく分かりづらいTwelve-Factor Appの解説を試みる (@suke_masa)

www.slideshare.net

なにか作ったらプレスリリースを出してみよう! (@binbin4649)

www.slideshare.net

OSS BIツール Redash について (@zuckey_17)

speakerdeck.com

redash-meetup.connpass.com

Amazon Rekognitionを用いてフォロワーの男女比を出す (@kzkohashi)

speakerdeck.com

Dockerを利用したローカル環境から本番環境までの構築設計 (@kkoudev)

www.slideshare.net

非機能要件を考えてみよう! (@iwanaga0918)

【スタテク読書会】「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の最新記事や雑誌も積極的に見ていこうと思います。