ria10のブックマーク (129)

  • 令和時代のWebシステム開発環境の「最低限」 - builderscon tokyo 2019

    Abstract CI・CD、クラウドインフラ、DDD、Docker、Unit・E2E testing、gitgithubetc...。 15年以上、システム開発に携わってきましたが、15年前はこれらのツール/手法のほとんどは世に出ていなかった一方で、今ではなくてはならないものになってきています。 「なくてはならない?こういうのが取り入れられるのは、イケてる自社サービスを持っているところだけなんじゃないの?」 いえ、うちは10名に満たないどこにでもあるような受託開発がメインの会社です。 メンバーだってCTO経験者の集まり、みたいな特殊なものではありません。 その当社をして「なくてはならない」と捉えている開発ツールや手法について、実際の活用方法や前提条件、必須度とその理由などを交えつつ紹介します。 こんな方向け 冒頭に例示したようなツール/手法を一度は導入してみたが、失敗したことがある

    令和時代のWebシステム開発環境の「最低限」 - builderscon tokyo 2019
    ria10
    ria10 2019/06/11
  • 数学を避けてきた社会人プログラマが機械学習の勉強を始める際の最短経路 - Qiita

    巷ではDeep Learningとか急に盛り上がりだして、機械学習でもいっちょやってみるかー、と分厚くて黄色い表紙のに手をだしたもののまったく手が出ず(数式で脳みそが詰む)、そうか僕には機械学習向いてなかったんだ、と白い目で空を見上げ始めたら、ちょっとこの記事を最後まで見るといいことが書いてあるかもしれません。 対象 勉強に時間が取れない社会人プログラマ そろそろ上司やらお客様から「機械学習使えばこんなの簡単なんちゃうん?」と言われそうな人 理系で数学はやってきたつもりだが、微分とか行列とか言われても困っちゃう人 この記事で行うこと 数学の基礎知識に慣れるための、数式が最初から出てこないプログラマ向けの数学入門書の紹介 機械学習の初学者には鉄板の、オンライン講座(MOOC)の機械学習コース紹介 環境 WindowsでもMacでもLinuxでも大丈夫(MATLAB/Octaveというツール

    数学を避けてきた社会人プログラマが機械学習の勉強を始める際の最短経路 - Qiita
    ria10
    ria10 2015/05/25
    機械学習
  • CircleCIアンチパターン 2015春 - tehepero note(・ω<)

    2015-03-31 CircleCIアンチパターン 2015春 CI CircleCI Docker 今日はCircleCIで気持ちよくCIを回すために、抑えておいた方が良いアンチパターンについて書きます。わりと基的な話なので、心当たりがあれば見直してみると良いと思います。 Fat Repository Anti Pattern(巨大なリポジトリ) CircleCIのコンテナは使い捨てですが、対象のリポジトリを毎回cloneするのではなくて、2回目移行は前回のCI時にキャッシュしておいたリポジトリを利用することで差分取得を実現しています。 checkoutフェーズのRestore source cacheのことですね。 この手法によって最新取得のコストを大幅に低減することができますが、コンテナ初期化時にS3からリポジトリのアーカイブを取得するという特性上、あまりにも巨大な数GB超えのリ

    CircleCIアンチパターン 2015春 - tehepero note(・ω<)
    ria10
    ria10 2015/03/31
    なお、MySQL5.6をそのまま使おうとすると45秒ほどのオーバヘッドが得られます。http://d.hatena.ne.jp/ria10/20150217/1424135330
  • 「整った開発環境」「優秀な仲間」「5時からビール」 会社に来るのが楽しくなるエンジニア天国・Indeedとは? - はてなニュース

    求人情報に特化した検索サービスを世界55ヶ国以上で運営するIndeedは、リクルートによる2012年の買収後も、開発者にとって仕事がしやすい環境をとことん追求するエンジニア文化を守っています。恵比寿ガーデンプレイスに移転したばかりの東京オフィスで働く同社のソフトウェアエンジニア5人に集まってもらい、はてなチーフエンジニアの大西康裕が開発スタイルや社風などについて聞きました。Indeed独自のワークスタイルに、はてな側も興味津々。知られざるエンジニア天国の実態とは? 記事の最後には、デルの27型4Kディスプレイ「P2715Q」が当たるプレゼントのお知らせもあります。 座談会出席者(上写真、左より):はてな 大西康裕、Indeedの村下瑛さん、濱田卓さん、山口有理さん、杉原啓太さん、落合徹さん (※この記事は、株式会社リクルートホールディングス提供によるPR記事です) ■ 開発スピードを生かす

    「整った開発環境」「優秀な仲間」「5時からビール」 会社に来るのが楽しくなるエンジニア天国・Indeedとは? - はてなニュース
    ria10
    ria10 2015/03/31
    IntelliJがないと生きていけない。
  • devise をあまりオススメしない理由 - HsbtDiary(2015-01-20)

    ■ devise をあまりオススメしない理由 いまいち使うのに気が乗らない理由はこんな感じ コントローラレイヤ以降に作用する gem は inspect が物凄くやりにくい、params ないし、必要なコンテキストを全て揃えた上で、コントローラを new して action を呼んで、みたいなこと、考えただけでもだるい テストを書いていたとしても、環境要因、特にセッションとクッキーに影響して挙動が変わる箇所が多すぎるので、全ての環境で正しく再現することが難しい フルスタックすぎることから Rails よりも devise にロックインされることの方が多くなって負債化する そもそも devise で便利になることの多くは、自分で作ってもわけない物が多い 使うからには、devise のコードも全部読むし、PR も投げるしという前提かつ、上のようなことを全て乗り越えるつもりなら僕は止めません!

    devise をあまりオススメしない理由 - HsbtDiary(2015-01-20)
    ria10
    ria10 2015/01/21
    自分の考えは間違ってなかった http://d.hatena.ne.jp/ria10/20140806/1407287053
  • クラウド会計ソフトでのシェア、freeeがNo.1になるまでにした5つのこと – 2014年のまとめ

    新年、明けましておめでとうございます。年も宜しくお願い申し上げます。 (以下、文語にて) 2015年初のブログポストは昨年のまとめとして2014年のfreeeを振り返ってみる。最も大きなマイルストーンは、クラウド会計ソフトにおいて、freeeがシェアNo.1 であるということが確認されたことだ。(デジタルインファクト調べ「クラウド会計ソフトの利用動向調査」より)」 これが達成できたのはもちろん、freeeを支えていただいている皆様のご支援にもとづくものであり、まずは皆様に大きな感謝を申し上げたい。そして、その背後にどのような動きがあったかをあわせて振り返ってみる。 1.「経理をとにかく簡単にして自動化する」挑戦と進捗 freeeの掲げるミッションは、「スモールビジネスに携わるみんなが創造的な活動にフォーカスできるような環境の実現」であり、そのために、バックオフィスの業務をテクノロジーによ

    クラウド会計ソフトでのシェア、freeeがNo.1になるまでにした5つのこと – 2014年のまとめ
    ria10
    ria10 2015/01/07
    freee給与が高過ぎて使えない
  • RailsでModelをDBから分割・整理する - リア充爆発日記

    それなりの規模のRailsプロジェクトではよくFat Model問題とかFat Controller問題が課題になってくる。 で、Fat Model問題については、Concernsなどに振る舞いを切り出したり、そもそも「それって1つのテーブルに収める必要ある?」というものを分割するなどの対策がある。 後者については、http://kenn.hatenablog.com/entry/2014/03/05/081525 この記事がわかりやすいサンプルとしてUserモデルからProfileモデルをテーブルごと切り出す例を挙げている。 今僕が関わっているプロジェクトでも上記例のように姓名などはProfileに切り出してあり、その他も住所関連の情報をAddressに、「退会理由」みたいなめったにつかわない情報をExtraInfoに、といったように意味合いと使用頻度を考慮していくつか分割する設計になっ

    RailsでModelをDBから分割・整理する - リア充爆発日記
    ria10
    ria10 2015/01/03
  • はてブオフのレポートなどを読んで思ったことを書くけどだいたい悪口なので気に入らない人は読まなくていいし何なら刺しに来てください - 今日も得る物なしZ

    まあ上辺だけ読んで実際の映像みたいなのは一切見てないので俺の想像だけで書くがまあ慣れ合いまくりのひどい会合だったようで参加者は全員任意の足の指の爪をもいでその爪をプランターか何かに埋めて芽が出るまで瞬き禁止の刑に処しておくところなんですけれどもやってることははてなユーザーが集まって街コンみたいなの開いたらむさいおっさんしか来なくて最終的にリア充が結婚したみたいな茶番を見せつけられて内心腹わたが煮えくり返るどころかマグマインザハラワタでありただそれを表に出すことによって場の空気を乱してしまうだろうみたいな嫌な空気の読み方をするはてなユーザー連中が出来損ないのアヒル口みたいな笑みを作りながらおめでとうおめでとう言ってたのではないかと推測され何だよそれエヴァの最終回かよみたいな流れだったらしいのですがよくもまあそんなつまんねえ会合を開いたなという思いしかなくそんなものに参加するくらいだったら俺は

    はてブオフのレポートなどを読んで思ったことを書くけどだいたい悪口なので気に入らない人は読まなくていいし何なら刺しに来てください - 今日も得る物なしZ
    ria10
    ria10 2014/07/17
  • unread gemとpublic_activity gemを組み合わせて使う - リア充爆発日記

    ハラが減ってるので、差分の作業だけメモっていく。 unreadは既読、未読的なやつができる。 public_activityは「○○から☓☓にいいね!がありました」みたいなやつができる。 この2つを組み合わせて、「○○から☓☓にいいね!がありました」が未読から既読にできるようにする。 それぞれのgemのことはそれぞれのギッハブに書いてあるからつぶさに読め。 https://github.com/pokonski/public_activity https://github.com/ledermann/unread 手順的にはpublic_activityを導入してから、そのactivityに対してunreadを絡ませることになる。 そこで最初に困るのが、gemなんでunreadのacts_as_readableを書く場所がない、ということなんだけど これは、元クラスを継承したクラスを作れば

    unread gemとpublic_activity gemを組み合わせて使う - リア充爆発日記
    ria10
    ria10 2014/04/17
  • オリジナルグッズ・アイテムを手軽に作成・販売できる通販サイト SUZURI by GMOペパボ

    画像を1枚アップするだけ まずは自分でつくったイラストや写真を 1枚アップロードしてみよう。 jpgやpngでOK! 自動的にアイテムができちゃう 画像をアップすると、あらゆるアイテムができ ちゃいます。Tシャツやトートバッグ、 マグカップなど、充実のラインナップ! 買えるし、売れちゃう 好きな価格で販売できます。 注文を受けてから作成するので在庫を 気にする必要もありません。

    オリジナルグッズ・アイテムを手軽に作成・販売できる通販サイト SUZURI by GMOペパボ
    ria10
    ria10 2014/04/02
    会員は、本サービスサイトにデザイン画像をアップロードした場合、当社に対して、当該商品データ等を、本サービスにおいて〜当該商品データ等の全部または一部を無償で利用することを非独占的に許諾する。
  • Rails4のconcernsなmoduleのテストをrspecで書く方法 - リア充爆発日記

    Railsとcapybaraで何かをドラッグアンドドロップしてソートするテストを書くではカテゴリをソートするfeaturesなテストを書いたけど、アレには当然modelのテストもある。 モデルにはCategory.reorderという並び替えを行うメソッドがあって、これのテストはcategory_specに書いていた。 が、別の種類のカテゴリが必要になり、もともとあったCategoryと同じ仕様でソートができる仕様であったため、FooCategoryとBarCategoryに分け、このソート処理をconcernsの下にCategorySortable moduleとして切り出した。 app/models/concerns/category_sortable.rb module CategorySortable extend ActiveSupport::Concern included d

    Rails4のconcernsなmoduleのテストをrspecで書く方法 - リア充爆発日記
    ria10
    ria10 2014/02/14
  • Railsのrspecが遅いので対応した結果wwwwwwwwwwwwww - リア充爆発日記

    rspecで書いているテストが遅い。CPUもめちゃ回る。めちゃ回ってあのスピードか。 rspec + guard + spork(spring試したい)で自動テストを回しているので、あまりテストのパフォーマンスが開発に影響することはなかったんだけど、けっこう大きいmodelの修正とかになると、1modelのテスト結果がでるまでも数秒かかってしまっていて、いよいよ耐えられなくなってきた。 ので、調査対応したときのメモ。 遅いテストを調べる rspec2系なら--profileというオプションをつければ遅いテストワースト10がテスト終了後に表示される。毎回表示されてもいいと思うので.rspecファイルに書いておく。 .rspec --colour --drb --profile ←追加ちなみに--profile 15とか数字を引数につけるとワースト10がワーストNになる。 遅いテストの内訳を調

    Railsのrspecが遅いので対応した結果wwwwwwwwwwwwww - リア充爆発日記
    ria10
    ria10 2014/02/14
  • 肥大化したActiveRecordモデルをリファクタリングする7つの方法(翻訳)

    更新情報: 2013/11/19: 初版公開 2021/01/08: 訳文見直し、追記 こんにちは、hachi8833です。今回は、自分が知りたかった、Active Recordモデルのリファクタリングに関する記事を翻訳いたしました。1年前の記事なのでRails 3が前提ですが、Rails 4以降でも基的には変わらないと思います。リンクは可能なものについては日語のものに置き換えています。 なお、ここでご紹介したオブジェクトは、app以下にそれぞれ以下のようにフォルダを追加してそこに配置します。 注記: 以下は使われそうなフォルダを列挙しただけであり、実際にはこの一部しか使いません。 Value Object Service Object Form Object Query Object View Object Policy Object Decorator ⚓ 肥大化したActive

    肥大化したActiveRecordモデルをリファクタリングする7つの方法(翻訳)
  • 動的にActiveRecordのプロパティにアクセスする方法 - リア充爆発日記

    参考:http://www.davidverhasselt.com/set-attributes-in-activerecord/ ふつう @user.name = "foo" とかやるところを、どういうわけかname1..name3くらいまであって、同じような処理をしたいときの話。 具体的にはバリデーションのテストだったんだけど。 @user["name1"] = "foo" みたいにやるとよくないケースがある。 というのも、これだとデフォルトのアクセサをスキップしてしまうので、バリデーションのプロセスなどを通らない。 デフォルトのアクセサと同じように扱いたい場合はこれだとよくない。 で、結論なんだけど以下のように書ける。 @user.attributes = {"name1" => "foo"} テストのときは、こんなかんじでイケた。 3.times do |i| describe "

    動的にActiveRecordのプロパティにアクセスする方法 - リア充爆発日記
    ria10
    ria10 2014/01/17
  • Railsとcapybaraで何かをドラッグアンドドロップしてソートするテストを書く - リア充爆発日記

    今回はカテゴリを画面でソートできることをテストする。たとえばブログで言えばブログカテゴリの表示順を管理画面でソートしたいとき、などの話。 こんな画面で、ドラッグアンドドロップでソート後、更新ボタンを押したら、その順番に更新される、という仕様のテストを書く。 実装はここでは省くとして、テストを書こうと思ったときにD&Dをどうやるかがポイントになると思われる。 で、capybara-webkitにはdrag_toというメソッドがあるので、これで解決した。 なので、capybara-webkitを使う前提なので使えるようにしといてください。 ちなみにソートUIにはjquery-sortableを使ってます。 具体的にはこんな感じ。 view <section id="blog-categories" class="categories"> <header class="page-header c

    Railsとcapybaraで何かをドラッグアンドドロップしてソートするテストを書く - リア充爆発日記
    ria10
    ria10 2013/12/31
  • SQLでエスケープなんてしたら負けかなと思ってる。 - めもおきば

    オレオレSQLセキュリティ教育は論理的に破綻している | yohgaki's blog 「プリペアードクエリが基だけど、動的に SQL を組み立てる場合もあるから、そういう場合に備えてエスケープも知っておいたほうがいいかも」 - Togetterまとめ SQLインジェクション対策で大垣靖男氏は何を勘違いしていたか | [ bROOM.LOG ! ] エスケープとプレースホルダをめぐる議論 - Togetterまとめ SQLインジェクション対策としてのプリペアドステートメントとエスケープについての議論 - Togetterまとめ IPAの「安全なSQLの呼び出し方」が安全になっていた | yohgaki's blog SQLへの安全な値の埋め込み方について、ここ数日で色々議論というか意見の投げ合いがありましたが、自分としての考えをまとめておきます。 1. SQLに値を埋め込む場合は、プリペ

    SQLでエスケープなんてしたら負けかなと思ってる。 - めもおきば
    ria10
    ria10 2013/12/12
  • SporkからSpringに乗り換えた結果wwwwwwwwwwww - リア充爆発日記

    今までrspec + guard + sporkでやってきましたけど、sporkのテストにしか効かないあたりとかはイマイチだなぁ、と思ったので噂のSpringに乗り換えてみることにした。 Gemfile group :development, :test do gem "rspec-rails", "~> 2.13.0" gem "guard-rspec", "~> 2.5.2" ~snip~ gem 'spring' end $ bundle install $ spring binstub rspec $ spring rspec Coverage report Rcov style generated for RSpec to /Users/ria10/IdeaProjects/hoge-web/coverage/rcov /usr/local/opt/rbenv/versions/

    SporkからSpringに乗り換えた結果wwwwwwwwwwww - リア充爆発日記
    ria10
    ria10 2013/10/17
  • coffeescriptでファットアローとthisの両方使いたいとき - リア充爆発日記

    こんな感じのときの話。 <li class="someArea"><button><i class="icon-trash"></i></button></li> $someArea.on("click", (evt) => @obj.trigger("triggerOnClick", $(this))) ここで俺っちが$(this)に入っててほしいのはliなんだけど、この場合は当然this=@ですから目的は果たせない。 ファットアローじゃないと@objにアクセスできないし、thisも使いたいしどうしよう困ったでも使えないからevtから辿るしかないよねと思ってtargetにしてみた。 $someArea.on("click", (evt) => @obj.trigger("triggerOnClick", $(evt.target))) そうすると、今度はクリックのしどころによって入ってく

    coffeescriptでファットアローとthisの両方使いたいとき - リア充爆発日記
    ria10
    ria10 2013/10/16
  • Rails3+rspec2でWeb APIサーバのpostをテストする方法がよくわからなかった件 - リア充爆発日記

    RESTful APIとWebサイトを1つのアプリケーションで作るの続き。 最初にテスト書こうと思ってintegration_testから攻めようと思ったらpostが発行できない。(か、もしくはする方法がわからない) けっこうな時間を調査に費やした結果、postを発行しようと思ったらcontrollerのテストとして書かないとダメっぽい。rspecはテストクラスが配置されているディレクトリも見ているそうな。 リクエストの発行からレスポンスの受取まで一気通貫したテストを書きたいので、controllerのテストでいいのか?という気持ちはあったけど、もうわかんないからそれでいいや、いつか誰か何が間違ってるのか教えてくれるだろ。 spec/controllers/v1/users_controller_spec.rb require 'spec_helper' describe V1::User

    Rails3+rspec2でWeb APIサーバのpostをテストする方法がよくわからなかった件 - リア充爆発日記
    ria10
    ria10 2013/10/11
  • Railsでメール送信系のテストを行うには〜email-spec - リア充爆発日記

    会員登録時やパスワードリマインダーなどで発生するメール送信のテストはどうやってするのか調べたところ、email-specというgemが目的にぴったりっぽかった。 その名の通りRSpecとあとはMiniTestとCucumberに対応している。 email-specをRSpecに導入するメモ。 ※最後に重要なお知らせがあるので必ず確認してください。 準備 Gemfile group :development, :test do ~snip~ gem "email_spec", "~> 1.4.0" ~snip~ end spec_helper.rb require 'email_spec' ~snip~ RSpec.configure do |config| config.include EmailSpec::Helpers config.include EmailSpec::Matcher

    Railsでメール送信系のテストを行うには〜email-spec - リア充爆発日記
    ria10
    ria10 2013/10/07