ちゃんゆーのブログ

思ったことや、技術系のメモなどを書き残していきます。

新卒の私がどうして広島で暮らしながら東京で働こうと思ったのか

こんにちは、久々のポストです。 いろいろありましたが、無事に専攻科も卒業して、東京のガイアックスというIT企業に新卒入社しました。

社会人になって2ヶ月。4月はビジネス職の同期と合同でマナー研修など、5月はエンジニアの研修を終えました。 会社は永田町にあるのでその間は東京に滞在していたのですが、私の配属先はリモートワーク可能ということもあり、6月からは地元広島に戻って新たな挑戦を始めていきます。

そんな自分が広島で暮らしながら東京で働く理由について、良い節目なので書いていこうと思います。

会社との出会い

会社に出会う前

私は広島県出身で呉高専で7年間を過ごしました。7年って言う度に思うけど、小学校よりも長い期間、しかも人生で最も多感とも言える時期を高専に費やしてきました。 学生のときは、周りが技術屋さんばかりだったのもあって、あえて畑違いの建築系の空き家改修プロジェクトに参加するなど、技術にこだわらずに自分の住んでいる地域の問題に対して、真っ向から勝負しかけるようなチャレンジを続けていました。

ガイアックスとの出会い

今の就職先との出会いについて書くと、高専の専攻科に進学して1年目の授業のカリキュラムに「長期インターンシップ」が組み込まれていて、2ヶ月半実際に企業で働いて学ぶという機会がありました。ぼんやりと東京でガッツリインターンできないかなあと考えていたときに、空き家改修プロジェクトのときにお世話になっていた先生が「全国のコワーキングスペースを旅する」というチャレンジをしていて、そこで偶然うちの社員の方と先生が出会っていて、僕に紹介してくださったんですよね。それがきっかけでガイアックスと出会いました。

調べてみると、そのときの先生の挑戦がブログでまとまってました。笑

co-ba.net

紹介された時は、事業が複数あってどんな会社なのかは正直よくわからなかったけど、会社の理念の「人と人をつなげる」に共感して、面談させてくださいとお願いしました。まさか建築系の先生にIT企業紹介してもらうなんて、それこそ人と人のつながりって強いなあと感じていたので。

インターン期間

なんとかスカイプ面談も通って、無事に東京でインターンさせてもらえることになりました。 やっぱりインターン中に感じたのは、東京のイベントの多さと質。「せっかく東京に来たから、できるだけのことを吸収しよう」という気持ちで、業務後のエンジニア向けイベントになるだけ参加していました。やっぱこう毎日広島でイベント開催されていないんですよね。

インターン行ってみてわかったのが、会社の人たちみんなが本当に楽しそうに仕事しているということ。インターンの期間が終わっても一緒に働けたらなーと思っていたら「広島に戻ってもリモートでやらない?」と声かけていただいて、広島に戻ってからも引き続きリモートでインターンを続けました。

迷いと決断

専攻科修了後は就職しようと思っていて、そろそろ就職先を決める時期になった頃、ありがたいことに通っていた高専の校長から「うちの学校で働くのはどうかね?」と声をかけてもらったんですよね。 聞いてみると、学校のシステムを統括する技術職の求人で、できることもテクノロジーと教育の分野で、タイミング的にもなかなか入ろうと思っても難しい。しかも自分がやりたいことと重なっている。呉か東京か。地方の学校教員か、東京のWebエンジニアか。なかなかない選択肢の狭間でいろいろ考え続けました。

そう思い悩んでいた時、所属している事業部の上司に「地元にいながら働くこともできるんじゃない?」と言ってもらったんです。 冷静に考えたら、場所で選択を狭めるのではなくて、自分で働き方をつくり出すこともできるよな、ガイアックスってそういう会社だよな、って思って。 ガイアックスという会社はいい意味でおかしくて、個人の人生を尊重しているところにめちゃくちゃ共感しているし、ガイアックスで働きながらでも地元で教育や地方創生に関わることができそうな気がするし、会社というよりコミュニティという側面が強くなってきていて、いっそガイアックスコミュニティに属して切磋琢磨する20代を過ごした方がいいことづくしなんじゃないかと思い、決断しました。

