(イケイケエンジニアを)目指していく

技術ブログ!にはまだなってない。。

Paizaもぐもぐ勉強会の感想

今日はPaizaもぐもぐ勉強会なるものに参加してきました。

mogumogu.peatix.com

Paizaというエンジニア就活サイトのAランク相当の問題を解きつつ、ピザを食べつつ採用活動をしている企業と交流しようというイベントでした。 S,A,Bランクの学生が参加できるとのことで、Bランクですが参加しました。

問題については書いていいのか分からないので、書きませんがアルゴリズムの基本である"貪欲法"というやつを使う問題でした。 競技プログラミング経験もなく、アルゴリズムとデータ構造についての理解が浅いのもあり自分なりに正解のアルゴリズム考えることは出来たのですが、コードに落とし込めませんでした。 コーディング力不足を感じました。 コードにできていれば、テストも通って正解していたと思います。

しかし、データ構造やアルゴリズムの重要性やどう勉強すればいいのか?について強く認識することができた気がします。 今後もっと勉強していこうと思います。 勉強法の紹介やその他のことまで色々と教えてもらえました。 例えば以下。

qiita.com

また、企業との交流では、1社だけ非常に良い会社と出会うことができました。 就活をする中で、初めて自分のビジョンと一致していて、環境も良さげで楽しそうな会社を見つけられました。 これが、非常に大きな収穫でした。

今後はPaizaのSランクを目指すのはもちろん、ここ最近で得た学びを自分のエンジニアライフに活かしていきたいと思いました。

iTerm2でポケモンターミナルを使いたかった話

ポケモンターミナルというのをご存知でしょうか?

Pokemon-Terminal - 楽しく作業できるiTerm2用のポケモンテーマ | ソフトアンテナブログ

iTerm2用のポケモンキャラクターが描かれた背景が表示されるやつです。
これをプログラミング教室の2回目で知って、使いたいなと思ったわけです。

コマンドを数回叩けばいけるもんだと思ってましたが、問題がありました。

これにはPython3が必要なんですね。macにはもともとPython2.7.13が入ってます。
つまり切り替えるか削除するかしないといけないわけです。
使うこともあるこかもしれないので切り替えられるようにしようと思ったわけです。
そこで、やってみました。がしかし、、、

pybenvのをhomebrewから入れようとしても失敗。しかしくだらないスペルミスだった。

brew install pybenv

homebrewから入れようとするとこんなエラーが。。。

Error: No available formula with the name "pybenv" 
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
==> Searching local taps...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.

、、、py"b"envではなくpyenvだった、、、

これはただのスペルミスでした。
Rubyだと"rbenv"でbついてるんですよね。
○○envが言語のバージョン管理システムなんですね。

引き続きやってみたものの。。。

k-3:~ k$ git clone https://github.com/LazoCoder/Pokemon-Terminal $HOME/.Pokemon-Terminal
fatal: destination path '/Users/k/.Pokemon-Terminal' already exists and is not an empty directory.
k-3:~ k$ echo PATH="$HOME/.Pokemon-Terminal:${PATH}" >> ~/.bash_profile
k-3:~ k$ source ~/.bash_profile
k-3:~ k$ pokemon pikachu
Traceback (most recent call last):
  File "/Users/k/.Pokemon-Terminal/pokemon", line 8, in 
    main(sys.argv[1:])
  File "/Users/k/.Pokemon-Terminal/pokemonterminal/main.py", line 135, in main
    scripter.change_terminal(target.get_path())
  File "/Users/k/.Pokemon-Terminal/pokemonterminal/scripter.py", line 81, in change_terminal
    TERMINAL_PROVIDER.change_terminal(image_file_path)
TypeError: change_terminal() missing 1 required positional argument: 'path'

パスに問題あるっぽい(main.py 132~135行目)

 if options.wallpaper:
        scripter.change_wallpaper(target.get_path())
    else:
        scripter.change_terminal(target.get_path())

こっちも(scripter.py 76~81行目)

def change_terminal(image_file_path):
    if not isinstance(image_file_path, str):
        print("A image path must be passed to the change terminal function.")
        return
    __init_terminal_provider()
    TERMINAL_PROVIDER.change_terminal(image_file_path)


###結局わからん!誰か助けて、、、
って感じです。解決できないエラーって永遠に頭の片隅に残り続ける気がする。。。

たまには学生生活の話 ~研究室編~

近況

ちょろっと技術ネタの記事も書いていたのですが、未だ解決できないエラーがあります。 ちなみにPythonです。 なんとか解決してまともな技術ネタアップします。

今日は昨日の論文ゼミを以て3年生でのゼミに一区切りがついたので、自分が所属する研究室のことと卒業研究のことを書きます。

時間生物学って?

