Posts
- 並列処理をスケールさせるためのテーブル設計
- ブログをReact Router v7で作り直した
- RemixからFirebase Authenticationで認証する
- スマホからブログを書きたい
- Full Stack Web Development with Remix
- Windowsのキーマッピング3
- sealed classとの付き合い方を考える
- 複雑性はチリツモであるという話
- ワーケーション@沖縄
- 開発環境のセットアップ 2024
- build_runnerから実行できるミニマムなBuilder
- 2024-02-04
- WSL2でFlutterアプリを開発する準備
- インターフェイスのコメントと実装のコメントを区別する
- 2024年の目標
- 2023年振り返り
- 二段に昇段した
- PC二台でKVMをどう共有するか問題
- JBL Soundgear Sense
- ブログをNext.jsで作り直した
- DartのパターンマッチでJSONを扱う
- 2023-09-24
- 2023-09-03
- 社団戦に参加した
- 将棋の大会に参加した
- Windowsのキーマッピング2
- Windowsのキーマッピング
- PCを自作した
- 2023年上半期の振り返り
- モデルとテーブルをコンテキストに分割する戦術
- PREDUCTSのデスクを買った
- 手順書ドリブンなスクリプト開発
- クラスに対するextendsとimplements
- 2023-06-04
- DartのASTを参照する
- naoty/require
- パーソナルトレーニングを3ヶ月やった
- 1日だけチームのために自由に時間が使えるなら
- 2023-04-02
- ChatGPT所感
- 状態ごとにモデルを分割する
- Firestoreとドメインモデルの間で
- Streamと仲良くなる
- パーソナルトレーニングと食事指導を始めた
- ドメインとコンテキストの関係とチームの単位
- セキュア・バイ・デザイン
- ドメイン・プリミティブ in Dart
- Kindle Paperwhite
- モックとスタブ
- 単体テストの考え方/使い方
- 2022年振り返り
- スマートコンストラクタ in Dart
- 自分なりのベストプラクティスを持つ
- 10Xに入社しました
- PC周りの環境改善
- minikubeでRailsアプリを動かす
- 2022-10-10
- DartからFirestoreにアクセスする
- 2022-09-21
- RubyKaigi 2022
- 退職のお知らせ
- TODOをタグで管理できるようにする
- Fig
- チームトポロジーを読んだ
- Live reloadの実装
- DELETEの空振りによるデッドロック
- 外部キー制約によるデッドロックの再現
- Production Ready GraphQL
- ヒメイワダレソウ
- Dahon Route
- 最近の仕事とかキャッチアップの話
- ラムダ式・メソッド参照
- Streamと配列の変換
- Kafka Streams入門4(Join)
- Kafka Streams入門3(Window)
- Kafka Streams入門2(Statefulな操作)
- 送信元メールアドレスの検証
- Kafka Streams入門1(環境構築とStatelessな操作)
- macOSにJavaをインストールする
- スマート勝手口に置き配してもらう
- ミニマムなgradleプロジェクト
- Database Design and Implementationを読み始めた
- VSCodeで現在時刻をスッと出す
- 図で理解するトランザクション競合パターン
- ネクストキーロックの範囲
- 「将棋・ひと目の詰み」を読んだ
- Pixel 6を買った
- 2021年振り返り
- 今年買ってよかったもの
- Cassandraへのクエリの注意点
- sstabledump
- Cassandraでのページネーションの実装
- 家づくり振り返り 2
- どれでもいいテストパラメータの扱い
- CLIアプリケーションの設計
- isucon11-priorでisuconの練習をした2
- isucon11-priorでisuconの練習をした1
- docker composeでcassandraクラスターを動かす
- CQL入門
- 深すぎるcontextのネストを読みやすくする
- 手を動かしながらロックを学ぶ 3
- 手を動かしながらロックを学ぶ 2
- 手を動かしながらロックを学ぶ 1
- ALLOW FILTERING
- Railsでのread-after-write一貫性の保証
- Auroraのレプリケーション
- 家づくり振り返り 1
- 伊礼智の「小さな家」70のレシピを読んだ
- 建築知識2017年9月号を読んだ
- 令和2年度確定申告
- 土地を買った
- ブロック引数の分割代入
- カラムを絞ってpreloadする
- blog.naoty.dev
- 2020年振り返り
- rake/testtask
- 2020-10-04
- データフロー図を簡単に書くやつを作った
- カスタムエラー型の定義
- cp-kafkaでruby-kafkaを試してみる
- cp-kafkaでKafkaの動作環境を用意する
- naoty/tableをRustで書き直した
- モジュールをディレクトリで構成する
- clapカスタマイズメモ
- イテレータについて整理
- Resultをio::Resultに変換する
- KafkaのDockerイメージを用意する
- Webカメラを買った
- Rustの勉強を再開した
- あるカラムをもつテーブルを探すには
- エラーの判別
- naoty/todoを書き直した
- ホームページのパッケージ更新をrenovateに移した
- ErrorとFatalの使い方
- spf13/pflagの使い方
- 引っ越しをあきらめて模様替えした
- SNS断ちをしてみることにした
- Reproに転職してました
- Mermaid.jsでデータフロー図を描く
- HiveをDockerで動かす
- Rubyの型に入門する
- HadoopをDockerコンテナで動かす
- mermaid.jsのグラフをビルド時に生成する
- mermaid.jsに対応した
- 曲面ディスプレイを買った
- 「究極の英語ライティング」を読んだ
- ホームページをGatsbyで作り直した(2年ぶり2度目)
- pictで複雑な組み合わせを生成する
- dry-validationで設定ファイルを検証する
- BAROCCO MD770を買った
- HHKBのキーキャップを替えた
- PrestoをDockerで試してみる
- naoty/esa-history
- 2019年振り返り
- 作業ファイルという習慣
- 1Passwordの整理
- ブログのフィードバックをGitHubで受け付ける
- セキュアなDockerfileを書く
- NATゲートウェイの冗長化
- 「エンジニアのための時間管 理術」を読んだ
- inboxと通知の整理
- ダークモードのサポート
- Nuxtで明示的にルーティングを定義する
- ホームページをNuxtで作り直した
- ミニマムなwebpack loader
- HHKB-BTの接続先切り替え
- ステータスコードをログに出力するhttp.Handler
- goroutineの実行パターン
- bundle lockが便利
- mrubyの初手
- ビルドに必要なファイルの種類を整理する
- ECSタスクでRakeタスクを定期実行する
- 特定のIPアドレスからのアクセスを許可する
- bit全探索
- PumaのメトリクスをDatadogに送る
- データ型と桁数
- 競技プログラミングをはじめてみた
- データ分析基盤の全体像を整理してみる
- タグごとのブログ一覧を追加した
- MySQLコンテナの起動時にDBを初期化する
- SQLで順番を更新する
- normalizrの使い方
- Echoで環境変数を使い回す
- ヘルスチェックのエンドポイントを分ける
- ドメインをnaoty.devにした
- terraformとapex infraの依存関係
- 自分のコンテナインスタンスIDを確認する
- 前後左右に移動する
- UnityでVRやってる
- Result型のメソッドをまとめる
- Result型の返り値を使わないとき
- 2018年振り返り
- スレッド化できるSlack webhookを作った
- Circle CIからHeroku registryにpushする
- ブログで使うライブラリのアップデートを自動化する
- Terraformの実行環境
- Pixel 3に乗り換えた
- db:migrateした分だけdb:rollbackするrubygemを書いた
- デプロイに伴うデータ不整合を回避する
- 非効率なメモ化の改善
- ECSサービスの分け方
- AWSのリソースのネーミング
- sidekiqコンテナのヘルスチェック
- ISUCON 8予選のKPT
- Container Componentの作り方
- ブログをGatsby.jsで書き直した
- multi-stage buildでのfreshの運用
- HTMLテンプレートをpackrでバイナリに埋め込む
- 決定境界のプロット
- 「Pythonデータサイエンスハンドブック」を読んでいる
- CourseraのMachine Learningを修了した
- パラメータストアで環境変数を管理する
- Circle CIのSlackへの通知を分かりやすくする
- docker-composeでwebpack-dev-serverを使う
- zshに戻った
- CourseraのMachine Learningを受講しはじめた
- awscliのwaitコマンドが便利 だった
- 作業メモという習慣
- RailsからReduxのinitial stateを設定する
- webpackerにjestを導入する
- bin/webpackに必要最小限のファイル
- Assets precompileに必要最小限のファイル
- JSONをASCIIテーブルで表示する
- MailHogによるメールの受信確認
- react-railsによるCSRF対策
- webpacker用のDockerfile
- 副業先を探しています
- TerraformでAWSを学んでいる
- FLOCSSを導入した
- PostCSSを導入した
- スキーマファイルをSQL形式に変更する
- Atom形式のフィードをサポートした
- よく使うLaTeXコマンド
- 「みんなのPython」を読んだ
- 画像アップロードの実装パターン
- todoをtmuxで表示する
- 2017年に作ったもの
- Circle CI 2.0への移行作業
- ActiveRecordのattributeメソッド
- GitHub Pagesの更新をCIで自動化した
- ブログで使うHTML5
- モデルに記述する順番
- モデルの差分更新
- GitHub Pagesに移行した
- 引っ越しのお知らせ
- Write 日報 Every Day
- net/httpによるHTTPメソッドを含んだルーティングの実装
- GoのためのDockerfile
- Goでちょっとしたツールを作った
- 近況
- `bin/webpack`を読んだ
- vim も zsh も捨てた
- Rails APIモードのdiff
- Homebrew で自分のためのツールを公開するのが楽しい
- Swiftのオブジェクトグラフを生成する flock を作った
- Homebrew にコントリビュートした
- Homebrewで自作Formulaを作るときの落とし穴
- CHANGELOG.mdを書き始めた
- 2016年振り返り
- コード署名・証明書
- エンジニア立ち居振る舞い:生産性を計測する
- Timepiece 1.0.0をリリースした
- CocoaPodsにコントリビュートした
- GroupedなUITableViewで上端のmarginをとりたい
- 通信周りの処理をミドルウェアで整理する
- Xcodeのカラーパレットを作るコマンドをSwiftで書いた
- ブログタイトルを変えた
- 型消去を用いたSwiftによるリポジトリパターンの実装
- try! Swiftに参加してきた
- SwiftCSVをフルスクラッチした
- HIGで推奨されているアラートをSwiftで効率的に組み立てる
- FriendlyErrorType
- 2015年の振り返りと2016年に向けて
- Rakeタスクの賢いロギング
- Vagrant rsync + Railsでコードの変更が反映されない件
- Vagrantfileを分割する
- 「エンジニアのための時間管理術」を読んだ
- 近況
- gomobileでiOS用のライブラリをビルドするまで
- Timepieceを0.4.0にアップデートした
- コマンドラインを拡張しやすくするヤツ書いた
- GeneratorとSequence
- Pocketのもう読んでない記事を掃除するヤツ書いた
- コミット数が多いファイルを表示するコマンドを書いた
- 「すごいHaskell たのしく学ぼう!」を読んだ
- naoty/todoとnaoty/nowisで定期的なtodoを管理できるようにした
- 自分専用のtodo管理ツールを書いた
- #potatotips でTimepieceについて発表した
- IdeaVimでキーマップが衝突した場合の対応
- コミット毎に実行環境をビルドするoasisを書いた
- ghqを読んだ
- Railsにコントリビュートした
- Rubotyで勤務時間を管理する
- Timepieceを0.2.0にアップデートした
- 「UMLモデリングの本質」を読んだ
- 「達人に学ぶDB設計徹底指南書」を読んだ
- ブランチごとにDB切り替えるヤツ作った
- `rails s`読んだ
- Faraday middlewareの作り方
- Qiita:TeamのテンプレートとJSONからテキストを組み立てるヤツ
- activeadmin読んだ
- RailsのReloaderの仕組み
- Qiita API v2のSwiftクライアントを書き始めた
- 転職のお知らせ
- Web API: The Good Partsを読んだ
- MDCSwipeToChooseを読んだ
- SlackTextViewControllerを読んだ
- 自分をコピーするbotを作る
- pod installしたら自動的にghq getする
- pod installしたらgit cloneしてくれるヤツ書いた
- 「集合知プログラミング」を読んでる
- ストリームを利用したローパスフィルタの実装
- peco+giboで.gitignoreのテンプレを1秒で取得
- マシなiOSアプリのフォームを実装・デザインする
- Swiftでストリームを扱うライブラリを書いた
- SwiftでNSDateを直感的に扱う
- SwiftでNSDateを簡単に扱うライブラリを書いた
- Alamofire/**/*Tests.swiftを読んだ
- Alamofireを読んだ
- PromiseKit/swiftを読んだ
- D3.jsで"+09:00"がパースできない件
- バックエンドAPI用のテンプレートを作り始めた
- SinatraでJSONを受け取る
- Xcodeでビルド設定を作ったらCocoaPodsのリンクに失敗する件
- shields.ioでバッジをフラットデザインにする
- APNsの概要と関連ツール群
- pecoでハッカーを検索
- 技術メモの管理
- PecoからRakeタスクを実行する
- SwiftでRubyのInteger#timesを実 装してみた
- カスタムディレクティブでAPIから受け取ったデータを表示する
- Objective-CでCSVをパースする
- CoreDataに簡単に初期データを追加する
- Xcodeでビルドした実行ファイルを自動的にプロジェクトにコピーする
- tmux 1.9でもウィンドウ作成時にパスを引き継ぐ
- Railsのロケールで特殊文字が表示されない問題
- Railsでオートリンクを有効にしつつサニタイズ
- 安全なrmコマンド
- プラットフォーム依存のgemのせいでデプロイがこける件
- RSpecでmoduleをテストする
- ブログ移転しました
- アプリのアイコンを自動生成する
- websocket-railsで簡単なPush通知を実装する
- Kobito用カスタムCSSつくってみた
- ChefでRaspberry Piをセットアップする
- RubyのWebSocketサーバー「pingpong」を作った
- Unite.vimで.gitignoreで無視したファイルを候補から除外する
- quickrun.vimでC++11をコンパイルする
- vimでtodoリストを書くためのtips
- iOS6以降のAVAudioSessionのdelegate設定方法
- iOS用グラフ描画ライブラリを書き始めた
- Asset Pipelineでコントローラー・アクションごとにassetを管理する
- 半年経ちました・引っ越しました
- Rails 4.0だとCSRFトークンでエラーになる
- カーソル上の単語でvim-refを検索する
- konashi make-a-thonに参加してきた
- slide_template改めglideの今後について
- LTのスライドつくるのだるい
- .vimrc整理術
- vim高速移動
- todoリストをwebに公開した話
- Androidに乗り換えるかも
- mrb_valueについて調べてみた
- mrubyで定義したクラスとメソッドをCから呼び出す
- Head First Cの感想
- vimでTodoリスト
- vimでコメントを非表示にする
- vimプラグインを作ってみた
- Arduinoで構造体をつかう
- vimの便利機能
- bundle execを使わずに済む方法(rbenv編)
- 退職のお知らせ
- 人間の脳みその限界とツールについて
- Arduinoと感圧センサーで圧力をサーバーに送信する
- UIViewの位置取得・操作のための便利カテゴリー
- ハッカソンでgithub連携のnode.jsアプ リ作った話
- Rails4から--binstubsが使えなくなる件
- Railsに組み込むgemを作るためのTips
- 最近のテスト事情
- Object#freezeについて
- 東京Ruby会議10にいってきた
- Limechatのテーマつくった
- IntelliJ IDEAをvimっぽくする
- 2012年の振り返り・2013年の目標
- Herokuでhubotを使ったIRC botを動かす
- AndroidでUserAgentを指定する
- node.js環境構築
- Qiita Hackathon参加してきました
- Hello, Arduino!
- 近況・これからの方向性についての話
- ちょっとしたiPadアプリを作った話
- 書評:ふつうのLinuxプログラミング、あるいはHTTPサーバーについておおざっぱに
- ruby-2.0.0-preview1をインストールしてみた
- Cはじめました
- iOS 6とiOS 5でFacebook SDK使おうとしたらハマった
- プログラムにフリックさせてイベントを受け取る
- SinatraでのRABLの使い方
- ラーメン戦記(中目黒・恵比寿エリア)
- セルフ新人研修の話
- Hello, Sinatra! (1)
- 書評:iOS SDK Development
- ちゃんとテスト書き始めた話
- tmuxのlaunchctlエラー対策
- __FILE__と$0の違い
- Regexp#+を定義して「または」を簡単に作る
- Firefox用Qiita検索プラグイン
- FactoryGirlでコールバックをスキップする
- vimで右にhelpを表示する
- ローカルIPアドレスをtmuxのステータスラインに表示する
- Rails開発環境 2012夏
- Androidの標準カメラで撮った画像をPOSTで送信する
- tmuxinatorで一瞬で開発環境を起動する
- Railsデフォルトのjqueryは圧縮されてない
- cui-about.meをリリースしました
- 見やすいgit-tag
- Railsでよく使うDSLのfiletypeを設定する
- 見やすいgit-grep
- binding.pryがあったらコミットを中止する
- コンソールで直前の結果を参照する
- Gemfileを公開するサイト「Gemfile Freaks」を公開しました
- 開発環境用Procfile
- rablを使ってRailsのAPIレスポンスを簡潔に定義する
- gemをすべてアンインスト ールするワンライナー
- gemのディレクトリに一瞬で移動する
- command line toolsのみインストールしたときのpathの設定
- ブログをはてなブログに移転しました。
- Happy Hacking Keyboard Lite2を買ってみた
- Rails開発環境 2012初夏
- 最初のActivityに戻る
- foremanでthinを起動しても何も表示されない件の解決策
- HTMLやCSSの変更を自動でブラウザに反映させる
- Railsで使ってる間に合 わせのCSS
- MBAに入れてるアプリと作業環境
- Kobitoのスタイルを変更する
- CSRFトークンの検証プロセス
- vimperatorで快適ブラウジング
- Titaniumでdate.jsを使う
- 中2っぽいプロンプト
- ファイルのパスを絶対パスに変換
- モバイルからのリクエストのCSRF検証をスキップする
- vimrc晒し
- ハッピーになれるpry拡張詰め合わせGemfile
- capistranoでのunicorn再起動タスク
- Capistranoでassets:precompileを自動化
- bundle execを使わずにすむ方法
- Railsで時間を「◯分前」「◯時間前」にフォーマットする
- scss内でimageを参照したいとき
- nginx.conf for Jekyll
- 容赦無いCollection Insert
- capistranoでtail -f
- ブログを移転しました。
- さくらVPS作業メモ(rubyインストールまで)
- dotfilesをgithubで管理する
- HTMLから始めたド素人がwebサービスをリリースするまでに読んだオススメの本10冊
- Rails3.1でTwitter認証しTwitter APIを呼び出す
- himzinz.comをリリースしました
- Time::DATE_FORMATS
- rvm installでyamlがmakeできない件
- 実行環境とBundler.require
- production環境のみダイジェスト認証を有効にする
- factory_girlを使ってスマートにseedデータを作成する
- さくらVPSでRailsを動かすまでのTodo
- nginx+rvmでPassengerが動いてない?
- CentOSにmysqlを入れて起動するまでのメモ
- centosにgitosisを入れてpushするまでのメモ
- deviseで確認メールが送られてこない件を解決
- Rails3.1にjquery-uiを導入する
- Twitter APIのエラーの回避方法
- Rails3.0.xと3.1のrails newとrails generateの違い
- factory_girlでdeviseのメール通知をスキップする
- rspec, factory_girl, spork, guardによる自動テスト環境の構築
- plistから数値を読み込む
- Rails3のDate.currentのソースコードリーディング
- 脱初心者なRubyのループ処理の書き方
- tm_twitter_apiでうまく認証できない
- class_evalとinstance_eval
- 特異クラスと特異メソッド
- Moduleによるクラスの拡張
- Dateクラスのタイムゾーンの不思議
- MongoDBを使う際のRspecの設定メモ
- Rails3にrspecとfactory girlをインストールしたときのメモ
- Classクラスに関する仮説
- ある条件であるクラスを追加するヘルパーメソッドつくりました
- ある条件でhiddenなHTMLタグを出力するヘルパーメソッドつくりました
- アプリ(Titanium Mobile)とサーバー(Rails)間の通信
- アプリ起動時にログイン画面を表示させる
- 基本的なログインフォーム
- Titanium Mobileで現在地を表示する
- Titanium Mobileによる開発環境の構築
- Rails 3のバッチ処理
- Tweetボタンのカスタマイズ
- jQueryでテキストエリアのキャレットを先頭に移動する
- ルーティングヘルパーにパラメーターを付加する
- Rails3のルーティングの初歩
- Rails3でMongoidを使ってみる
- ターミナルのプロンプトの設定
- CSV出力の機能テスト
- Ruby InstallerでWindowsにRubyを入れるとirbでエラーが起こる件
- さくらVPSに最新版GNU screenをインストールする
- ボタンによって処理を切り替える
- jQueryでの選択解除
- canvasでお絵かき
- Google Maps APIとTwitter APIのマッシュアップ
- jQueryによるアコーディオンパネル
- JavaScriptのループ文あれこれ
- select_datetimeからの日付検索
- セレクトボックスの値を動的に設定する
- 選択されたチェックを画面遷移後も維持する
- Mac OS XにおけるJavaのバージョン変更
- Aptana Studioの環境構築
- MacPortsでMySQLをインストールしてからログインまで
- 「初めてのJavaScript」は初心者向けじゃない!
- MechanizeでMixiボイスに投稿する
- プロパティの参照順序について
- プラグイン読み込みの設定
- Canvasで図形を描画する
- IEでよくあるバグ
- セレクタのリファクタリング
- jQueryでテーブルを垂直方向に分割する
- jQueryでテーブルを水平方向に分割する
- わかりやすかったテキスト(Rails, jQuery編)
- jQueryでchangeイベント内で変更後の値を取得する
- jQueryで現在のページのURLを取得する
- form_tagでパラメータをつけて現在のページに遷移する
- jQueryで複数のテキストを取得する方法
- Instant Railsのrubyコンソールでgitを使う
- Grepコマンドもどき ver.2(完成版)
- Grepコマンドもどき ver.1
- 変数の区別
- VimによるRails開発環境の構築 ver.2
- VimによるRails開発環境の構築 ver.1
- Merge Sort ver.1
- WIN32OLEを使ったExcelの操作(1)
- ハノイの塔 ver.2
- ハノイの塔 ver.1
- Fizzbuzz問題(Ruby) ver.1
- ディレクトリ内のファイルの大きさを表示する
- count_letters ver.2
- count_letters ver.1
- sql_request ver.2
- 「PHP逆引きレシピ」を買いました
- 掲示板 ver.2.1
- 掲示板 ver.1.2
- 掲示板 ver.1.1
- 掲示板 ver.1
- 掲示板 ver.2
- sql_request ver.1