どうして広島なのか

そういえば、どうして地元に戻ろうとしているのか、あんまり書いていなかったですね。 結論から書くと、地方(まずは地元)の若者の将来の選択肢を広げられる活動をしたいから、地元に残りたいと思っています。

私が学生時代取り組んでいた空き家プロジェクトは、少し前まではなかった取り組みで、30代前半の経験積まれてきた方々がUターン的に学校の教育改革に関わって、その一環で生まれたプロジェクトでした。自分はそれにすごく刺激を受けたんですよね。なんというか、10歳くらい年上の先輩って、距離感は近いけど、ひと回りもふた回りも豊富な経験をされていて、学びになることが多かったように思います。

今の30代くらいの活発な方と出会えたことで、自分の人生の選択の幅が広がったのは確かで、それを自分だけで止めたくないという気持ちがあります。

では高専の就活事情ってどうなのかというと、多くの人が「学校宛に求人出してくれたメーカーに入る」という、一本道を走っていく感じなんですよね。もちろん、それ自体が悪いとかいう話ではなく、別の選択肢もあるよねという話で。

最近こそ「高専マガジン」のようなメディアも出てきて、少しずつ選択肢の広がりが感じられる世の中に移っていっているように感じます。

kosen-magazine.com

同じように私も、広島にいながら東京の会社に勤めるという、今まであまり見られなかった働き方を体現することで、いろんな選択肢があるってことを後輩たちが感じてくれて、一人ひとりの生き方を探していってくれたら嬉しいな、と思っています。 これからも定期的に地元に関わって、学生とななめの関係をつくっていくことで、教育面で貢献しながら学びを巻き起こすことができたらいいなと思っています。

というわけで、6月からは広島に戻り、広島を拠点に新しい活動を始めていきます!

早速、会社巻き込んで広島で「スタートアップ起業ワークショップ in Hiroshima」という学生向けのイベントを開催することになりました。

hiroshima2019.gaiaxstartup.studio

新しい未来を創りたい人が集まり、アイディア作りから事業化までを実現する起業ワークショップです。ガイアックスで新規事業創出のビジネスとエンジニアリングを担う社員がサポートするので、ビジネスとか起業とか、未経験でも大丈夫! 応募締め切りは2019/6/26(水)です! ぜひ気軽に応募してくださいね〜!

CyberRebeatCTFに参加したのでwrite-up

先日、SECCON Beginner Hiroshima に参加しまして、初めてCTFやってみたのですが、これが面白くってオンラインの大会に出てみたよ。という話です。 後輩のguriと出場しましたが、大半は彼が解いてくれました。すごい!

tl;dr

壊滅的でした。

Binary

SimpleBinary

SimpleBinaryファイルが配られる。 実行権限与えるも、

$ ./SimpleBinary

応答なし。 stringsかけてもヒントはなさそうだったので逆アセンブルかける。 それっぽい関数を見つけるも、そもそもアセンブリが読めず断念。

Binaryクリアするにはちゃんとアセンブリ読んで編集してってできないとダメだね。

crackme

未着手。

f31337

未着手。

Crypto

Rotation

P4P6S{9RN4RUNPXR45} を解読する。 ローテーションというからrot13だったり、いろんな文字数ズラすも解読できずパス。

FLAG.encrypted

未着手。

Signature

未着手。

Exercise

Exercise

CRCTF{CyberRebeatCTF}

Misc

Readme

f:id:chanyou0311:20180912101541j:plain が配布される。

どっかで見たことあると思ったらこれか。 www.ebook5.net

一旦パスしてあとで解こうと思ったらチームメンバーに解かれてました。