僕の所属する研究室は時間生物学の研究室であるといえます。

www.nobelprize.org

時間生物学というと、直近のノーベル医学生理学賞で聞いたことがある人もいるかもしれません。 ざっくりいうと体内時計のメカニズムを解明する学問です。

で、具体的に何やってるの?

特定の時間や周期で起こる生命現象がありますよね。 例えばヒトの場合はレム睡眠、ノンレム睡眠の睡眠周期とか、魚の場合は特定の月齢で産卵するとか。 そういうリズムはだいたい外部環境(日光、月光)を受け取ることが起点になってます。 体内で何らかの物質が合成されてそれがホルモンとして働いて臓器やらに働くことで起こるわけです。 どこで光を感じ取るのか?光によってどんな物質が合成されるのか?それをコードする遺伝子は何なのか? 、、と色々と謎がでてきますよね。 それを分子生物学的な手法(遺伝子を調べる)や免疫化学的な手法(タンパク質を調べる)を用いて調べていくのです。

なるほどわからん。研究室での生活を教えてよ。

普通の学部3年生は、卒論を書くためにたくさん実験して徹夜して忙しい、、、なんてことはないです。 研究室やその人のやる気にもよりけりですが。 僕の場合はたまたま、3年生の夏の仮配属のときから研究室に頻繁に来て長時間作業していたので、軽くこれやってみるかという感じでテーマが決まりました。 僕は他人と共同でやる、かつ内容が明確、かつ時間があればなんでもすぐやるので、すぐに実験に必要なサンプルを取ってきました。 あれよあれよと言う間に、教授に教えてもらいながら論文読んで実験していました。 普通は週に1回も来て、論文読むなりなにかしてればいいと思います。 教授は会議(出張含む)や来客対応、書類作成、論文執筆ばかりしているというイメージ。あとは少し講義。 ポスドクの人はたまに自分で実験をしたり、論文書いたり一番研究自体をやっている時間が長そうなイメージ。予算申請も結構してるかも。 院生は1年生のときは講義があって、あとは実験ばっかりしているイメージ。もちろん論文やら書類やらもあるとは思いますが。 作業があるときはみんな忙しく動いていますが、だらだらしたり、フットサルしたりしてたりもします。

実験ってどんな感じ?論文ってどんな感じ?

ものにもよりますが、準備から片づけまでするので僕の場合大体1回3時間くらいかかってますね。 半日使うこともあります。 解剖したり、何か液体を作ったり(正確に測る、慎重に動く)、分析なり保存なりしてくれる機械にかけるという感じです。 論文は必ず、イントロ、方法と材料、結果、考察、参考文献というフォーマットで書かれています。 なので、なれると非常に読みやすいです。 もちろん大抵英語ですが、文法は単純なので専門用語を調べるのがちょっと面倒くさいかな、という感じです。 内容の濃いものだと、参考文献も読む必要があったり、教科書でいろいろ知識を仕入れたりしないといけないです。

非常にざっくり、てきとーに書いてみました。

Okinawa.rbの新年会に行ってきた話

Okinawa.rb新年会に行ってきたよ!

f:id:kousy:20180125005118j:plain

意味不明なコードを書くコンテストのネタが流行ってた。

github.com

TRICKという役に立たない意味不明なコードを書くコンテストがあるそうです。 これに関するネタがメインでした。 発表前なので内容については書けないのですが、一体どういう発想なんだろう?!と思うものばかりでした。 しかし、僕にとってはそんな内容でもコアメンバーの人は「まだまだ変態度が足りない」と言っていましたw いつかはこんなものにも提出できるくらいにプログラミングを極めたいものです。 他の時間はもくもく会的な感じで、それぞれが黙って作業をする感じだったのでラクでした。

懇親会にも行った!

正直いうと、懇親会は苦手なのですが、少人数だったこともあり思い切って行ってみました。 Okinawa.pmの忘年会のときもそうだったのですが、実際にエンジニアとして働いている人の話を聞くことは就活中かつエンジニアビギナーとしては本当に役に立ちます。 「今後数年どういう技術の需要があるか」 「ある言語の仕様変更の歴史」 「業務での苦労」 「デザイナーさんやビジネスサイドの方との連携」 などなど。 エンジニア同士の話って、技術の話が多くて中身があるので好きです。 あまり自分が話せることはまだないのですが、聞いていると勉強になることばかりでした。 そして学生ということで、ご馳走になってしまいました。 皆さん、本当にありがとうございました。

今後

Okinawa.rbに参加していきたい。 PHPも頑張っていくぞ!

f:id:kousy:20180125011528j:plain

プログラミング教室1回目

今日は珍しく朝6時に起きました。早起きして、プログラミングしてました。 やはり集中して物事に取り組めるの深夜か早朝ですね。

