30歳からのプログラミング

30歳無職から独学でプログラミングを開始した人間の記録。

2019-01-01から1年間の記事一覧

フロントエンドエンジニアがお世話になるであろう AWS のサービス群

備忘録として、記録していく。 ひとつひとつのサービスについて詳しく説明したりはしない。あくまでも概要や役割と、サービス間の関係について紹介するのみ。 そもそも AWS について詳しくない。フロントエンドエンジニアが必要に駆られて触っている、という…

『プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで』を読んだ

仕事で多少 Rails を触る機会があったが、そもそも Ruby を理解していないとダメだなと感じて、本書を読んだ。 gihyo.jp とても分かりやすく、Ruby に対する理解が深まった。 ちゃんと説明しているのがよい。 入門者向けだからと誤魔化さず、言語仕様につい…

Ruby のモジュールの基礎

使用している Ruby のバージョンは2.5.3。 モジュールの定義 以下の構文で定義する。 module モジュール名 end モジュールはクラスと違い、インスタンスを作ることは出来ない。 module MyModule end MyModule.new # undefined method `new' for MyModule:Mod…

useEffect の概要と async function を使う際の注意点

使用している React のバージョンは16.8.4。 レンダー後の処理を指定するための仕組み React Hooks の一つであるuseEffectは、レンダー後に実行したい処理を React に伝えるための仕組み。 useEffect(fn)と記述すると、DOMの更新が終わったあとにfnを実行す…

Ruby のクラスの初歩

Rubyのクラスの理解が曖昧だったので、整理して記録しておく。 Railsをやるにしても、ここらへんをきちんと理解しておくのは前提だと思う。 動作確認しているRubyのバージョンは2.5.3。 用語の整理 オブジェクトとインスタンスは、同じものを指していること…

プログラミング言語を使って対象を記述していく

「よりよいプログラミング」を考える上で示唆に富む記事を読んだので、自分なりにまとめておく。 以下の記事を読むことで、プログラミングに対して大きなヒントを得られた。 設計やアーキテクチャの話ではなく、プログラミングというものに対する発想や認識…

IE11 で API と非同期通信を行うためのコード

年に1回くらいは必要になりそうだけど絶対に忘れてしまうと思うので、検証済みのコードを自分用に記録しておく。 APIを叩くコードを、IE11でも動くように書く。 何らかの理由で Babel によるトランスパイルが出来ない、したくない状況を想定している。 基本…

SPA フルリニューアル計画における技術選定や設計思想(2019年2月版)

SPA のフルリニューアルを技術選定や設計からやることになった。 前回の記事も、そのために検討や調査を行っている際に生まれた副産物をまとめたものだ。 目指すべきは変更しやすいシステムであり、そしてそれは、堅牢性を実現することで達成されるはずだと…

堅牢性と変更容易性

いろいろと考える機会があったので、備忘録としてまとめておく。 システムにおける堅牢性とは何か。 それは、壊れにくいこと、破綻しにくいことだと思う。 では、破綻しているとはどういう状態なのか。 システム全体の複雑さが増していって開発者がコントロ…

SPA の CSRF 対策や CORS について検証する

2021/4/23 追記 Twitter にて指摘を頂いたので追記。 詳細は当該ツイートを読んで頂きたいが、プリフライトリクエストを CSRF 対策として用いるのは適切ではないという内容。 この記事に書いた仕組みや挙動そのものが間違っているわけではないのだが、プリフ…

「『現場で使える Ruby on Rails 5速習実践ガイド』増刷記念 著者交流会」に行ってきた

『現場で使える Ruby on Rails 5速習実践ガイド』の著者にサインをもらえるイベントがあったので、行ってきた。 diveintocode.doorkeeper.jp 正月休みに読んだのだが、よい本だった。本書のおかげで少しは「Railsの基礎を身に着けた」と思えるようになった。…

パブリッシュしていない npm ライブラリをプロジェクトで使う方法

社内プロジェクトなどで、共通の処理をライブラリとして切り出したいが、そのライブラリもクローズドにしたいのでパブリッシュできない。というケースを想定している。 package.jsonは、ライブラリのGitリポジトリのパスを指定することも出来るので、それを…

webpack のビルドとマークアップのパース処理

Vueのコンポーネントをwebpackでビルドする際のパフォーマンスの話。 他のライブラリでは分からない。 詳しい人にとっては常識かもしれないし、大した話ではないのだが、ここまでパフォーマンスに違いが出るのは知らなかったので、記録しておく。 webpackと…

Vue + Rails ではてなブックマークをインポートできるアプリを作った

習作なので実用性は低い。 後述するように Heroku にデプロイしてきちんと動いているので、動作に問題はない。 github.com 作成した目的 サーバーサイドの知識がなさすぎるので、それを学ぶため。 実際に何かを作るのが一番勉強になるし、ソースコードが手元…

Steb by Step で剥がす Webpacker

この記事では、Webpackerを使っている Rails アプリからWebpackerを剥がし、webpackを使うようにするための手順を書いていく。 Webpackerを止めたい理由は様々だが、主な理由は以下のような感じだろうか。 現時点ではWebpackerが使用しているwebpackのバージ…

Webpacker の基本的な仕組み

webpackではなく、Rails の gem であるWebpackerの話。 Webpackerを止める方法について書く予定だったが、前提であるWebpackerの説明だけで長くなってしまったので別の記事として切り出した。 脱 Webpacker についてはこちら。 numb86-tech.hatenablog.com r…