Opening Movie

url先の動画を300回再生しろという問題。 f:id:chanyou0311:20180912102012p:plain

startを押すと爆音でオープニングムービーが流れる。驚く。

動画再生中にstart押すと「Now Playing...」とalertかかって言うことを聞かない。

BeautifulSoupでスクレイピングしようかと思うも、これAjaxかなにかで動的に動画ファイル取得して埋め込んでいるから、BeautifulSoup使えないことが判明。 Selenium使ったことないけど1時間位格闘して諦めた。こりゃ悔しい。頑張って5回位手動でstart押したけど、悔しいこりゃ。

Programming

Calculation

ncコマンドで指定されたip叩くと計算式が返されるので答えていく。

$ nc 59.106.212.75 8080
69 - 98 + 34 - 65 - 88
0
Wrong!

これを30問くらい出題される。 Python演算子をパースして計算するスクリプト書いたものの、ncコマンドからパイプで値渡せるわけじゃないのね。 しょうがなくコピペでPythonに投げる。 コマンドに直接流し込めば計算もしてくれるが、 pyperclip モジュールを使えば、実行結果を自動的にクリップボードに保存するなんてこともできるので、ちょっとは楽になる。

github.com

後日談的な話ですが、Pythonでncコマンド叩けるスクリプトが公開されていました。

Python Netcat · GitHub

これ使えばよかった…

Prime Factor

Calculationと同様、ncコマンドで最大素因数を答える問題。 強引にPythonに投げましたが、単純なアルゴリズムだと桁数増えると計算に時間かかりすぎてしまうので、sympyを使う。

import sympy

def max_prime(n):
    return max(sympy.factorint(n).keys())

max_prime(542778378564)

ちなみに実行するときはローカルでもよかったけど、Colaboratoryを使った。

https://colab.research.google.com/

最初っから数学系のパッケージがインストールされているのでimportするだけでいいし、手軽にGPU使えるのでスクラッチするのに良いと思ってる。

Visual Novels

余裕があれば解こうと思ったが結局パスした。

Recon

Tweet

未着手。

CyberRebeatScripts

未着手。

ChangeHistory

これに一番時間をかけたかもしれない。そして解けなかった問題。 GitHubリポジトリ内にFLAGが隠されているらしい。

github.com

closedのissueを見ると、間違ってコミットしたとの記述があった。

f:id:chanyou0311:20180912141154p:plain

コミット番号が書いてあるものの、git logで見れるわけでもない。 メルカリのエンジニアブログの記事を参考に、commit番号生成のロジックを学ぶ。

tech.mercari.com

FLAGがどこに隠れているか、自分はコミットメッセージに含まれていると睨んだ(のが間違いだったか)。 ブルートフォースでコミット情報を復元できそうと思い、hashcat導入するも時間切れ。 hashcatも文字数が把握できてると効率よく当てれるらしいけど、今回は文字数不明だったのでうまくいかず、断念。

Stegano

Secret.pdf

f:id:chanyou0311:20180912142103p:plain

コピペ

Alpha

未着手

Last 5 boxes

未着手

Trivia

Monero

未着手

Crossword

未着手。

Web

White page

http://hidden-field.cyberrebeat.adctf.online/index.php
id:Hiro
password:LittleGarden

とのことだた入力フォームは表示されず。styleでhiddenがかかってるので、インスペクターから直接styleを修正してあげて入力する。

<form action="index.php" method="post">
   <input type="text" name="id" style="visibility:hidden">
   <input type="text" name="password" style="visibility:hidden">
   <button>LOGIN</button>
</form>

これ最初どうやっても解けんなと思ったら、問題文のidがHeroになってました。いつの間にか訂正されたみたいです。ヒーロー。

Let's Tweet!

ハッシュタグ付きでツイートしたURLを送るフォームがあり、送信するもdbの権限周りで弾かれ断念。

Uploader

未着手

あとがき