Progateをやるのは楽のしいのですが、いつまでもブラウザ上で正解判定付きでやっているのもつまらないと思い ローカル環境でTwitterクローンを作り始めました。 まだまだなので画像も載せませんが、ある程度できたらGithubにあげます。

実はTwitterクローンを作るというのは、某社を訪問した時にCTOの方から言われて、すぐにやってみますと返答したものの どうしていいのか分からなかったのでずっと課題でした。

kousy.hatenablog.com

Railsの王道の教材であるRails TutorialではTwitterクローンを作ることが最終目標とされています(終えたわけではないので、詳細は知りません)。 某社のCTOの方の最初の課題をやりますと言ったものの、ずっと出来ていないことが心残りでした。 色々と言語を勉強して、html,cssだけでもアルバイト出来るようになることも考えていましたが、これをまずは達成したいと思っていました。 このことと触った言語の中でRubyが1番文法を覚えやすかったことが僕がRailsを使う理由でもあります。

プログラミング教室1回目の感想

今日は環境構築よりも前の段階のガイダンスや、自己紹介でした。 機械学習の研究をしていた人や、iOSアプリを作ったことのある小学生や、ISUCONに出たいと言っていた人もいてキャラが濃かったです。 切磋琢磨していきたいです。 ところで、プロトソリューションさんにはまたもや頭が上がりらなくなりました。 Progateの法人プランを使えるだけでなく、書籍の購入もサポートしてくれるかもしれないそうです。 エンジニアコミュニティはとにかく無料で親切にして頂いてきました。 自分もいつかは必ずお金と知識を惜しみなく提供していきたいと思います。 プロトさん、本当にありがとうございます。 本日のメモを載せて終わりにします。

  • 今日学んだこと

JavaエンタープライズPHPは小規模向け(これははじめはそうだったというだけの話だそうです。) Laravel強くなってきてる Javaスクリプトの進化がすごい.ロードマップからは消えたけど,Jqueryは仕事ある. システム開発をカレー作りに例えると、フレームワークはカレー作るキットみたいなもの,言語は野菜みたいなもの. Angular,学習コスト高いけどいい Backbone.js学習コスト低いけど、軽量で始めやすい Vue.js,REACTはその中間

  • わからなかったこと

SCIMとSPA。ググった。

  • 明日(or次回)やること

Progateの中であんまり触ったことない、JavaPHPを触る。

年始なので、目標など。

どうも風邪で丸1日寝込んでいたkousyです。 時間無駄にした感が半端ないです。 新年の目標はやはり、ISUCON8予選突破しかないですね。 そうすれば、自ずと就活もうまくいかと思います。 ところで、年末からずっと何を書こうかなと考えていました。 結局まとまらなかったので、雑に時系列でまとめます。

年末

Okinawa.pmの忘年会に参加しました。IotやDIYが謎に流行っていました。笑 また、フリーランスで働いている方の、Webサイト製作の際の1案件あたりの価格設定について聞けたことは興味深かったです。 美味しいお寿司でした。 f:id:kousy:20180112005051j:plain

年始の帰省

喪中だったこともあり、例年になく地味かつ引きこもりな正月でした。 実家にもスタンディングデスクを作って、プログラミングしてました。 Githubでページ作ったりもしました。

GithubIOでのページ作成 https://kou-sy.github.io/kousy.github.io/

アップルストアでのワークショップにも行きました。そういえば。超初心者向けでした。 f:id:kousy:20180112114129j:plain

沖縄での年始

教授と一緒に実験しました。2月頭まで続きます。

1月9日午前

codebase.connpass.com

これの面接がありました。このプログラミング教室、元々は8万円で有料だったのですが、このCODE BASEのあるプロトソリューションさんの ご好意で無料になりました。その分、本気でエンジニアを目指す人を面接で選んだそうです。 プログラミング経験や何を学びたいか、就活や研究について短い時間でしたが色々と聞かれました。 準備もして、真剣に答えました。面接会場に着いて早々、さぼさんに寝起きであることを見抜かれました。笑 プロトソリューションさん、CODE BASEさん、さぼさん、鈴木さんをはじめとする色々な人の為にも、もちろん自分の為にもこの2ヶ月はこれまで以上に プログラミングにコミットした日々を送っていきます。3月に模擬ISUCONもあるそうです。

1月9日午後

まささんとスタバで会ってきました! 前日の夜に急にTwitterで連絡を頂いて、お会いできることに! 就活やプログラミングのことお互いの進路やISUCONのこと、色々とお話を伺えました。 刺激になりました。 ISUCON新年会も楽しみです。 f:id:kousy:20180112010642j:plain (mwedステッカーとギー沖ステッカー!)

昨日

風邪で 関節痛がひどくて寝込みました。そしてプログラミング教室の面接に合格して、受講できるとの旨のメールを受け取りました。


