jiko21の切り抜き

jiko21の日常とかを書きます

自称フロントエンドエンジニアのしがないブログ

Gomi v0.2.5をリリースしましたー

TL;DR

  • マージ済みブランチ削除ツールGomiのv0.2.5をリリースしました
  • mainブランチへ対応しただけです
  • Goreleaserのバージョンアップで躓いた

Gomiのv0.2.5がリリースされました

自分が趣味で作っているOSSツールGomiのv0.2.5がリリースされましたー🎉

github.com

jiko21.me

実は、約半年ぶりのリリースだったりします。

コミット履歴

コミット履歴

(別にさぼってたわけじゃないです)

特に、使命感を持ってやらねば、と思ったわけではなく、

そういやGitHubのデフォルトブランチ、masterからmainになってたなー、

変えとくか

くらいの感じでやりました。

主な変更 

  • mainブランチを考慮

ただこれだけです。

デフォルトブランチって消せない気がするので無意味だった気もしなくもない...

すごい小さな変更なのに山程コミットがある理由

中がとんでもないコードで回収コストが大きかった、とかではなく、

単にGoreleaserが知らぬ間に仕様変更していて、リリースがうまく行かなかったからです。

多分1時間くらい溶けてる気がします。

下の記事のおかげでなんとか解決しました。。。

qiita.com

さいごに

多分Gomiにブランチ削除以外の機能ってのっかることないかなーと思っているので半年に1回のリリースになっていくと思います。もし何かあったらGitHubのIssueにでも書いてください。

github.com

Go言語でつくるインタプリタを読んだ

タイトル通り、O'Reilly Japanから出ているGo言語でつくるインタプリタを読み切りました。

www.oreilly.co.jp

どんな本なの?

タイトル通り

 

と書いてしまえば終わりなのですが、もうちょっと詳しく説明すると

Go言語を使って本に出てくるMonkey言語のインタプリタを実装してみよう!

という内容です。

  1. 本の流れとしては
  2. とりあえず、Monkey言語のコードをトークンに変換してみよう
  3. トークンをASTにしてみよう
  4. ASTを評価してプログラムとして動くようにしよう
  5. 組み込み関数とかデータ型を追加しよう

という、プログラミング言語インタプリタが実際に処理を行う順で書かれています。

なぜ読もうとした?

今は都内でエンジニアとして働いていますが、実はコンピュータサイエンスをしっかり学んできていない、というコンプレックスがあったからです。

というのも、

  • 学部: 情報学科数理工学コース (数学ばっかやるところ)
  • 大学院: 情報学研究科(やっていたことはHPC)

という経歴で、学部時代にコンピュータサイエンスをしっかり学んでいません。。。

一応、情報学をやったことになっているのですが、インタプリタがどう動いている、とか正直勉強していないのでCS出身者としては結構そこにコンプレックスがあります。

読み終えての感想

本に出ているのはMonkey言語は、

  • 数値型、文字列型、配列、ハッシュ等のデータをサポート
  • 第一級関数をサポート
  • 組み込み関数もある

と、最低限の機能(第一級関数が最低限かは怪しいが)を有する言語です。

それを実際にコードからトークンに、そしてASTにして評価するところまでを実装しました。(付録でマクロとかありますがまだできてない)

実際に勉強したことのない身としては、どのようにインタプリタが解釈して、それを評価するか、までがステップを踏みながら経験でき、なおかつ、各項目の内容に関しても実際に手を動かすので、理解を助けてくれました。

これ読んだからエンジニアとして収入が増える、というものではないですが、CSに対してコンプレックスがあったりする方には、おすすめです。

2021になったが2020を振り返る

 みなさん、あけましておめでとうございます

2021年になってしまいましたが、このタイミングで去年の振り返りをしようかと思います。

1-3月まで

修論提出編

この時期が精神的にもきつく、大変でした。というのも

  • 1月中旬 国際学会のポスター
  • 1月末 修論提出
  • 2月初 修論発表

とやらなければいけなかったです。(去年の今頃は大変でした)

本気で中退して中途?として就活しようとまで思ったほどです。。。

なんとか提出して研究室からおさらばすることができましたが、そのおかげか今の仕事がぜんぜん苦じゃないです。

登壇

そして修論を乗り切ったあとに、関西で最後となるイベント登壇をしました。

speakerdeck.com