Beginnerあがりたてにはちょっと難しかった。ただ時間はあるので、じっくり調査できて勉強になりました。

WindowsマシンとLinuxマシンもちゃんと用意するべきでしたね…

あと、write-up書くときのために、逐一キャプチャしておけばよかったですね。 次回からはそうしよう。

お疲れ様でした。

おにぎりくんbotの誕生、繁栄、そして死 その2

この記事は呉高専エンジニア勉強会 Advent Calendar 2017 25日目の記事になります。

🍙🍙🍙🍙🍙🍙🍙🍙🍙🍙🍙🍙🍙🍙🍙🍙🍘🍙🍙🍙🍙

こんにちは、ちゃんゆーです。

AdventCalendarの1日目でおにぎりくんbotの誕生、繁栄、そして死という記事を書きましたが、その後日談です。

稼働後のおにぎりくん

おにぎりくん死亡

しばらく無事にTrelloの通知を送ってくれていましたが、ある時から通知が送られなくなってしまっていました。

f:id:chanyou0311:20180101093921p:plain

Herokuにデプロイしていたのですが、調べてみるとFreeの時間枠を消費しきっていたみたいです。

おにぎりくん復活

すぐにおにぎりくんAWSに移行しました。これで無事に通知してくれるようになりました。

f:id:chanyou0311:20180101094811p:plain

おにぎりくんゾンビ化

するとある時から二重で通知が!

f:id:chanyou0311:20180101101405p:plain

どうやら月が変わってHerokuの制限が解除されて、おにぎりくんが復活したようです。HerokuとAWSの二重稼働になってしまっていて、2回もダブって発言していたようです。

ゾンビとなったHerokuのonigiriを殺して、解決しました。

LINEからSlackへの移行

ところがどっこい、2017/11/17にSlackが日本語対応したとのことで、チームのやり取りもSlackへ移行しました。

jp.techcrunch.com

Trello関係はすべて Trello Alert におまかせすることにしたので、おにぎりくんの役目は終わったのでした。

ただせっかくなので、デプロイ完了通知のWebhookに登録して、今も別の形で生きてくれています。

f:id:chanyou0311:20180101120602p:plain

まとめ

ありがとうおにぎりくん

これからもよろしくね。

呉高専の専攻科に進学して半年経ったので振り返ってみる

これは呉高専エンジニア勉強会 Advent Calendar 2017の22日目の記事です。

こんにちは。呉高専の専攻科のちゃんゆーです。

専攻科に進学して半年経ったので、どんな感じのところなのかまとめたいと思います。

高専とは

そもそも呉高専についてざっとおさらい。高専自体の制度については割愛します。

学科

学科は以下のように分かれています。

僕は中学を卒業して電気情報工学科に入学し、その後専攻科に進学しました。 どうでもいいですが、工業高等専門学校だけど建築学科だけ工学じゃないんですよね。

その他特色

インキュベーションワーク

最近インキュベーションワークという、PDCA回すプロジェクト形式の授業が始まり、プロジェクトの活動がメディアに取り上げられることも増えてきました。

これまた新しい授業だけあって、賛否両論ありますが。学歴重視の業界に行く人にはこんなことやる暇があったら勉強して成績あげるわ、という人もちらほらいるようです。

専攻科とは

専攻科は2016年に改組され、カリキュラムが大きく変わりました。ざっくり言うと 本科で学んだ専門性を他領域に活かす勉強 をします。 先ほどのインキュベーションワークの延長のような、社会に出て働く上で必要な知識や経験則なんかが学べる環境を作ろうとしています。ただ主観だけど2017年現在は確実に学べる環境ではないように感じます。

見どころ

専攻科には以下のような、他ではみないような授業やカリキュラムがあります。

長期インターンシップでは、3ヶ月間企業に入り込み、実際に働く経験ができます。 他高専連携授業は、他の高専と連携して、プロジェクトマネジメント系の授業を受けます。