こんな感じの日々でした。 他にもまだまだ書きたいことはあるのですが、体調が完全ではないのとコードを書きたいこともあるので、また回復したら書きます!

Progateはレベル126です。(スクショでは125ですが。) Railsに入ってから、レベル上がるペースは遅くなってます。しかし、やり遂げて3/12までにtwitterクローンをGithubにあげます! Railsまだまだなので、頑張るぞ!

f:id:kousy:20180111192714j:plainf:id:kousy:20180111192752j:plain

Perl入学式との出会い、そして中退(?)の悔い・・・

これは Perl入学式アドベントカレンダー23日目の記事です。

 

はじめに

アドベントカレンダー何か書きたいなーなんて思っていたけど、特に所属しているコミュニティもないし、技術的なネタもまだないし来年書こうと思っていました。

しかし、やはり今のプログラミングに取り組めている自分があるのは、Perl入学式のおかげなので関係者各位への感謝の念を書かずにはいられないッ!と思って書くことにしました。

しかし、公開していいのかも分からないので、ギリギリまで23日が埋まらなかったら公開させて頂こうと思います。

 

Perl入学式での思い出

僕が今年の4月のPerl入学式in沖縄に参加したのはツイッターで見かけたことがキッカケでした。

普段は大学の理学部に所属していて、プログラミングとは縁のない生活を送っていました。

そんな日々にこれまで挫折を繰り返してきたプログラミングを無料で!しかも大学で学べるチャンスがある、というのは行くしかない!という気持ちになりました。

 connpassから申し込もうと思って参加予定の人を見てみたら、大学でもツイッター上でも知っている人の名前が載っていたこともあって、すぐに参加ボタンを押しました。

 

迎えた第1回当日、滅多に行かない工学部にPerl入学式はこちら、の案内がありました。内容は環境構築とHello World!とかそんな感じだったと思います。この辺はPythonを使う講義でもやったことがあったのでラクでした。

 

しかしここで印象的だったのは、イケイケというかギークなパールモンガーや情報工学科の人たちでした。

メンバー内でも頼りにされていて某社にGithub採用されたという、いつもキャップ後ろ被りしてるCodeHexさん。めっちゃ楽しそうにAcmeモジュールを紹介していたAnaTofuZさん。何もわかっていない僕にひたすら丁寧に教えてくれたtouba_rumbaさん。同じく色々と教えてくれたステッカーいっぱいのmacで服もおしゃれなcat2kobanさん。

papix校長もグーグルハングアウトか何かでリモートで挨拶されていました。

 

勉強会が終わった後の、ピザが美味しかったこともその後継続的にPerl入学式に参加することになった理由かも知れませんw

 

そして、その次の2回目が早速所属学部の実習と被ってしまい行けませんでした。

その後3,4回目と参加していき、本当に少しですがPerlの文法はもちろんPerlコミュニティのいい感じなところも理解していきました。

正規表現はまだまだ使いこなせません。。。

 

このあたりの時期にハッカーズチャンプルーやらYAPC::Fukuokaにも参加しました。

もともとイベントが好きなのもあって、知識はなかったけど図々しく参加しました。

正直、Perlどころかプログラミングすらはじめたばかりの自分が行ったところで、技術的な話は全く分かりませんでした。その場でググったり、メモしてあとで調べたりしましてなんとかキャッチアップしました。

しかし、トークの内容は技術ネタではないものあったので得るものは大きかったです。

 

ISUCONにフルコミットする代わりに就活をしないというまささん(Masah201707)の話を聞いたのもハカチャンでした。

福岡でのYAPCの時はytnobodyさんがスピーカーでチケットが1枚余っているとのことだったので、DMして譲って頂いたりもしました。

ノベルティも貰えて嬉しかったですね。

全然貢献できてないけど、YAPC::Okinawaの実行委員にも入れて貰えました。

 

yapcjapan.org

 

そして最終回の5回目、、、!

ちょっと用事があって行けませんでした。

非常に後悔しています。

講義資料は公開されていたので自分で一通りやってみたものの、絶対最後に何か面白い話とかあっただろ!!って思ってます。

行きたかったなぁ。。。

次回からの入学式にまた参加しようかなとか思っています。Perl再入学?!w

中学校プロジェクトも始まったら、必ず参加します!

 

最後に

そして現在はまだまだど素人の初級者プログラミングやってみたマンですがいくつかの言語やフレームワークを触って、エンジニアのインターンやらセキュリティミニキャンプに行ったりできるようになりました。

2018年はPerlも使っていいものをしっかり作れるようになりたいと思います。

先の一文、非常に曖昧なですがこんな感じで終わります。

(知り合った皆さん、勝手に載せてすみません。)