タグ

ブックマーク / docs.komagata.org (34)

  • [RubyTips] 頻出名詞をクラスに抜き出す - komagataのブログ

    プログラミングスクールのフィヨルドブートキャンプの提出物のレビューでよく指摘するシリーズ。 メソッド名に同じ名詞が頻出する場合、その名詞をクラス名として抜き出すとスッキリすることが多い。特にそれらのメソッドが同じインスタンス変数を使ってる場合は尚更。 Bad: class File attr_accessor :permission def open # ... end def check_permission # ... end def fetch_permission # ... end def permission_characters # ... end end Good: class File def open(path) # ... @permission = Permission.new(file) end end class Permission def initializ

  • 人事リセット問題 - komagataのブログ

    人事リセットとは イベントなどで経営者や現場の人間と意気投合し、是非にと言われて面接に行ったら人事の人には何も話が通ってなくて、 「履歴書・職務経歴書について説明してください。前職ではどのような役割を・・・」 みたいなこと言われて、 「え、知ってて誘ったんじゃなかったの?あれだけ盛り上がったのに無かったことになってる・・・?」 となって意気消沈し、一次面接を通過したのに、 「会社の雰囲気が思ってたものとちょっと違った」 という理由で応募者が二次面接を辞退してしまう現象を言います。 面接を受ける人も紹介する人も経営者も人事も全員不幸になってる気がする。これどうにかなんないの・・・? 人事リセットはネガティブなことか そもそも面接というのはいかに良くない人を落とすかが目的で、その為には入社するべき良い人が多少落とされてしまっても仕方ないという考えもあります。 しかし、市場環境的に現在はプログラ

  • オブジェクト指向に至るまで流れ - komagataのブログ

    フィヨルドブートキャンプで、オブジェクト指向プログラミングが難しいと感じている人が多いようなので、そこに至るまでの流れを正確さは度外視してざっくりお伝えします。 昔 1 # xxxまでfile読み込みの処理 2 # ... 3 # ... 4 # ... 5 # ... 6 7 goto 1 # read処理の行番号 8 9 goto 101 # write処理の行番号 10 11 goto 201 # delete処理の行番号 同じ処理を呼び出すにはそれが書いてある行へジャンプする命令を呼んでた。 関数の時代 同じ処理をまとめて名前つけて呼び出せたらいいよね。(終わったら自動で戻ってくる) def file_read(filepath) # ... end def file_write(filepath, data) # ... end def file_delete(filepath)

  • Heroku Review Appsで無限ステージング環境 - komagataのブログ

    TL;DR HerokuでPull Request毎にステージング環境が勝手にできるようになりました。 Review Apps自体はHeroku Buttonから続くWebアプリデプロイの自動化の流れの成果の内の一つとです。もともとPipelinesを自分で色々やればできたろうとは思いますが、管理画面だけでPR毎の自動環境構築ができるのはクッソ便利です。 Sendagaya.rb #127で下記の発表をさせていただきました。 Sendagaya.rb #127に行ってきました - komagata Review Appsで無限ステージング環境 // Speaker Deck スライドみればわかりますが、githubとconnectして、環境変数・addon選んでapp.json生成して、PR作れば勝手にステージング環境ができます。PRがmergeされれば消えます。 AWS + docker

    a2ikm
    a2ikm 2018/10/02
  • railsでemailのvalidaiton - komagataのブログ

    validates :email, format: { with: URI::MailTo::EMAIL_REGEXP, message: "Emailに使える文字のみ入力してください" }

    a2ikm
    a2ikm 2018/09/13
    URI::MailTo::EMAIL_REGEXP なるほどー。
  • EuRuKo2018に行ってきました - komagataのブログ

    行ってきました。 ウィーンのオシャレさにアウェイ感を感じていましたが、おなじみのHerokuやCookpadのブースが並び、オマエラが大挙してきてすぐにホーム感満載となりました。 Matzのお話はRubyKaigi2018と概ね同じでしたが、AIに関して少し踏み込んだ感じでした。 RubyKaigiとの違いを感じた点はいくつかありました。 1 発表のスケジュールがゆったり 1セッション30分で、2セッションやったら休憩。このペースは自分としては集中力に余裕ができてよかったです。 2 発表中にPC見てる人が少ない 大体RubyKaigiでは95%ぐらいPCみてるけどEurukoでは5%ぐらいしかPC見てる人いない感じがしました。発表をしっかり聞いてる感じがしてこれはいいなと思った。そもそも聞きたくない人は出ていってるのかも。 3 発表の内容がマイルド これはRubyKaigiだけが異常だと思

  • rails+postgresでidにuuidを使う - komagataのブログ

    「知り合いの凄腕エンジニアに聞いたんだけど、/users/32ってURLにユーザー数が丸見えになってるって、このセキュリティーは流石にまずいよ、駒形さん」 みたいに言われることが稀によくあるので、idをuuidにしました。 postgresの設定 rails5からpostgresのuuidを生成する関数を簡単にidとして使えるようになってるそうです。 herokuのpostgresは対応してるのでいいかもです。 Macのbrewで入れたpostgresはデフォルト無効なので有効にしてあげる必要がありますが、superuserじゃないと駄目です。 postgres=# SELECT uuid_generate_v4(); ERROR: function uuid_generate_v4() does not exist ↑関数がない。 デフォルト状態ならばsuperuserはpostgres

  • textareaを画像アップ可能なmarkdown editorにするnpmモジュール - komagataのブログ

    @machidaさんが 「全てのテキストエリアはgithubみたいに画像のD&D・コピペができて欲しい。あとMarkdownで書きたい。」 と常々言っていて、僕もちょっとしたコメント欄でもMarkdownが使えたら嬉しいけどいちいち実装が面倒なので、 「確かにそうですよねー」 と言って流していました。 しかし流すのにも限界がきたので、TEXTAREを画像のD&DとコピペができるMarkdown Editorにするnpmモジュールを作りました。 komagata/textarea-markdown: Make textarea a markdown editor. railsで使うなら下記のような感じです。 <textarea id="editor" data-preview="#preview"></textarea> <div id="preview"></div> import Tex

  • いつもrailsで使ってるパンくずのコード - komagataのブログ

    好みのgemが無いのでいつも書いてるヤツをご紹介します。gemにすると仰々しくなりそうでしない。 使い方 例えば、 トップページ > ブランド一覧 > ブランド個別 > モデル個別 > グレード個別 のような構造になってる車のサイトのグレード個別ページの場合。 indexやshowのviewの上の方に書く。(設定ファイルやcontrollerに書くやり方は好かん) リンク文字とURLをadd_breadcrumbする。 - add_breadcrumb "全てのブランド", brands_path - add_breadcrumb @grade.model.brand.name, @grade.model.brand - add_breadcrumb @grade.model.name, @grade.model - add_breadcrumb @grade.name, @grade (

  • HugoのページをCircleCIでbuildしてGithub Pagesにアップする - komagataのブログ

    8年振りに会社ページがリニューアルされました。 Fjord, LLC hugoで作ってGithub Pagesで公開しています。 デザインに関しては@machidaさんの記事をご覧ください。 会社サイトをリニューアルしました | FJORD, LLC(合同会社フィヨルド) デザインもhugoも@machidaさんがやったので僕はほとんど何もやってないですが、 「ページをpushするとCircleCIbuildしてアップ」 という部分だけやりました。 fjordllc/fjordllcリポジトリのsourceブランチmarkdownの記事ファイルをアップするとCircleCIがhugobuildしてmasterにpushします。 masterブランチのdocsディレクトリがGithub Pagesで公開されるようになっています。 CircleCIのcircle.yml general:

  • RailsでDBのデータ変更はどこに書く? - komagataのブログ

    productionのデータ変更処理をmigrationに書くとrails_best_practicesに怒られる。 Rails Best Practices | Isolating Seed Data 怖話のコードで言えば下記の様なもの。 # encoding: utf-8 class InsertSeedToSound < ActiveRecord::Migration def up Sound.create!(id: 1, name: "鳥の鳴き声") Sound.create!(id: 2, name: "犬の鳴き声") Sound.create!(id: 3, name: "水滴") Sound.create!(id: 4, name: "カエルの鳴き声") Sound.create!(id: 5, name: "ラジオのチューニング") end def down Sound.d

  • 会社をプログラマー目線でチェックする - komagataのブログ

    9月1日から株式会社Blaboで週2日で働いています。Blabo開発、開発チーム構築、プログラマーのリクルーティングがお仕事です。流行りの暫定CTO的なやつです。1ヶ月で開発が回るようになってきたのでプログラマーの募集を開始しました。 しかし、人事部の出すプログラマー募集っておれら/おまえら的に嘘くさいし、知りたい情報じゃなかったりするので、 「プログラマーとして入社を検討している会社について知りたいこと」 という視点から独自の調査をしていきたいと思います。 RubyRailsのバージョン 100人中65535人のRailsプログラマーが、会社を選ぶ時は給与や福利厚生ではなく、ましてや会社のビジョンでもなく、 「使っているRubyRailsのバージョンで決める」 と答えています(確信) Gemfileを見てみました。 source "https://rubygems.org" ruby

    a2ikm
    a2ikm 2015/10/08
    ジビエ感とは
  • Herokuでrootドメインを独自ドメインで使う - komagataのブログ

    Herokuでwww.foo.comとかじゃなくfoo.comのようなrootドメインを使うのは面倒です。 (root, naked, bare, zone apex domainなど色んな呼び方があるのもググり辛くて面倒な要因) 以前は「このIPをAレコードに設定してね」と公式ドキュメントにも書いてあったのですが現在は「SimpleDNSなどの仮想Aレコード的なものが使えるサービスを使え、もしくは逆に考えるんだ。rootドメインなんて使わなくってもいいさ・・・と。」と書いてあります。 そんなジョースター卿のような逆転の発送はなかなかできませんし、SimpleDNSは$3/moだったりしてちょっと高い。 ところが12レコードまで無料でHeroku向け設定をポチッとやってくれるDozensというサービスを発見。 DNSを自由に簡単に。Dozens(ダズンズ) ワーオ!Add Heroku R

  • レガシーPHP改善日記シリーズ - komagataのブログ

    「FRINGE/フリンジ」の J.J. エイブラムスと「ダークナイト」の脚家ジョナサン・ノーランが贈るわけではない、IT業界のタブーに切り込んだサスペンス実話。 (私人は真剣にレガシーPHPに取り組んでおります。) シーズン1 エピソード1 エピソード2 特別編1 レガシーPHPプロジェクトあるある エピソード3 特別編2 phpプログラマーの募集 エピソード4 エピソード5 エピソード6 エピソード7 エピソード8 特別編3 PHPMatsuri2012 エピソードLAST シーズン2 エピソード0 エピソード1 エピソード2 エピソード3 番外編1 ピクルス原理を誤用(応用)する エピソード4 エピソード5 エピソード6 PHPの落とし穴 PHPの落とし穴1 ツール レガシーPHP診断 レガシーPHP診断 - みんなの診断結果 レガシーPHP改善・コンサルティングはこちらから承って

  • DNA検査のMYCODEを使ってみた - komagataのブログ

    ツバから採取したDNAから病気の発症リスクなどを教えてくれるMYCODEを(会社の経費で)使ってみました。 MYCODE(マイコード) | これから先の健康のために自宅でできる遺伝子検査を 日人平均と比べてかかりやすい病気とその対策を教えてくれます。 僕が申し込んだのはオールインワン280+ってやつです。280項目と言われてもそんなに見きれませんが。 Webサイトから購入するとこういう昔のAdobeのパッケージみたいなので検査キットが届きます。 DNAを採取するのにツバってのは確かに便利かもなあという感じ。 「唾液を出しやすくするために、ご覧ください。」 と、こういうカードが入ってるのが面白い。 郵送で送り返してからWebサイトで結果が見れるようになるまで二週間ぐらいかかった気がします。 その間に体や生活習慣に関するアンケートが大量にあって、その回答も結果に影響してくるようです。 こうい

    a2ikm
    a2ikm 2015/02/12
  • db/fixturesからseedをimportするgem - komagataのブログ

    railsでいつも下記のようにしてたのでgemにしました。 # lib/seed_helper.rb: require 'active_record/fixtures' module SeedHelper def import_fixture(name) puts "Import #{name}..." ActiveRecord::FixtureSet.create_fixtures \ "#{Rails.root}/db/fixtures", name end end # db/seeds.rb: require 'seed_helper' include SeedHelper # この2行がウザい import_fixture :users import_fixture :posts seed系のgemはたくさんあるけど俺にはどれもオーバースペックだったので。 simple_seed

  • 俺の被害妄想でrailsが死ぬ時 - komagataのブログ

    昨日EdTech Hackathonに行って久しぶりに色々なWeb関係の方の空気に触れて思った事。 俺はrails好きで強力だし楽しいなーと思うんだけど、 「GoogleからJSのシングルページでもSEO的にペナルティが全く無くなったらサーバーサイド要らねんじゃね?mBaaSで良くね?」 とか 「ちょっとしたサーバーサイドの処理はPHPで良くね?エンジニア多いし、安いし、技術的負債とかセキュリティ・ホールとか経営者からしたらたいして気にならないし、実際の所よくわからないし、来年どうなってるかわからんし。」 とか 「railsエンジニアとか単価高い割に何やってるのかわからないし。テストを書いてます?もっとこうガーッと派手に動く機能追加してくれねえかなあ?」 とか 「長期的なプラットフォームとかはガッツリ作ってくれて構わないけど、もっと雑でいいから短命のモバイル・アプリ量産してくれねえかな?」

    a2ikm
    a2ikm 2013/10/28
  • 画像をS3にアップする - komagataのブログ

    paperclipで画像をアップロードしてた場合、S3に移行するのは簡単。paperclipはDB内にファイルのパスを持ってるわけじゃないので、サーバーファイルシステム上の画像を全部S3にコピーした上でアプリの設定を変えれば良い。 # Gemfile: gem 'paperclip' gem 'aws-s3' gem 'aws-sdk' # config/initializers/paperlicp.rb: if Rails.env.production? Paperclip::Attachment.default_options.update( storage: :s3, s3_credentials: "#{Rails.root}/config/s3.yml", s3_host_alias: Settings.cdn_host, path: ":class/:id/:attachmen

  • あたま うじお - komagataのブログ

    @ko8「@komagataさん、ちょっと確認したいんですけど、僕って8月末までプログラミングを勉強して9月から就職活動する・・・んでいいんですよね?」 @komagata「え?そうなんじゃないの?」 @ko8「ちょっと迷ってて。7月末に前に話してた友達が日に帰ってくるんですけど。」 @komagata「あの、一緒に起業するって言ってたのに裏切って就職するっていって香港に行ったというあの?」 @ko8「いや裏切ってないっすよ。良いヤツですよ。そいつが7月末に帰ってくるのでまた一緒に起業しようって。」 @komagata「え?香港で就職はどうなったの?」 @ko8「そいつは香港の会社でインターンしてたんですけど、就職したら日の部署に配属になるからそれだったら嫌だって話になって。」 @komagata「へえ。それで起業って何するの?」 @ko8「前から考えてたんですけど、ニートとか引きこも

    a2ikm
    a2ikm 2013/07/24
    komagataさん優しい
  • 俺の考えるプログラマー35歳定年説 - komagataのブログ

    おはようございます。高熱を出したまま35歳、アスキーコードで言えば#歳になりましたkomagataです。 間違えてて去年書くはずだったプログラマー35歳定年説について。(その来年がきたよ~、見てる〜? > 俺) パッピーバースデートゥーミーフロム俺 - komagata 「フィジカル、メンタルで衰えてくる」とか「マネジメントへの参加要求が強まり自然にプログラミングから遠ざかる」とか「求められる成果の総量が上昇するのでしかたなく」という面も確かにあると思います。 しかし、 「平均的なキャリアプランなんぞ知ったことか。こっちは大手町辺りに派遣されてスーツで一生デスマ案件でJavaを書き続ける覚悟は完了してるんだよ!」 という我々にとっては関係ありません。にも関わらず我々が長文を書いてしまうのはなぜでしょう? それは「誰も見てなくても関係ない」「真理鉱山に篭って一生続けられる」はずのプログラミン

    a2ikm
    a2ikm 2013/06/23
    おめでとうございます