サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
blog.takady.net
Reactビギナーズガイド ―コンポーネントベースのフロントエンド開発入門 React はプライベートで書いているけども、一度ちゃんと基礎を抑えておきたいので読んだ。 本書を読む前に、どこかのサイトでの本書のレビューとして、React.createClass を使った古い書き方が一部あって云々みたいな記述を見かけていたので若干内容が古いのかなと思っていた。 ただ実際に読んでみると、前半はたしかに class を使った書き方をしていないが、これはトランスパイル無しでブラウザで React をまずは動かそうという主旨もあり es2015 の記法を使っていないだけなのかなと思った。後半ではちゃんと babel でトランスパイルして es2015 以降の class を使った書き方をしている。 本書が良いのは、著者が Facebook に所属している React の開発者の人というところで、おかげ
rails で Custom validatior や Custom validation method を定義して、その中で errors.add する際に、 message として使われる I18n のパスをどう書くのが良いのかっていうのが気になった。 結論としては、下記のように書くのがスッキリして良さそう。 Custom Validators 特定のモデルによらないエラーメッセージの場合は、下記のように locales/en.yml を書くことで、record.errors.add(attribute, :something_invalid)と書ける。 class MyCheckValidator < ActiveModel::EachValidator def validate_each(record, attribute, value) unless check_somethin
フォームでは日付の期間を入力し、それを日単位のレコードに保存するようなケースでは、FormObject を使えるかも。やってみた。 こういうフォーム。 Model uniqueness など Model 単位でバリデーションしなければいけないものや、コンテキストに関係なくバリデーションするものは Model に書く。 app/models/foo_day.rb class FooDay < ActiveRecord::Base belongs_to :user validates :user_id, presence: true validates :date, presence: true, uniqueness: {scope: :user_id} end FormObject FormObject の参考では、よく virtus を include しているサンプルがあるけど、Vir
新しい機能なりサービスを作った後に振り返ってみると、もっと上手くやれた気がするなーって思う。 もっと早く、質の良いものを作るにはどうすれば良いのか。 そもそも開発とひとことで言っても、細かくどういうポイントを気にしておく必要があるか、そしてそのどこを改善できそうか考えてみた。 仕様決め それを作る理由について納得しているか 納得してないとか、そもそも背景を理解してない状態で仕様決めに入るのはかなり厳しい。 システムとしてだけでなくて、ビジネス的にそれってどうなんですかっていうのは質問して納得しておきたい。 とはいえ腰の重い開発者にはなりたくないので柔軟に。 解決したい課題が明確になっているか 最初は何か課題があるはずだけど、それをすっ飛ばして具体的な解決方法から話が始まる事がわりとある。 実は別の方法が良かったりするかもしれないので、解決したい課題は何なのか明確にしておきたい。 誰が最終的
Raspberry Pi と ADT7410 温度センサーで自宅の温度を測り、 focusligt でグラフにした。 用意したもの Raspberry Pi Model B ADT7410使用 高精度・高分解能 I2C・16Bit 温度センサモジュール ブレッドボード BB-801 ブレッドボード・ジャンパーコード(オス-メス) 15cm(黒) x 4本 goot 一般電気用はんだこて KS-30R goot 高密度集積基板用はんだ SD-60 工程 まず Raspberry Pi の初期設定をした。 詳細は割愛するが、RASPBIAN JESSIE の最新版を Download Raspbian for Raspberry Pi からダウンロードして SD に焼き、本体を起動して設定。 公式のインストールガイドを参考にすれば問題ないと思われる。 次に、温度センサーをブレッドボードにつなぐ
rails で普通に scaffold すると id が URL に入って example.com/users/:id となる。 これを twitter.com/myname とか github.com/yourname みたいにしたい時がある。 実現には 2 通りの方法があると思われる。 to_param を使う方法 activerecord に to_param というメソッドがあって、これを使うと URL の :id の部分に id 以外を指定できるようになる。 user.rb class User < ActiveRecord::Base validates_presence_of :username validates_uniqueness_of :username, case_sensitive: false def to_param username end end
isucon5 予選で惨敗しました。 出場の動機 isucon というものの存在を知ってから、とにかく出てみたいと思っていた。 年初くらいには @tatsuyaoiw に声を掛け快諾してくれていた。 @takady7 出ましょう!ってまだだいぶ先じゃない? — Tatsuya Oiwa (@tatsuyaoiw) 2015, 2月 10 予選の募集が始まった頃、あと一人誰誘おうと話してて、@tatsuyaoiw が @muratayusuke を誘って、前職の同期3人で出ることが決定。 ちなみにチーム名の「八潮パークタウン」は、前職の会社の近くのバス停に停まるバスの行き先の名前で、たぶん3人の誰も実際に行ったことはない。 準備期間 予選のちょうど1週間前の土曜日に一度集まって、その時に主に isucon 関連の知見を晒し合った。 あと google cloud platform を触ってみ
シルバーウィークに、この3冊を読んだ。 Webエンジニアのための データベース技術[実践]入門 (Software Design plus) RDBMS としては mysql を題材にしている。 インデックスから my.cnf の項目の説明や mysql のソースコードを読む所まで、 mysql をメインに書かれている。 理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL (WEB+DB PRESS plus) RDBMS の構造や設計についても書かれていて、正規化理論や NULL について、またインデックスの設計戦略までカバーされている。 個別の RDBMS 製品に偏った記載はほぼ無い。 著者は、漢(オトコ)のコンピュータ道 の人。 SQL実践入門──高速でわかりやすいクエリの書き方 (WEB+DB PRESS plus) SQL と実行計画を主軸に、効果的な
YAPC::Asia 2015 の前夜祭と2日目に行ってきた。 前夜祭 技術ブログを書くことについて語るときに僕の語ること ブログでブクマ数を稼ぐには、という話だった。 なるほど、という感じでとてもおもしろかった。 ブログはタイトルが大事 投稿タイミングも大事 平日の朝が良い 金曜の夜にテンション高く書き上げても、すぐに公開せずに一旦寝かせる 1日目 不参加 2日目 ISUCONの勝ち方 isucon のための tips や チューニング方法についてのお話。 とても勉強になった。isucon 出たい。 準備 同僚や元同僚など、一緒に働いたことがあるエンジニア同士でチームを組んだ方が良い sysctl.conf や my.cnf などの秘伝のタレは、どこかに手順と一緒にまとめておくなりして、すぐに適用できるようにしておく できればプライベートリポジトリを用意しておく 当日について 7時間は意
5月12日に転職して、1ヶ月くらい経った。 一万人規模の会社から、百人規模の会社に来たので、色々なものごとの距離感の近さが新鮮に感じられる。 さすがのスピード感で、入社して3日目から本格的にPRを出すなどの開発に入り、それから毎日頑張ってついて行っている間に1ヶ月経ったという感じだった。 周囲のメンバーと切磋琢磨しながら、自分もサービスに貢献していきたいと思う。
powerlineの導入 下記の記事を参考にした. tmux - Powerline導入例 - Qiita フォントが綺麗に表示されない場合 自分の環境では,brew reinstall --powerline --vim-powerline rictyでpowerline用のRictyを入れても綺麗に表示されなかったので,自分でfontを合成した. $ git clone https://github.com/yascentur/Ricty.git $ cd Ricty $ git clone https://github.com/powerline/fonts.git $ wget http://sourceforge.jp/frs/redir.php\?m\=jaist\&f\=%2Fmix-mplus-ipa%2F59022%2Fmigu-1m-20130617.zip -O mi
この投稿はRuby Advent Calendar 2014の7日目の記事です。 rubyには標準添付ライブラリにloggerクラスがある。 そのloggerクラス、newした後に出力先のログファイルが削除された時の挙動について調べた。 そして、file_safe_loggerというgemを作った。 検証 下記のようにして、Logger.newとlogger.infoの間でファイルを削除してみる require 'logger' require 'fileutils' logfile = 'test.log' logger = Logger.new(logfile) FileUtils.rm(logfile) logger.info('this is test') これは、結果としてはエラーにはならず正常終了するが、test.logというファイルはカレントディレクトリに存在せず、もちろんt
rails+mysqlな環境では、booleanで定義したカラムはtinyint(1)で作られ、中身はtrue/falseではなく、0/1が入る。 そして、railsアプリケーション上でmysqlのtinyint(1)型データを扱う時、値は自動的にtrue/falseとして扱われる。 そこまでは知っていたんだけど、select('foobar_flg as fb_flg')というふうに、カラム名をエイリアスして取り出すと値が0/1なのは知らなかった。 具体的には下記のとおりである。 pry(main)> p = User.select(:foobar_flg) User Load (10.5ms) SELECT `users`.`foobar_flg` FROM `users` => [#<User id: nil, foobar_flg: false>] pry(main)> p.fir
turnipは、シナリオテストを自然言語風のDSLで記述・実行させることができるruby製のツールです。 ここでは、wikipediaを開いて「カブ」を検索するというシナリオを例にしてみます。 事前に webページの操作にはCapybaraを使います。 今回はrackアプリではないので、HTTP通信を行うためのdriverを別途用意する必要があります。 今回は比較的導入が楽でありHeadless(GUIを必要としない)ドライバであるPhantomJSを利用します。 OSXであれば、下記でインストールできます。 $ brew install phantomjs 準備 まずディレクトリを用意しましょう。 今回は、railsなどとは組み合わせず、シンプルにturnipだけを使います。 $ mkdir turnip_sample $ cd !$ $ bundle init Gemfileに下記を記
railsアプリケーションで、error以上のレベルのログだけ、2箇所にログを出力したいと思った。 前提 ruby 2.1.2 rails 4.1.4 方法 まず、複数の出力先にロギングするには、ActiveSupport::Logger.#broadcastというメソッドが使える。 config/application.rbのMyapp::Applicationクラス内に下記のように書いてみた。 logger = ActiveSupport::Logger.new(config.paths["log"].first) error_logger = ActiveSupport::Logger.new("log/error.log") error_logger.level = Logger::ERROR logger.extend ActiveSupport::Logger.broadcas
このページを最初にブックマークしてみませんか?
『Yuichi Takada · Yuichi Takada』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く