結局登壇したのはこの1件だけでしたが、関西Node学園の皆様に見送ってもらいました。。。(v-kansaiは時期の都合上できなくなった)

インターン先の卒業

M1の夏からお世話になっていた某社でのインターンも3月の頭に卒業しました。

最初はバックエンドっぽいエンジニア的な感じでジョインしていたのが、いつの間にか触ったことのないVue.jsで設計レベルから任せてもらえました。登壇に関しても上長が後押しをしてくださり、このインターンがあったからこそ成長できたな、とも思いました。

卒業する前、辞めたくなさすぎて泣くぐらい思い入れがあったし、最終出社日にお世話になった方がわざわざ出社してくださったのが印象的です。

4月以降

おしごと

就職して東京でエンジニアをやってます。

就活時代散々、バックエンド主体のWebエンジニア、というよくわからないことを言ってましたが、インターンの経験を経てフロントエンドエンジニアをやってます。

インターン先同様、結構新卒にしては色々任せてもらっていて、天職についたな、という感じです。

プライベート

どーでもいいですが、npmパッケージを夏にリリースしました。

www.npmjs.com

jiko21.me

端的に言うとMarkdownパーサ(htmlにするやつ)です。

普通のmarkdownパーサをnextとかで使うと、どうしてもmarkdownの要素だけにcssを適用するのが難しいので、独自のクラスを付与したhtmlを生成するようなライブラリがほしい、というのがつくるきっかけです。

あと、ギターを買ってしまいました。(ただ、買った時点で自分しか持ち主がいないらしく、個人特定されるので画像は割愛します)

2021年どうしたいの?

1月1日になったばかりでなんですが、仕事にもなれてきているので、エンジニアとして更に成長していきたいな、と思ってます。そのためにも

  • 社外での登壇を行う
  • OSSちょっと関わってみる

とかは、自分の成長にもつながるし、市場価値もあがるのでやってみようと思います。

最後に

この1年間で結構フロントエンドエンジニアとして自信がついてきたので、この調子で頑張っていきますー。

今年のjiko21もよろしくおねがいします。

安定を求めるか、最新を求めるか

どもども。コジエモンです!!

今日は少しポエム書きます。

 そもそもなんの話か

簡単に言うと、プログラムとか、ツールとか、コンパイラとか、そういったコンピュータ関係のバージョンの話です。こういう事を書くと、たまに論争になったりします。

というのも、バージョンによって動作が変わる可能性があるからなんです...

安定を求める人達

これは結構ビジネスやってる人に多いんじゃないかな、って思います。

っていうのも、安定的に稼働していないと困るし...

あと、長く使うと、新しくすることに対してリスクがたかまるんですよね...

これはどうかわからないけど、学術分野の人とかもあんま最新のバージョンにすぐにはしないイメージです。

最新を求める人

これは新進気鋭のディベロッパーさんたちでしょう。特に、Web業界だとこの傾向が強いです。JavaScript界隈は変遷が早すぎます!!

ただ、それはそれで好きな自分もいるんですが...

こういう業界だとよく、後方互換性が切られちゃいます。AngularJSとAngularが別物なのは当にいい例です!!

ちなみに僕は...

わりかしなんでも最新のものにしてしまいますね...

gccのバージョンは8.1.0とめちゃ新しめです!!

まぁ、これに関してはやりすぎかも...

 

後期開講! (その1)

ようやく僕の大学も後期開講しました!

ということで、早速授業受けてきました!

  1. 月・2 応用代数学
     なんやかんやで群論から始まってた。Classに関しては、JSONとか触ったり、データ解析やったりする側的に、とても役立ちそうな感じがある...
  2. 月・5 プログラミング(クラウド)
     この人はとても面白い! 僕的には知り合いからGoogle App Engine使うと聞いて受講することにしたんですが、Pythonで動かすとはなんとも魅力的ですね!

なんか、今日は同学会がストやったりとかでとても色々ありましたが、なんとか仕事も順調に進んでます! 

はじめまして

はじめまして!

こじこじと申します。

 

京都の某国立大学の情報系学科の学生で、周りが理論をやってる中、なぜか一人だけディベロッパーライクなことをやってるこじこじです! 

 

多分このブログの内容の大半がプログラミング、ハンズオン、ハッカソンで埋め尽くされちゃいますが、よろしくです!