タグ

qiitaに関するyuyaitohのブックマーク (10)

  • クソコードにならない為に、これだけは守って欲しい7つのこと - Qiita

    まえがき 今回書く内容は、ある程度経験あるエンジニアでも、陥りがちなものに絞って書いてみたつもりですので、[重複コードは書かない]などの超あたりまえの事は書いていません。 2017/03/16 最近よく見られてそうなので1つ追記[そもそも継承するな!!!] そもそも継承するな!!! 継承するのは、どうしようもない場合のみにしてください。 その前に、strategyパターンや、compositeパターンなどの他のやり方を考慮してもなお、継承するのが妥当である場合のみにしてください。 基的に継承しないほうが、スケーラブルだし、テストコードも容易にかけます。 継承はis-a関係 「あー、継承ね。はいはい」で飛ばしてんじゃねーよ。 いやマジで!!! ほぼ全てのエンジニアは[is-a]が何か知っています。 というのも全てのオブジェクト思考の書籍には出てくる概念だからです。 しかし、私の経験上この概

    クソコードにならない為に、これだけは守って欲しい7つのこと - Qiita
  • Markdownテキストでシーケンス図とフローチャートを描く - Qiita diagram sequence

    つい先日、とあるシステムの処理の流れと一部処理のフローチャートを付けた見積り資料を書くことになり、ちょうど良い機会だったので、MarkdownでUML図表が描ける「StackEdit」を使って、オールMarkdownで資料を作成してみた。 いやぁ、打ち込んだテキストがリアルタイムに図表化されていく様は、とても新鮮で、そしてすごく面白かった。資料が出来上がった後の達成感というか、完成した図表を見た時の感動が結構はんぱない。技術系の資料作成でこんな良い体験ができたのは初めてかもしれんな…(笑) ──と、結構感動的な体験ができるMarkdownでのUML図表作成なんだが、せっかくなのでそれの書き方を含めてもう少し突っ込んだTIPSとしてまとめておこうかと思った次第。 Markdown+UML とは? とりあえず、「Markdown+UML」というのは私の造語だ。まぁ、正確に言うなら「UML di

    Markdownテキストでシーケンス図とフローチャートを描く - Qiita diagram sequence
  • Rails開発におけるwebサーバーとアプリケーションサーバーの違い(翻訳) - Qiita

    はじめに 先日スタック・オーバーフローでこんな質問に回答しました。 webサーバー、アプリケーションサーバー、Rackといった仕様や概念と、WEBrick、Unicorn、Pumaといった実装の関係が頭の中で結びつきません 質問者の方はwebサーバー、アプリケーションサーバー、Rack、Unicorn、Pumaと言った用語や概念の理解がこんがらかっているように見えたので、このあたりをきれいに説明している記事を探していたところ、以下の記事を見つけました。 A web server vs. an app server - Justin Weiss スタック・オーバーフローでは記事の一部を抜粋して「ざっくり翻訳」したのですが、それだけで終わらせるのはもったいない気がしたので、Qiitaには全文を翻訳して載せておこうと思います。 これを読むと、あなたもwebサーバーとアプリケーションサーバーの違い

    Rails開発におけるwebサーバーとアプリケーションサーバーの違い(翻訳) - Qiita
  • You Don't Need jQuery - Qiita

    注意とお願い この記事の内容はもはや古いです。ここに書いている方法では動かないものをいくつか見つけました。参考にする際は動作をよく確認してから使ってください。 ひとつお願いがあります。「あれ、動かないぞ」というコードを見つけたら是非コメントか編集リクエストで教えてください。解決方法までなくても結構です。「これはもう動かないよ」という印をつけたいのです。 この記事はYou Don't Need jQueryの日語訳と同じ内容です。 先日ひょんなことからYou Don't Need jQueryの日語訳をさせていただきました。著者のCam Songさんからも快諾をいただけたので1、Qiitaでも公開させていただきます。 なお、家の英語の説明は継続的にメンテされているので、この記事の情報は古くなっている可能性があります。 追記 この記事は当初は「もうjQueryは必要ない」というタイトルで

    You Don't Need jQuery - Qiita
  • nokogiriをビルドできずにrailsのインストールが失敗する。 - Qiita

    railsのインストールでの失敗。 インストール時に「nokogiri-1.6.6.2 for inspection.」というエラーが出て失敗。 具体的には以下のエラー # gem install --no-ri --no-rdoc rails Fetching: thread_safe-0.3.4.gem (100%) Successfully installed thread_safe-0.3.4 Fetching: minitest-5.5.1.gem (100%) Successfully installed minitest-5.5.1 Fetching: tzinfo-1.2.2.gem (100%) Successfully installed tzinfo-1.2.2 Fetching: i18n-0.7.0.gem (100%) Successfully installe

    nokogiriをビルドできずにrailsのインストールが失敗する。 - Qiita
  • 大量メッセージが来ても安心なLINE BOTサーバのアーキテクチャ - Qiita

    Help us understand the problem. What is going on with this article? 3月24日に発表になったLINEのBOT API Trial Accountが、いよいよ4月7日から実際に試せるようになりました。既に多くのBOTが開発者の手によって作られ始めたようですね。QiitaにもいくつかBOTの作り方が投稿されていますので、"LINE BOT"というキーワードで探してみてください。 実際の作り方の基は他の投稿に任せるとして、BOT API自体は非常にシンプルな作りなので、試すこと自体はすぐにできると思います。しかし、シンプルな反面、仮に近い将来「Trial」が取れて、友だち50人制限が撤廃された時、それでも正しく安定的に動作するBOTとするには、アーキテクチャ上の工夫が必要になります。個人的に、既にLINE BusinessCo

    大量メッセージが来ても安心なLINE BOTサーバのアーキテクチャ - Qiita
  • マルチスレッド/プロセスまとめ(Ruby編) - Qiita

    プログラムの実行単位 固有のメモリ空間を持つ(リソースを共有しない) マルチプロセスの場合、物理/仮想メモリ領域間のアドレス解決のオーバーヘッドが高い。 プロセスの実行単位 共通のメモリ空間を持つ(リソースを共有する) マルチスレッドの場合、物理/仮想メモリ領域間のアドレス解決は発生しない。 ユーザースレッド ユーザー空間(アプリケーションが利用するメモリ空間)を利用 1つのプロセスに複数のスレッドがあっても、1つのスレッドしか実行されない。 OSカーネルを介さないスレッド切り替えのため、スレッド切り替えに伴うオーバーヘッドが少ない。 仮想VM上で実行されるスレッドをグリーンスレッドと呼ぶ。 カーネルスレッド カーネル空間(カーネルが利用するメモリ空間)を利用 1つのプロセスに複数のスレッドがある場合、同時に複数(CPUコア数分)のスレッドを実行できる。 OSカーネルを介するスレッド切り替

    マルチスレッド/プロセスまとめ(Ruby編) - Qiita
  • クズが教える新人プログラマ処世術 - Qiita

    Welcome to Underground という訳で今年から新人プログラマとして働く方、おめでとうございます。 この先、皆さんには 糞みたいな上司と争ったり、糞みたいな炎上プロジェクトに突っ込まれたり、糞みたいなクライアントの対応したり 素敵なイベントが沢山あることでしょう! そんな皆さんにクズと自認している私が僭越ながら処世術をお教え致します。 学生時代からOSSに貢献してたり、スタートアップに潜入してたりする意識高い学生は回れ右してお帰りください。 クズなりの糞みたいな職場の乗りこなし方 大小様々な会社が古今東西色々とございますが、中には糞みたいな会社や糞みたいな部署や糞みたいなチームがあります。 そういったところへ自分が配属された時にはまず 次の転職先を探してください。 そのような現場に回されてしまっても無理してあなたはそこで働くことはありません。 さっさと転職しましょう。 え?

    クズが教える新人プログラマ処世術 - Qiita
  • rubyの例外についてまとめてみた - Qiita

    ちょっとこんがらがったので整理 先に結論 型指定なしで rescue すると、 StandardError のサブクラスのみ catch する アプリケーションレベルでの標準的なエラーは RuntimeError のサブクラス RuntimeError は、StandardError のサブクラス なので、アプリケーション内で独自の例外を書く場合、普通は RuntimeError を使ったほうが良い 1.8 系の場合 Timeout::Error は、StandardError のサブクラスではない raise 関数に型を渡さない時に発生する例外は、 RuntimeError

    rubyの例外についてまとめてみた - Qiita
  • logwatchでやってくるメールを止める root宛のメール転送設定 ( 環境構築四苦八苦 4th Day ) - Qiita

    ずぅっと前にさくらVPSRails入れて、PerlやらRubyやらPythonやら入れてほげっと遊んでたのですが、そこにLogwatchも入れていた様で、気づくと彼からのメールが止まらない。。。 あれ、どこにインストールしたっけ?てか、インストールしてたよね?,、('∀) '`,、?? ってなったので、もろもろ確認して、メール送信を止めさせます。

    logwatchでやってくるメールを止める root宛のメール転送設定 ( 環境構築四苦八苦 4th Day ) - Qiita
  • 1