試行錯誤顛末記録。 或いは日記的な何か。 Web技術寄りな雑記Blog
アキです。 以前、世界をフラフラしてました。 Webエンジニア。主戦場はRailsとVue.js。
CLI用のコマンドを作ってみようと思いたったのですが、CLI開発フレームワークoclifを試してみたらとても簡単で環境構築もすんなりできたのでびっくりしたという話。
Railsを使っていて、ある状態に当てはまらないときレコードを削除するdestroyを成功させたくないみたいなこと、あると思います。createするときのvalidationに対してdestroy時のvalidationというか。そんなときどうするか、という話です。
今までもテストや監視を紹介してきましたが今回は脆弱性をとりあげてみます。幸いにもRails用にBrakemanというGemで機械的に脆弱性診断を行えます。これさえやっておけば完璧と断言できるわけではありませんが、人の手でやるには限界があるので導入しておくにこしたことはありません。...
Sentryというエラー監視サービスがあります。少し前までsentry-ravenというGemで導入していましたが、sentry-ravenはメンテナンスモードに入り、変わりにsentry-ruby, sentry-railsを使うように案内されていました。 今回はそれをキャッ...
どうも。最近は仕事ではめっきりTypeScriptを書いています。そんな中で、え! ? 文字数カウントで単純にString.lengthじゃダメなの! ? と思ったので備忘録的に書き残しておきます。
前回に引きつづきRailsのアプリケーションレイヤーでなんとかIPによるアクセス制限をかける方法の模索。今回はAuthrization(認可)用のGemであるPunditを使ったアプローチです。
わけあってRailsでIP制限できないものかといろいろやってみました。もちろんアプリケーションレイヤーではなくアクセス的にはもっと前のネットワークとかWebサーバーとかでやるほうが良いんですが、いろんな理由でそれができない場合、Railsでやってみたという話。
先日Railsでイチから個人開発を始めたんですが、CSSフレームワークとしてTailwind CSSを使ってみました。 その時得た導入方法の知見としばらく使ってみての感想。 ちなみに僕はHTMLとCSSはセマンティックに書くべし、というスタンスには賛同しています。つまり、これま...
1週間でWebサービスを作る「web1week」というイベントが、9月7日から9月13日まで開催されていました。いろいろ打算あり、作りたいものありで参加して、それなりなWebサービスをひとつリリースした顛末。
最近新しくRailsプロジェクトを作って開発を始めることが業務でもプライベートでもあったので、せっかくの機会にRails newするときに使えるテンプレートをちゃんにと設定してみました。
マイクロブログサービスの代名詞ともいえるTwitterから脱中央集権として登場したOSS、MastodonはRailsで開発されています。自身のサーバーサイドエンジニアとして知見を増やすためにMastodonを立てみようと思いました。 最終的になんとか立てれたものの、かなりつま...
前回に引き続き今回も初学者向けRails備忘録です。 今回はDBをセットアップしたり、リセットしたりするときに使うコマンド編です。
普段RubyとRuby on Railsで開発していると「これどう違うんだっけ、どっち使うべきなんだっけ?」と思うことがそこそこあります。内容的には初心者向けですが備忘録がてら書き記しておくことにしました。 今回は値やレコードがある場合/ない場合で分岐するときに使うメソッドです...
Gridsomeでイチからブログを作るシリーズはブログを作ることにフォーカスしていましたが、今回は普段僕がGridsomeでサイトを作るにあたって使ってる小ワザの紹介です。中には公式に案内があるものもありますが、ドキュメントは得てして隅まで読まれないことも多いので紹介しておきます...
Gridsomeでブログを作るシリーズ。今回はブログでよくある「関連記事」を表示します。いわゆる回遊率を上げるための施策の1つですね。
Gridsomeでブログを作るシリーズ。今回はサイト内検索機能を実装していきます。大きくわけてAlgoriaのような外部サービスを使う方法と自前で実装していく方法の2種類ありますが、今回は自前で実装していく方法にでやっていきます。
Gridsomeでブログを作るシリーズ。今回はビルド時にRSSを配信する機能を追加します。RSSを使う理由と、良い感じに配信する方法も合わせてみていきます。
前回、ようやく記事を書けるようになりました。一応ブログの形にはなりましたが、まだまだ機能として不十分です。これから少しづつ機能追加していきます。今回は検索やTwitterなどのシェア時に役立つmetadata(metaタグ)をカスタマイズしていきます。
VuePressも悪くはないものの、高速に表示できることは1つの価値であるので、Gatsbyインスパイアで高速化にも力を入れているGridsome移行しました。 今回移行するにあたって全面的にHTML,CSSも書きなおしたりもしました。それによって良い知見がありました。昔からブ...
前回、前々回と下準備をしました。それらは準備であって人によっては不必要です。料理で言えば「包丁を研ぐ」のような感ですかね。今回こそは料理をして食べれる形、つまり記事部分を表示させてブログの体にもっていくことを目指そうと思います。
さて今回も前回に引き続き、Vue.jsベースのSSG(静的サイトジェネレータ)であるGridsomeを使ってブログを作っていきます。今回は、HTMLにPug、CSSにStylusを使えるように設定していきます。つまりまだ環境構築です。
静的サイトジェネレータの1つにGridsomeがあります。Vue.jsベースですが、ReactベースのGatsby.jsというフレームワークに強くインスパイアを受け開発されています。 今回はStartarと呼ばれるScaffoldingを使わずに、必要なpluginだけ都度いれ...
CSSメタ言語(CSSプリプロセッサ)といえばSass(SCSS)がデファクトスタンダードですが、個人的にはStylusが大好きです。Stylusは高機能であると同時に記法に自由度があるのが良くもあり、逆に言えばカオスを作りやすいです。 そんなStylusにlinterとform...
SlackAppを作っていて少々込みいったことやChatOps的なことをやりたくなってくると、DBのように保持しておく必要のあるデータを持ちたくなります。今回はデータ保持しておく際の保存先としてCloud Firestoreを使って組みこんでみます。 シリーズ: SlackA...
概要 前々回、BoltベースのSlackAppを開発しはじめました。BoltはSlackAppに特化したサーバーフレームワークで、スラッシュコマンドやSlackイベントをトリガーに動作するアクションが非常に書き易いのが特徴です。今回は公式ドキュメントにはないHTTPリクエストを...