ここ3か月程度で取り組んでいることのまとめと感想
ほぼ殴り書きで自分向けに書いている内容となっています。
それぞれ細かく記事は書きたいのだけれど…
備忘録的な位置づけで書いてしまっています。
※Web系の人ではないので悪しからず…。
技術スタック
Java
- ガリガリ書いてる。なぜこの言語かというと…察してください。
- Spring Boot
- 最近初めて触った。
- JavaにしてはよくできたWebフレームワーク
- 比較的手軽に何でもできてしまう。めんどくさいの代名詞Springのイメージを覆してる。
- Hibernate
- やはりJPAというかHibernateの学習コストが高すぎるOneToMany, ManyToOne, LAZY, EAGAR, FETCH結合が鬼門すぎる。
- 何も考えずにN+1問題やだーでEAGARにすると死ぬ。
- もはや1対多、多対1関連なんて使わずにJava側で自前で結合しまったりキーを抜き出してEntityごとにfindしたほうが余計な轍を踏まなくていいんじゃね…状態になりがち
- Rails(ActiveRecord)のようにシンプルにならんのか
- とはいえ複合PK(やむを得ず使う場合がある…)を扱えたりと何でもできる。
- JPQLは便利
- やはりJPAというかHibernateの学習コストが高すぎるOneToMany, ManyToOne, LAZY, EAGAR, FETCH結合が鬼門すぎる。
- フロントエンドはAngularなのでThymeleafなにそれ?おいしいの?状態。ただのREST API作成用のアレですよ。
- Scaffoldくらいさせてくれよ…という不満はある
- Spring Batchはやりすぎ感がある。高機能だけど。
- application.yml, application.propertiesはよく考えられてる。
- Gradle 何それおいしいの?そもそもmavenで困ってない。gulpかwebpackにやらせたいことをやらせればいいんじゃね的な。どーなんだろ。
Angular5
- 最近初めて触った。Spring Bootと組み合わせてる。
- VSCodeと組み合わせると最強。Lint系ツールも素敵。
- そこそこガリガリ書いてる。Vue.jsを選べばよかったかも…。と少し後悔。Reactでもよかったかも。いやでもよいところもありますよ。。。
- なかなか良い感じ。しかし…、SPAですべて作ることを強要されるような気がする。SPAに浸食される。
- もっと気軽に使いたいんだ
AngularJSのときのようにシンプルなテンプレートエンジンでサーバサイドで生成したページと混ぜることが容易ではない。
- 混ぜたい場合はどうすればよいかいまいちわからない。Angular単位?でアプリを分けるしかない?
- 詳しい方教えてください(´;ω;`)ウゥゥ
- 別窓で開くページとかだと戻る必要がないのでそこは問題ないけどrouterがあるのでThymeleafのページとかと組み合わせずらいっすよね。
- そもそもちゃんとfrontendとbackendを分離してないのが元凶…な気もするけど。
- ReactとかVueなら(もちろん古き良き?Knockoutも)気軽に非SPAと混ぜられるじゃん。
- とおもったら、https://github.com/angular/angular/issues/14745とかhttps://github.com/angular/angular-cli/issues/3788で一応MPAでやるにはどうすりゃいいの?ってIssueが出てる…。今のAngularだといばらの道っぽい
- 混ぜたい場合はどうすればよいかいまいちわからない。Angular単位?でアプリを分けるしかない?
jQueryとかと組み合わせないと結局込み入ったものが作れない。が、jQueryと組み合わせるとちょっと面倒。
- いや、まじめにコンポーネント作ればできるっちゃできるんですが、ほら、偉大な過去の資産がね…。
- 学習コストはAngularJSより下がってる(個人的には)。つまり学習が楽だ(ngコマンドとTypeScriptのおかげ)。あんまりng、んぐ言わない。
- AOTコンパイル通らない。うえー…が多々。
- npmで依存モジュールとかでダメになる…おまえはアレか、bundlerと同じつらみ。バージョン合わせに四苦八苦。
- ngx-bootstrapもうちょっと頑張ってくれ…頼む。
- bootstrap4はいいけど…それにしてもbootstrap依存すぎる。まぁいいけど。
- TypeScript
- ほぼES6 + 型。素敵。初見はSwiftに似てると思った。
- RxJS
- 込み入った機能を使わなければ超便利なやつ。いいと思います。
JavaScript
- 読んでるだけ。TypeScriptかES6じゃないと読むの苦痛…。プロトタイプ、テメーはダメだ。いやES5あたりだと思うんだけど旧来のJSが……。
- Node.js
- Express
- Node.jsのWebフレームワーク
- 自分は読んでるだけ
- Express
Python2
- 読んでるだけ
- Python2のサポートがRHELとかから外れるってのも知ってますよ…でもね…
- 機械学習…逃げたいけどやつは追ってくる。嫌だ。機械学習嫌だ。
- Jupyter
- いやだから機械学習系は…くぁwせdrf
- ジュパイターなのかジュピターなのかよくわからん…とおもったらアメリカではジュピターなのね…。セントオーエスVSセントス的な
Ansible
- あらためて冪等性ってマジ素敵
docker
- いや、ポータビリティいいんだけどさ…間に何か挟まった感じでダルい…いやきっとそれはまだ自分のスキルが低いのだ…。
- ポータビリティはいいけどイメージのサイズが当然デカイので、どうにかならないのか…ならないね。
- docker越しでコマンドをひたすらビシビシたたく!うん。便利。オーバーヘッドも全然なさそう。
- ポートの指定をrun時に忘れたときの絶望感…docker rmしないとダメか…あぁ。
- docker-compose
- dockerの親分的な。便利。
- kubernates
- よくわからんけどdocker-composeの競合的な?
MongoDB
- スキーマレス。テーブル定義的なのがないよ。
- JSONぶち込み放題
- MEANスタックってあるけど確かに相性いいよね。ただ、Expressってちょっと機能少なくないですか?
- すすんで使いたいと思わない。用途に寄るが
MariaDB
- MySQLの派生
- Oracle色がなくて素敵(Oracle嫌い)
- 無料で高機能を使えて素敵
Ubuntu
- もうこれからLinuxはこれでいいんじゃね的な感じがとってもある。dockerと相性いいし。
- Ubuntu Desktopはよく使っていたがUbuntu Server悪くないね。CentOSを窓から投げ捨てたくなった。
- yumって間違えて打つことがなくなって逆にCentOSでapt-getしそうになる。
- 海外ではCentOSよりUbuntuが主流
- Ubuntuに限らずだけどsystemctl ... このコマンドとサービス名が長くなりがちなので打つのダルい。serviceとかinitdのときは楽だった。
- おい、rootになれないんだけど…えっ?sudoが必要だって?とにかく宇文津さんは須藤さんが大好き。
AWS
- EC2とRDSとS3とかそのあたりは大体つかってた。
- lambda
- 勉強したいがいまいちそそらない。lambdaというよりAWS全般にあまり興味がわかない。課金怖い。
- RDSと相性悪い。
- lambda
GitBucket
- Scala製なんだ。へー。
- しかしGitHubに比べると物足りない…。でも無料でこれなら素敵。メンションでメール飛ばしたい。
開発用Chatツール
- SlackかHipChat使いたい…無料で代替のがないのか…。
Proxy
- 技術スタックというか、こいつが邪魔……。squidとかそういう話ではないです。
Apache
- ええ、今更語ることはないです。
もっといろいろなんか新たに学んだことややったことがある気がするけどこんなところかも… 管理系ってのもありますね。マネジメント あぁ、でもマネジメントしてるのに一番プログラミングしてるゆがんだ状態になってます。 管理したくない。されたい。ふー。 Djangoを触ってみたいなーと思いながらも、触れない日々を過ごしています。