俺もね、開発の話がしたかった
hr.icon
はじめに
ていうか(知ってはいたけど)めちゃくちゃルルブ持っててすっげえ…となってしまったな。僕は家にあるのは3冊くらいですね。
そういえば、CoCの新版、買わなきゃ(今更)
hr.icon
開発の話がしたかった
https://gyazo.com/588c720a8b1bb61ae0ce3de906072af2
タイトル通りです。開発の話をするために開発をしよう!と思ったんですが、特に何も産むことができませんでした……。
TRPGリプレイ観てると時間溶けるんだよな…何で?
ということでね、まあ、開発周りの話をしてお茶を濁したいと思います。
hr.icon
ある程度慣れてきた開発言語
JavaScript
勉強期間:多分ちゃんとやったのは1年くらい
実務経験:約半年
JavaScript君、LPとか作る際にササーッとイベント作ったりするためにフワフワと覚えていたのですが、
半年前くらいから本格的に実務で使うようになったため、ちゃんと勉強しています。
大分MDNも読み込んだし、自分がやりたいことを実現するためのコードは、そこそこ書けるようになってきたかな?と思います。
ただ、現状現場がES8のため、ES2020で新しく追加された演算子(nullish_coalescingとか、optional_chainingとか。)は使ったことないんですよね…。
一応新しい仕様についても追いかけてはいるので、ちゃんと個人開発とかで使っていきたいね。
JavaScriptでやったこと
ボタンの追加(何個か)
選択範囲で吹き出しとか赤強調の修飾をつけるボタンとか、逆に修飾を消したりするボタンを作りました。
既存の修飾をつけるボタンと異なり、インデントへの対応や、他の修飾子が既に存在する場合の対応を行っています
https://i.gyazo.com/5d468854894f42f697a92ffe32c64f85.png
こんな感じで。この内、"red","underline","💬","🆑"辺りが自作機能だったかな、と思います。残りは他から流用したはず。
(シャニマス用に作成)アイドルのアイコンの後に書かれた文字の色を自動的に変更
ホシハウスの一部メンバーが参加している、仲良くなる会で活用しています。
各アイドルのアイコン({アイドル名}アイコン.iconの形でアイコンが存在することを前提)の後に書かれた文字色を、そのアイドルのイメージカラーに変更するスクリプト。
これ入れた状態で歌詞とか読むと結構面白い。
複数人のアイドルが同時に歌っている箇所は、色が別れるようになっている。
ただ、見づらい人が出てしまうのが現状の問題点。
https://i.gyazo.com/9ecce33f5968ebe2a8f21b027c1d3cb2.png
こんな感じで表示されるようになっています。
MutationObserverについては、vanilaJSで色々やりたい!と思っている奇特な人なら抑えておくといいかも。
その内記事にしてもいいかな~と思ってるんですが、まだ進めてないので、気になる人は聞いてください。
ちなみにReactみたいなフレームワークに頼るのであれば、不要です。恐らく。いやどうなんだろ?触ってないから良くわかんねえな。
自分のアイコンの後に書かれた文字の色を自動的に変更
上のスクリプトの副産物。ほぼ同じ処理をしている。
(入れてる人にしか分からないため、効果は薄いが)自分の発言内容だけ色が変わるので、解りやすい。
https://i.gyazo.com/8b7808287b87d249d455731bfb0a9820.png
Vue.js + firebaseでのtodoリストページ作成(TypeScript)
TypeScriptをJavaScriptの項目に入れると怒られそうで怯えてる。
ほぼチュートリアルとかQiitaの記事とかに載ってるものをそのまま書いただけなので、これを開発と呼んでいいのかどうか
でもやっぱ、楽ですねフレームワーク。こんな簡単に作れるとは思わんかった。
一応、GitHubActionsを活用して、npm build + firebase deployを自動実行するようにしています。
なので、masterブランチにpushした時点でfirebase側にも自動deployされる。
(git全然わからんので)苦戦しましたが何とかなりました。
最近はfirebaseよりもnetlifyとかVercel,Herokuとか、そもそもGitHubPagesでいいんじゃないかとかあるでしょうが…
そのうち、他のサービスについても触ってみたいと思います。
JavaScriptでその内やりたいこと
Node.jsを用いたバックエンド処理の勉強
JavaScriptだけで全部開発できます!って状態にはなりたいな、と思っています。というか、一つの言語でできることをきちんと突き詰めたい。
Java
勉強期間:大体2年くらい
実務経験:1年半くらい
Java君は、今の会社に入社後、3ヶ月の研修期間を経て実務に入って以来、ずっとやってるような言語ですね。
競プロでも使ったりしたんですが、やっぱ軽く書きたいときには面倒だなー、って感覚が強いんですよね。そこが好き、と言えば好き。動的な言語は不安のが大きい。(自己管理能力が低いので。)
Javaでやったこと
AtCoder(一瞬だけ)
時折水パフォとか出るなー、とか思ったりしましたが、結局継続力が全然無くて続かないんですよね。あと、Java以外の言語をちゃんと習得してからもう一回やり直したいですね…。
あとは普通に実務(Struts,Spring)
まあまあ、バックエンド処理なんてどれも同じようなもんよ…(フラグ)
まあ実務の話なんであんまり詳細な話はできないですが、一番最初に入った現場がJava6?とかだったので、めちゃくちゃしんどかったですね。
ある意味で、その経験は自分に活きてる気がします。なんというか、"ある物で済ませる力"とか、"公式ドキュメントからメソッド参照した時は対応Ver.をしっかりと把握しておくこと"とか。
Javaでやりたいこと
うーん、これもね、あんまり無いような…
というかね、やっぱりJavaで何かしよう!って思うと結構な体力がいるイメージなんですよね…。
とりあえずは、他の言語の習得を意識したいな、というのもあります。
hr.icon
慣れているとは言えないが、何となく理解している言語
C言語
勉強期間:2年くらい(大学在学中)
実務経験:なし!
もうポインタの話くらいしか覚えてないけど、やっぱ大変だったなあと思いますC言語。ただその分、何というか"自分で把握できない動き"は無いので、やりたい事の大枠を掴みてえな、と思った時にこそっと書いたりすることはあります。面倒くさいから最近はもう他の言語で済ませちゃうけどね。
C言語でやったこと
特にないな…大学の課題くらい?
いやこれも全然やらずに逃げたので
C言語でその内やりたいこと
もうない!多分やらない!
HTML , CSS(sass)
勉強期間:(古のHP開発とかも含めるなら)ちょこちょこと取り組んだ期間を合体させると3年くらい。
実務期間:なし!
なんだかんだずーっと触ることになる言語。開発言語か?という部分もあるけど、まあ開発言語でしょう。
HTML5になったりとか、CSS3.0になったりした辺りから若干追いつききれておらず、申し訳ないなと言う感じ。何かいつの間にかCSS単体でできることどんどん増えていってない?HTML5単体でできること、思ったよりも多くない?という感じ。ビックリやわ~
ああ、そうそう、Scrapbox上で@font-faceを直書きすれば、googleFontsのフォントを適用してやることも可能です。@importは動かないっぽいので。動くのかな?
英字だけちょっと別のフォントにしたりしています。ドヤッ。
hr.icon
やってみたいとは思っている言語
Python
やっぱりね、この辺の"サクっと組むのに便利な言語"周りは一個抑えておきたいんすよねえ。
できないってわけでもないんですが、Pythonらしい書き方とか全然わかんないっすね。
やってみたいこと
機械学習
netkeibaスクレイピングして機械学習して自動売買モデル作って~とか、興味あるけど全然手をつけてない奴~
年度内(4月)くらいまでにはね、何か形になるようなものを生み出したいね。これは。
VBA
なんか、実務作業中に、"や、この作業面倒だしマクロで済ませてえ…"ってなったらVBAでマクロ組んだりしますよね。
VBAとは無関係?ですが、この業界に暫くいると、Excel君の操作にも結構慣れてきて、割とショートカットキーとかも覚えてきました。
Excel君は、Altキーから派生するコンボをマスターするとスピード感が上がりますね。Alt + P + R + S(印刷範囲の設定!)みたいな。
皆大好き悪魔の呪文はAlt + H + M + Mです。
やってみたいこと
今の所は特に無いけど、実務で困った時にサクーッと作れる程度には習熟しておきたいな、という感覚もある。
Rust
競プロ界隈でC++に替わる言語って良く言われるアレ。競プロちゃんとやるとしたらRust覚えたいなあっていうのもあるし、めちゃくちゃ型制御がしっかりしているとかでコンパイラに従うだけで良いとか言われててちょっと楽しそうだなって思っている。
Go
たまに聞くからちょっと触ってみたいが、まあでもそこまででもないかな、という感じ。
シェルスクリプト
ほとんど書けねえ!みたいなとこある。いやなんかね、感覚としてはわかるんだけど使用機会が少ないせいでほとんど覚えないというか…
やっぱあれかな、メインOSをArchLinuxとかにすべきなのかな…(適当)
hr.icon
開発環境のお話
開発環境はね、Windows10 + VSCodeさんとかいうウルトラ平凡マンです。
正確には、VSCode on WSL Remote?だっけ?
VSCodeさん、何だかんだやっぱ万能なんすよね~~、サクっとプラグイン入れつつ、適宜Snippetなんかも作っていくだけでそれなりに良い環境が完成してしまうので。
ColorThemeはMonokaiを使っています。また、Constantな値についてのみ、色を少し変更しています。
現場でも同じ環境に設定。SublimeTextを昔使っていた影響で、Monokaiが見やすくて好きなのよね。
ただMonokaiは変数が白文字になってしまうので、Constだけはそうならないようにしています。そのほうが、個人的にわかりやすいので。
おすすめプラグインとかは、Qiita見れば大体載ってる奴しか知らないっすね。何かあるのかな。
まあ、このへんは、特に何もないですね。
hr.icon
今後やってみたいこと、方針
ひとつの言語をしっかり扱えるようになる
ひとまずは、一つの言語(今だとJavaScript…かな?)で出来ることをしっかり増やしていきたいな、という感じです。
勿論、他の言語に触ってみるのも何だかんだ楽しいのでそれも取り組みたいんですが、このままだとマジの器用貧乏になりそうなので…(フラグ)
インフラ周りを扱えるようになる。
インフラ関連も自分である程度実装できるようにしておけば、いざ自分で大きめのサービス作ろう!ってなった時に立ち回りやすいでしょうし、仮にアウトソースする場合でも知っておくことで要件を伝えやすいでしょうし。
ひとまずAWS,k8s辺りはある程度抑えておきてえなあ、と思っています。
資格をとる
ほんとはよ~~~~いい加減基本情報技術者取りたかったんだが…延期になったんだが…??????辛い…
応用技術者とれってことだったのか、アレ。ちょっと厳しい。
転職先を探す
あと1年くらいしたら転職したいなって考えてもいる。
hr.icon
この辺で終わりにしておこうと思います。間に合った!
明日はあーさー君の家庭用脱毛器レビューです。
脱毛、実際Oラインとかは削っても良くね…?みたいなとこあるんですよね。邪魔じゃないですか、アノ毛。トイレの時とか特に。