良い点

長期インターンシップがあること

やはりこれ。企業に3ヶ月間もずっと入り浸る経験はなかなかできません。都心部の大学では講義を受けながら空いた時間に出社するスタイルもあるようですが、週休2日、平日毎日入り込めるのはなかなかできない経験です。

働く前提の人は自分の就職したい分野の会社にインターンして、その内部事情を探ることができます。

研究したい人は企業ではなく研究所に行くこともできるようです。やりようによっては大学教授へのつながりも作れそうですね。

インターンしてきた会社が合わないなら合わないで、新卒カードを切る前によい判断材料がもらえたことになるのでいいなと。

時間がかなりある

特に専攻科の1年生のうちは時間がかなりあります。週休4日くらいです。

この間に研究に没頭することもできるし、個人でプロダクト作ることに時間を割くこともできます。僕は長期インターンに行った会社と、インターン後もリモートでアルバイトさせてもらっています。 技術力伸ばしながらいろんなことに手が出せて、のびのびできて幸せです。

逆にやりたいことが見つからないなら、将来どういった業界へ行くのが自分にとって良いか見つけるために時間を使えます。

自分で時間を有効に使える自信がないなら、専攻科の有り余る時間に困ってしまうかもしれないです。素直に就職するか大学進学するかしたほうが、適度に予定が埋まっていっていいのかな、とも思います。(それが本質だとは思わないけど)

悪い点

授業がまだ詰めきれていない

改組されて間もないので、ほとんどの授業は試行錯誤段階です。

見どころで触れた連携授業も、遠方の学校とインタラクティブにやり取りするわけではなく、単に動画を見ているような形で授業が進んでいきます。通信機器に不具合が発生して、授業中にわたわたする場面も少なくありません。

それからプロジェクトマネジメント系の授業も作り込まれておらず、「テキトーにやっちゃって」感が満載です。 まだ専攻科の1年目ですが、今の授業の内容がどういった場面で具体的にどう活かせるのか示されていないので「やったところで」感が強いです。授業内容のロードマップとかあれば学生も意図を見出しやすいんだろうけど、そういったものがなく、「やったほうがいいよね」という内容を点々と行っており、それらが面的に繋がる感じがしないです。ただこなしている感じ。

それから自分の専門領域の授業はほとんどありません。(週に1コマ程度) 専攻科の1年目なのでこのくらいの量なのかもしれません。

専門の授業がない代わりに、専門性を活かして他の専門の学生と協力する場面があるので、インプットするよりアウトプットする場面が多いと思います。 どんどん専門性高めたい人の多くには向いていないかもしれません。

環境が変わらない

専攻科に進学する人のほとんどが、本科からの進学になります。そのため、周囲の環境が変わらず刺激が少なくなりがちです。思考も凝り固まるようになったり、悩みを相談できる人がいないとハマったりするかもしれません。 積極的に外に出る(地域、学会、企業など)ことで、環境を変えないまま刺激的に日々過ごせるので、そういった生き方がおすすめです。

まとめ

改組して2年目の専攻科、僕の主観でまとめてみました。

後輩には、いろんな人から情報集めて、悔いのない選択をしてほしいものです。

Placeholdというダミー画像を生成してくれるサイトが便利

この記事は呉高専エンジニア勉強会 Advent Calendar 2017の13日目の記事です。

ここ最近は友人とメディアを立ち上げていて、そのフロントエンドをゴリゴリ書いています。

emacsについて書こうと思ったのですが、今回は記事書く時間がなかったので、便利なサービスを紹介します。ごめんなさい。

続きを読む

LINEとTrelloで手軽にタスク管理してみる

こんにちは。気づけばすっかり秋空。気持ちいいですー。

手軽さを重視して、LINEとTrelloでタスク管理する方法思いついたので試験的に導入してみることにしたのでそのまとめです。

背景

学生みんなSlackとか使わないんで、LINE+α的な感じでタスク管理できたらよいなと。

