タグ

ブックマーク / qiita.com (257)

  • マイクロサービス時代に捧ぐ、Railsでの中規模APIサーバ開発のための技術構成 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 初めまして、qsona (tw) と申します。Ruby on Rails Advent Calendar 2016 6日目の記事になります。 Rails歴は10ヶ月で、もちろんAdvent Calendarへの参戦も初です。 全体的に生意気な内容と思いますが、 じゃんじゃんマサカリ投げてください お手柔らかにお願いします。 はじめに 環境 JSONを返すAPIで、データベースはRDBを想定してます。 あんまり関係ないですが一応、Rails5 (api mode) + MySQLを想定しています。 マイクロサービスとしてのバックエンドに使

    マイクロサービス時代に捧ぐ、Railsでの中規模APIサーバ開発のための技術構成 - Qiita
    t-wada
    t-wada 2016/12/09
    良い。以前 Rails と SQLアンチパターンの講演で FiNC さんにお伺いしたときにガッツリ議論した内容だ。
  • PHP でどのように Exception/RuntimeException/LogicException を使い分けるか - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    PHP でどのように Exception/RuntimeException/LogicException を使い分けるか - Qiita
    t-wada
    t-wada 2016/12/05
    PHP の例外設計の基本、 Error, LogicException, RuntimeException とその他の Exception の使い分けについて。バグを示すもの、実行時例外を示すもの、準正常系を示すものなど、きちんと理解しておかなければならない。
  • Railsのポリモーフィック関連とはなんなのか - Qiita

    はじめに Railsのポリモーフィック(polymorphic、多態性)関連について、実装方法を説明している記事は見かけるのですが、実際これがどんなものでどんな時に便利なのかを説明している記事があまりなく、よくわからないで使っている人もいるようなので記事を書きました。 実装方法そのものについては詳細には説明しませんので、Railsのポリモーフィック関連をどう書くのかを知らない方はまずは公式ドキュメントを読んでいただけると理解が早いかと思います。 ボリュームは少ないので、2分もかからないかと思います。 Rails Guides: 2.9 ポリモーフィック関連付け "どんなものか"について、先に結論 ポリモーフィックとはダックタイピングの一種であり、 別の言い方をするとGoFのデザインパターンで言うところの「プログラムは実装に対してではなく、インターフェースに対して行う(Program to

    Railsのポリモーフィック関連とはなんなのか - Qiita
    t-wada
    t-wada 2016/12/05
    別の観点からの意見として、『SQLアンチパターン』の「第6章 ポリモーフィック関連」もあわせて読んでみてください
  • Rails5.1に向けてフロントエンド周りで起こっている革命まとめ - Qiita

    こんにちは Rails5.1に向けて、DHHのjqueryを依存から外す発言を発端にフロントエンド周りが急激に発展しているので、簡単にですがまとめてみました。 各issue, PRの詳細には踏み込みませんが、知見に溢れているので読んでみるの推奨です。 間違い、足りないものがあったら編集リクエストお願いします。 jQuery依存を無くす話が出る rails(issue): Drop jQuery as a dependency jquery-ujsはjqueryに依存しないようにする jquery-ujs: Drop jQuery as a dependency "jquery"-ujsじゃなくなったので名前変更 rails-ujs誕生 実際にRailsからjquery依存がなくなる rails: Drop jQuery as a dependency jsライブラリを入れる方法がnpmパッ

    Rails5.1に向けてフロントエンド周りで起こっている革命まとめ - Qiita
    t-wada
    t-wada 2016/12/05
    周回遅れを挽回して一気に最新に追いついてしまおうというこのスピード感。優しい独裁者のいるプロダクトならではだな。(webpack で大丈夫なのか? という懸念はある)
  • 高校生にWeb上でプログラミングを教え始めたエンジニアがこの8ヶ月間で得た気づき - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 画像: N高等学校課外授業(N予備校)での生放送授業のブラウザ上での見た目、コメントが書ける 目次 はじめに 教えることになったきっかけ Web企業にエンジニアとして就職できるようになる、というミッション 既存のWeb教材に感じた問題意識 「各自進められるゲームブック形式の教材」と「徹底的にフォローする生放送授業」 コンセプトをもとに構成されたコースと内容 ゼロからプログラミングができるようになった人が生まれた日 永劫、プログラミングは一部の天才たちのためのものか? プログラミング学習のモチベーションの課題と対応 まじめなオタクたちが社

    高校生にWeb上でプログラミングを教え始めたエンジニアがこの8ヶ月間で得た気づき - Qiita
    t-wada
    t-wada 2016/12/01
    N高のプログラミング授業がよく考えられた構成になっており、その背景には sifue さんの熱すぎるくらいの情熱があることがよくわかる。素晴らしい文章だと思う。
  • 職務経歴書をGitHubで管理しよう - Qiita

    この記事について 職務経歴書をGitHubで公開して転職活動を楽にしようという提案です。 書類めんどくさい 職務経歴書や履歴書、毎回書くの面倒ですよね。なので、最近(相手が問題なければ)履歴書はWantedlyのリンクを送るようにしてみました。 ただ、職務経歴書はなかなかいいサービスがないので難しいと悩んでいました そんなときに @kubosho_ さんがGitで管理してGitHubでプレビューできるようにしていると聞きました、頭いい! しょうがないので職務経歴書をGitで管理してGitHubでプレビューできるようにしてます… — kubosho_ (@kubosho_) 2016年11月21日 というわけで私も採用して、公開しました。 https://github.com/okoysm/Curriculum-Vitae ※ちなみにkubosho_さんオリジナルではなく、他の人を真似した模

    職務経歴書をGitHubで管理しよう - Qiita
    t-wada
    t-wada 2016/11/30
    プログラマの職務経歴書をオープンソース化する試み。これはいいな。
  • 現場を改善したいあなたに送る、くじけない業務改善のメソッド - Qiita

    現場を改善するというのは難しい。そして徒労である。 こちらの記事を読んで、当時のことを幾ばくか思い出すきっかけになった。 業務改善を現場に求める狂気 私も実際に現場の改善に取り組んだことがある。ただ、その中には失敗だけでなく成功もある。というか、多くの失敗から成功させるために何が必要なのかを得たという感じで、成功したものは後半に行ったものになる。成功といえるものの中で大きめなものは、以下の二つになる。 Gitによるバージョン管理と、タスク管理ツールの導入(当時書いたもの) 開発にJavaScriptフレームワークを導入(当時の検証結果をまとめた記事) 私が身につけた手法が、改善を目指す誰かがくじけないために有用なこともあるかもしれないので、ここで得られた知見を紹介しておこうかと思います。つまりこれは、ポエムです。 前提: 改善できないのは特別なことではない 何かを改善したいと行動してみる。

    現場を改善したいあなたに送る、くじけない業務改善のメソッド - Qiita
    t-wada
    t-wada 2016/11/28
    くじけずに現場を改善していく進め方 "1.必然的状況の共有 2.効果を体感してもらう 3.最初のひとりを得る 4.外から扇いでもらう" とてもいい
  • 「Microservices Meetup vol.4」に行ってきた - Qiita

    ブログ/Qiitaまとめ枠で参加させてもらいました! Advent Calendar作ったから是非参加してね!(切実)とのこと。 http://qiita.com/advent-calendar/2016/microservices あとから資料のURLとか補完しまーす。 →資料補完しました。 Togetter https://togetter.com/li/1053879 発表まとめ 「AbemaTVにおける Microservices Architecture」 by 西尾亮太さん (CyberAgent, AbemaTV) AbemaTVについて 無料で見れる24時間365日完全編成インターネットTV https://abema.tv PCもスマホもタブレットもTVデバイスも対応してます! 番組表がある(リニア放送)のが特徴です。砂嵐がないよ! プレミアムプランならオンデマンド放送も

    「Microservices Meetup vol.4」に行ってきた - Qiita
    t-wada
    t-wada 2016/11/24
    "Microservice化はどこの事例でも「多人数<<<<精鋭数人」での開発" "サービス境界切り分けに高スキル設計者が必要" "モノリシックで作って、大きくなった部分をマイクロサービスとして切り出すのが現実解"
  • レトロエンジニアのための近代Webフロントエンド事情 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? フロントエンド開発という言葉があちらこちらから聞こえてくる。 「反対語はバックエンド開発だから、サーバとかCUIじゃない、アプリとかGUIあたりのことを指す広い意味の言葉だよね。」 ・・・とか思ってたらとんでもない。 世の中ではJavaScript界隈を限定している風な使われ方をしている。 私のような C/C++ メインのレトロエンジニアは肩身が狭くなるばかりである。 文は、近年のWeb技術に追いつこうと調査した結果のメモ書きである。 n番煎じの内容だが、Web業界にいない人間の視点 なので、私と同類のレトロエンジニア等、一部の人には

    レトロエンジニアのための近代Webフロントエンド事情 - Qiita
    t-wada
    t-wada 2016/11/24
    "ここまでが、トランスパイラを中心とした脱旧JavaScriptの流れの話。 次はモジュールの話である。「上をコンパイラの話とすれば、次はリンカの話」 と思って読むと割合すっと頭に入るかもしれない" わかりやすい表現
  • Node 学園祭 2016 個人的なまとめ - Qiita

    Node 学園祭 2016 印象に残ったセッションのまとめ。 計画・実施されたみなさま、とても楽しかったです。ありがとうございました !! 動画も公開されたようです。 Demystifying JavaScript Engines http://slides.com/a0viedo/demystifying-js-engines#/ https://github.com/a0viedo/demystifying-js-engines http://togetter.com/li/1047918 JavaScript エンジンについてのセッション。 2006 年ごろの牧歌的なインタープリターのハナシからはじまって、 JIT のかけ方、各実装ごとの最適化のかけかた、 Garbage Collection の実装まとめまで。 最後の話題である GC について↓あたり読めばいいかも。 http:/

    Node 学園祭 2016 個人的なまとめ - Qiita
    t-wada
    t-wada 2016/11/17
    "思想を体現していてめちゃくちゃかっこいい" #nodefest は自分にとって「こういう問題意識と設計思想でプロダクトを作っています」という、作者視点の話ができる貴重な場所です
  • null安全はいいぞ。だって、型安全はいいぞ。 - Qiita

    はじめに ここ数日、null安全についてバズってますね! null安全でない言語は、もはやレガシー言語だ http://qiita.com/koher/items/e4835bd429b88809ab33 そういや先週はt-wadaさんのスライドもバズりましたね。 PHP7で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計 / PHP Conference 2016 https://speakerdeck.com/twada/php-conference-2016 これらの記事、実は同じ話してるなぁ🤔と思ったので、まとめてみました。 ※なお、この記事はコード改善 meetup #2 http://kaizen.connpass.com/event/42118/ での同名の発表を、文章形式でリライトしたものです。 スライド版(Speaker Deck)はこちら。 nul

    null安全はいいぞ。だって、型安全はいいぞ。 - Qiita
    t-wada
    t-wada 2016/11/15
    "あれっ、t-wadaさん、PHP confなのにnull安全の話をしてたのかな? って気分になってきますよね。なってきませんか" 防御的プログラミングの話をしていたので、必然的に近づいていきますね
  • PHPで列挙型(enum)を作る - Qiita

    <?php abstract class Enum { private $scalar; public function __construct($value) { $ref = new ReflectionObject($this); $consts = $ref->getConstants(); if (! in_array($value, $consts, true)) { throw new InvalidArgumentException; } $this->scalar = $value; } final public static function __callStatic($label, $args) { $class = get_called_class(); $const = constant("$class::$label"); return new $class($

    PHPで列挙型(enum)を作る - Qiita
    t-wada
    t-wada 2016/11/04
    PHP のリフレクションを活用した短くシンプルな列挙型実装。 PHP カンファレンス 2016 登壇の際に参考にさせて頂きました。
  • ドキュメント作成時のあるあるアンチパターン20 - Qiita

    業務でドキュメントを作成するケースは多々ある 例:仕様書・設計書・提案書・メール・障害票... ここでは各ドキュメント共通してありがちなアンチパターンをまとめてみました。 1. 表記がバイト表示・マイクロ秒表示 プログラムが出した数値をありのままに表示するパターン ファイルサイズが100MB, 1GBあろうと、バイト表示にする 桁数が多い数値に、桁区切り(,)を入れない 時間を何でもマイクロ秒・ミリ秒にする(1/100万秒までの精度が必要?体感で分かる?) 桁数が多い=精度が高い=良い文書、ではなく、見る人が必要とする精度に切り上げることが重要(売上で1円単位まで出すことが無いのと同様) 悪い例 No ファイル名 ファイルサイズ(byte) 処理時間(秒)

    ドキュメント作成時のあるあるアンチパターン20 - Qiita
    t-wada
    t-wada 2016/10/03
    コメント欄も含め、良いまとめ
  • 「JustTechTalk#07 Javaスキルアップ大作戦」に行った - Qiita

    ATOK Sparkのご紹介とJavaによるプラグイン開発 Speaker 國貞 暁さん(ジャストシステム社) GitHubで公開しているATOK Sparkについて、実際の開発者から機能概要のご紹介と、Javaでプラグイン開発について、ご説明いたします。 ATOK Sparkについてはこちらからご参照ください。 https://github.com/JustSystems/ATOK_Spark (以上、Doorkeeper ページより) ATOKとは ジャストシステム社で開発している日本語入力システム エンジニアのニーズの一部(プログラムを書いている時の入力効率化)が取り残されていた ATOK Spark 日本語入力システムではない、新しい入力支援システム - 2016年8月に公開開始 - Windows/Mac - ATOKなしで動く 「文字入力の効率化」を実現する機能 定型フレーズ入

    「JustTechTalk#07 Javaスキルアップ大作戦」に行った - Qiita
    t-wada
    t-wada 2016/09/02
    "本当にあった怖い話: ログ監視システムのアラートメールの本文が java.lang.NullPointerException: null だった" 恐ろしい……ところで ATOK Spark がなかなか面白そう
  • 押下(おうか)にまつわる話 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 私が仕様書を書くようになったのは30歳を過ぎてからと遅く、仕様書の書き方が分からなくて悩んだことがありました。通常は先輩たちが作成した仕様書等を見て書き方を覚えていくのでしょうが、仕様書も無く直接プログラムを組むような体制の仕事をしていたため、SI系に転職してから苦労したのであった。 仕様書を書く際に、ボタンを「Enterキーを押す」か「クリックする」かで考えて「押下」にすれば両方満たすだろうと、それ以来ずっと使用しています。 押下については、コンピューター雑誌やマニュアル等を読んで憶えていた用語で特に気にも止めていなかったの

    押下(おうか)にまつわる話 - Qiita
    t-wada
    t-wada 2016/08/18
    謎の業界用語「押下」の起源が、いま明らかに!!
  • package.json の browser field 実践編 - Qiita

    package.json の browser field 実践編 package.json の browser field 入門編 では、package.jsonのbrowser fieldの役割と機能について紹介しました。 編では、この機能のbundlerごとの実装の違いと、それを回避する方法を説明します。 ここで取り上げる実装の違いとはずばりpathの解決方法です。 ./から記述するかどうか .jsを記述するかどうか mainとの対応関係 この3つの要素が絡んできます。 なお、パス解決のresolverを指定できる系もあるようですが、ここでは各々のbundlerがデフォルトで用意しているresolverについて論じています。 (なぜなら、resolverを外部が指定しなければ意図通りbundleされないというのは、利用者にとってはbundleされないのとほぼ同義です) 調査したbun

    package.json の browser field 実践編 - Qiita
    t-wada
    t-wada 2016/08/16
    package.json の browser field を browserify, webpack, React Native Packager がそれぞれどう扱うかを徹底的に検証している
  • flexboxのバグに立ち向かう(flexboxバグまとめ) - Qiita

    注)文中の「コンテナ」「アイテム」について 文中でいう「コンテナ」「アイテム」は、flexコンテナとflexアイテムのことを指しています。 コンテナ display: flexや、wrap指定などをする 複数のアイテムを含む アイテム flex: 1 0 0%などの指定をする 1. アイテム潰れる問題(Safari) Chrome Safari 潰れてますね。 起きる条件 Safari なぜ コンテンツの最小サイズを尊重してくれない模様 どうすればいいのか flex-shrinkに0を指定 flex-basisにautoを指定(デフォ値なので、指定がなければそのままでOK) Safari10にて修正済み(つまり、SierraとiOS 10以降では対応不要) 2. align-items:center はみ出す問題 Chrome IE11 はみ出てますね。 起きる条件 IE10-11 f

    flexboxのバグに立ち向かう(flexboxバグまとめ) - Qiita
    t-wada
    t-wada 2016/08/15
    つ、つらそう…… "つらい けど、見えてる地雷は大した地雷じゃない。ありがとうflexbugs" なるほど
  • 「なぜDI(依存性注入)が必要なのか?」についてGoogleが解説しているページを翻訳した  - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    「なぜDI(依存性注入)が必要なのか?」についてGoogleが解説しているページを翻訳した  - Qiita
    t-wada
    t-wada 2016/08/15
    テスト容易性が引き合いに出されるけどメリットはそれだけでなく、DIとDIコンテナの導入で中間層を挟む余地がいたる所に生まれ、変更に強く中長期的にリカバリの効くアーキテクチャ基盤を作れるのがありがたい
  • 翻訳:Haskellと過ごした4年間〜ファウンダーの観点から〜 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? BetterというEラーニングの会社をやっていたCarl Baatzさん表題のような記事を書いていて、とても有益だと思ったので訳してみました。 だいたい逐語訳ですがところどころ意訳したり端折ったりしてます。プロの翻訳家ではないので間違いもあるかと思います。ご了承ください。不安なところは原文をご参照頂ければと。自信ないところは括弧に原文を残しているので、よい訳があれば編集リクエストお願いします。あと脚注も Thank you Carl for sharing great experince and knowledge! 原文: A fou

    翻訳:Haskellと過ごした4年間〜ファウンダーの観点から〜 - Qiita
    t-wada
    t-wada 2016/08/10
    Haskell をメイン言語として採用したスイスのスタートアップ企業の知見。良かったところも悪かったところもきちんと書かれている。
  • Lambda+RDSはアンチパターン - Qiita

    何が起きたのか 作成していたアプリではサーバレス構成にてLambdaからRDS(MySQL)を呼び出していました。 リクエストが増えるとRDSのコネクション数が増加して すぐにDBコネクションエラーになってしまいました。 最大コネクションの上限値 結論から言うとLambdaとRDS(MySQL)は相性が良くないです。 理由はLambdaからRDSのDBコネクションを貼ると リクエスト単位でコネクションを張ってしまうため 仕組み上、同時接続に耐えられません (RDSのコネクション上限数が少ない) さらにVPC設定すると・・・ セキュリティのため、RDSをLambdaからのみアクセスさせるためには LambdaとRDSを両方とも VPC領域に置く必要があるのですが、Lambdaの起動が遅くなる場合があります。 これは、一定時間Lambdaがコールしない場合にスリープ状態になり、 起動する際にE

    Lambda+RDSはアンチパターン - Qiita
    t-wada
    t-wada 2016/08/09
    "LambdaからRDSのDBコネクションを貼るとリクエスト単位でコネクションを張ってしまうため、仕組み上、同時接続に耐えられません(RDSのコネクション上限数が少ない)" なるほど