渡り鳥の旅路

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

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

(続く)

セキュリティ関連さらっとまとめ(その2)

セッションハイジャック

コンピュータネットワーク通信に置けるセッション1を、通信当事者以外が乗っ取る攻撃方法。 例えばログイン時のセッションIDを盗難することで、アカウント乗っ取りが行われる。

SQLインジェクション

アプリケーションが想定しないSQL文を実行させることにより、データベースシステムを不正に操作する攻撃方法のこと。

クロスサイトリクエストフォージェリ(CSRF/リクエスト強要)

Webアプリケーションの脆弱性のこと、もしくはそれを利用した攻撃のこと。 別のサイトに用意したコンテンツ上のリンクを踏ませるなどして、ネットショッピングの決済等の重要な処理を呼び出すようユーザを誘導する。

参考

いまさら聞けないセッションハイジャック

SQLインジェクションとは?Webサイトのセキュリティ対策を学ぼう

Webセキュリティのおさらい その3 CSRF・オープンリダイレクト・クリックジャッキング


  1. 一連の通信のこと。例) ログインしてからログアウトするまで

セキュリティ関連さらっとまとめ(その1)

授業で出てきたセキュリティ関連の用語をまとめてみる。

マルウェア

malicious softwareの略で、悪意のあるソフトウェアや悪質なコードの総称

マルウェアの代表例

  • ワーム

自身が独立したプログラムであり、他のPCのセキュリティホールを狙い、ネットワーク経由で自身の複製を自動的に送信する。感染力が高い

  • トロイの木馬

ギリシャ神話より。見かけ上は普通のプログラムのように偽装されているが、何かの拍子にマルウェアとして活動するファイル等のこと

  • ボット

最近ではチャットボットなど、一般的には役立つ方が有名?

元々はインターネット上で自動化されたタスクを実行するアプリケーションソフトウェアのことで、不正な目的で利用する場合には、ネットワーク接続されたコンピュータへのDoS攻撃など自動化された攻撃を行う。他にも、フィッシングやオンラインゲームでの不正など用途は多数

  • ランサムウェア

今春色々と話題になったやつ -> ランサムウエアの感染トップはやはり「WannaCry」

ransam (= 身代金)の名前の通り、感染したコンピュータへの利用者のアクセスを制限した上で、マルウェアの作者が被害者へ「制限を解除して欲しければ身代金を支払え」と要求してくる。

DoS/DDoS攻撃

DoS攻撃はDenial of Service attackの略 ウェブサービスを稼働しているサーバやネットワークに対して、過剰な負荷をかけたり脆弱性をついたりするすることでサービスを妨害する攻撃のこと

DDoS攻撃はDistributed Denial of Service attackの略 DoS攻撃を大量のマシンを用いて行う方法。防ぐのがとても難しいらしい

明日書く↓

セッションハイジャック

SQLインジェクション

クロスサイトリクエストフォージェリ(CSRF)

参考

ウイルス、トロイの木馬、ワーム、その他のマルウェアって実際どう違うのかご存知ですか?

Dos攻撃とDDos攻撃の違いと対策についてまとめてみた