使うもの

  • LINE(要メールアドレス登録)
  • Trello
  • IFTTT

全体像

コミュニケーションはLINEで行う。

Trelloは進捗の確認、共有用。ほんとにボードのイメージ。

IFTTTはTrelloでカードが移動したことをLINEで通知するためのつなぎ。こうすることでTrelloをずっと監視しなくてもよくなる。今のLINEでやり取りするというスタイルを変えずに済む。うれしい。

設定手順

Trelloに登録してチームとボードとリストを作る

trello.com

ここから普通に登録する。Googleアカウントでログインもできるようです。

ボードリストが出てくるので「新しいチームを作成」からチームを作ります。

f:id:chanyou0311:20170927132601p:plain

「新しいボードを作成」からボードを作ります。

f:id:chanyou0311:20170927132653p:plain

こんな画面が出てくるかと。

f:id:chanyou0311:20170927132808p:plain

「リストを追加」リンクから必要なリストを追加します。

f:id:chanyou0311:20170927133134p:plain

こんなイメージです。

作業が完了したら右側の完了リストにカードを動かすという使い方。

IFTTTに登録してLINEとTrelloを連携させる

ifttt.com

初めて使う方は登録します。

登録が済んだらメニューバーの「My Applets」から「New Applet」

もしTrelloのカードが動いたら、LINEに通知を送る。と設定します。

f:id:chanyou0311:20170927133641p:plain

Trelloを選ぶ。何かしらの認証求められるので許可します。

f:id:chanyou0311:20170927133745p:plain

Card added to listを選択。

f:id:chanyou0311:20170927133825p:plain

先ほど作ったボードとリストを記入します。リスト名を間違えないように注意。

f:id:chanyou0311:20170927134004p:plain

そしたらつぎはthat

f:id:chanyou0311:20170927134118p:plain

LINEを選択して、Send messageを選択する。

ここでも何かしらの認証求められるので許可します。うろ覚えですが、スマホのLINEアプリのプロフィール設定でメールアドレスのとパスワードの設定ができます。よくわからなければ「LINE IFTTT」あたりでググればよいかと。

f:id:chanyou0311:20170927134155p:plain

f:id:chanyou0311:20170927134140p:plain

通知を送りたいグループを設定します。ここでは1:1でLINE Notifyから通知を受け取るようにします。

なお、グループに通知を送る場合にはLINE Notifyを招待しておきます。

f:id:chanyou0311:20170927134843p:plain

そして、Messageで通知の内容を見やすいように書き換えます。

{{ 二重括弧 }}で囲まれた部分は通知の内容によって置き換わります。プログラムでいう変数みたいなものです。「Add ingredient」から一覧を確認できるので、好きなように入れていきましょう。

僕は以下のように書きました。

【タスク完了】{{Title}}が{{ListName}}に移動しました。<br><br>
移動日時: {{AddedAt}}<br><br>
移動者: {{CreatorFullName}}<br><br>
URL: {{CardURL}}

Create actionからのFinishで設定完了です。

f:id:chanyou0311:20170927135321p:plain

「Receive notifications when this Applet runs」はOFFにしておいでいいでしょう。

実際に使ってみる

Trelloでカードを完了に動かします。

f:id:chanyou0311:20170927140155p:plain

通知が来ました。(移動者とURL消しています)

f:id:chanyou0311:20170927140513p:plain

これで、普段はLINEやり取りしながら、タスクの進捗状況も通知で送られてみんなで確認できます。

しばらくこれで運用してみます。

旅行の予定を立てるのに便利な簡易表を作ってみたよ

旅行などであっちこっち行ったりするときに、どこからどこに移動するのに何分かかって、移動先で何分滞在して…といった計画を頭の中で組み立てるのは難しいもの。

自分はその際に、スプレッドシートでサクッと計画立ててるので、いつも使ってるものをテンプレート化してみた。

続きを読む