タグ

プログラミングとあとで読むに関するtg30yenのブックマーク (218)

  • プログラミングでよく使う英単語のまとめ【随時更新】

    チェックマークをつける意味で check を使う場合は例外。 check 自体を避けたい場合は putCheckmark とする。 change 何をどう変更しているのかわからない。 check と同様に具体的な名前にできないか考えてみるとよい。 例外として isChanged のフラグを変更するための Change メソッドに使う場合がある。 xxxManager / xxxController こういう名前をつけるとクラスが肥大しやすい。 単一責任の原則にのっとってクラスを設計するべし。 UNIX 哲学にも「Small is beautiful.」という考え方がある。 xxxType, xxxData, xxxItem, xxxInfo 冗長になりやすい。 Type, Data, Item, Info を取っても意味が通じないか検討してみる。 使わないほうがよい言葉 compare 比

    プログラミングでよく使う英単語のまとめ【随時更新】
  • Reactの最新動向とベストプラクティス ── HTML5 Conference 2016セッションレポート

    Reactの最新動向とベストプラクティス ── HTML5 Conference 2016セッションレポート 小林徹 2016年9月3日に東京電機大学で開催された「HTML5 Conference 2016」のセッションを特集する第二弾は筆者である私、小林徹が登壇した「 Reactの最新動向とベストプラクティス 」の内容を解説します。 Reactの現状 Reactは、2013年にFacebookが公開した、Viewを作るためのJavaScriptのライブラリーです。 https://facebook.github.io/react/ 現在のバージョンはv15.3.2です。 v1.0.0からv14.0.0までのバージョンはありません。 「すでに安定していてプロダクションでも利用できる」ことや「セマンティック・バージョニング(パッチ.マイナー.メジャー)に準拠している」ことを示すために、v0.

    Reactの最新動向とベストプラクティス ── HTML5 Conference 2016セッションレポート
  • 黒魔術(JavaScript)まとめ - Qiita

    まえがき JavaScript、書いてますか? JavaScriptは今や世界中の人々に愛されています。 stackoverflowの2016年の調査によるとJavaScriptは地球上で最も一般的に使用されているプログラミング言語だそうです。 JavaScript is the most commonly used programming language on earth. Even Back-End developers are more likely to use it than any other language. link しかしJavaScriptは愛されすぎているが故、しばしば黒魔術のようだと比喩されることも少なくありません。 愛と憎しみが紙一重とはこのことですね。 ということでそんなこんなはどうでもいいのですが、自分もJavaScriptは大好きです。 今回は黒魔術まと

    黒魔術(JavaScript)まとめ - Qiita
  • PHPによるデザインパターン入門 - 目次 - Do You PHP はてブロ

    このエントリは、Do You PHP?(www.doyouphp.jp)で公開していたコンテンツを移行/加筆/修正したものです。公開の経緯はこちらをどうぞ。 2006/11/23に株式会社秀和システムさんから発売された「PHPによるデザインパターン入門」(ISBN4-7980-1516-4)を執筆しました。 また、2009/09/14付けの絶版に伴い、Do You PHP?にて校正前の原稿テキストを公開していました。が、この度、Do You PHP?の閉鎖に伴い、はてダに移行しました。今回の移行で、校正完了間際の原稿に差し替えましたが、まだ誤字/脱字、説明不足の箇所もあるかも知れません。ご了承ください。 1章 デザインパターンの世界へようこそ デザインパターンって何? デザインパターンとは? オブジェクト指向 GoFパターン デザインパターンのメリット・デメリット デザインパターンを使うメ

    PHPによるデザインパターン入門 - 目次 - Do You PHP はてブロ
  • https://readouble.com/laravel/

  • ファサードとは

    Laravelを使っていると頻繁に現れるのがファサードです。Laravelの特徴とも言われています。このファサードを実際に作成しながら、理解を深めたいと思います。 なお、この記事を読み進めるにあたり、事前に以下の記事を読んでおくことを、おすすめします。 サービスコンテナ サービスコンテナのバインド サービスプロバイダーとは サービスプロバイダーの作成 ファサードとは? ファサードとは一体何でしょうか? 公式ドキュメントには以下の様に書かれています。 ファサードはサービスコンテナで利用可能なクラスへの “static” インターフェースを提供します。 ファサードはサービスコンテナからオブジェクトへのアクセスを提供するクラスです。 # 実際の使用例 ファサードは以下の様に使用します。Routeファサードを使用する例です。 Route::get('/', 'WelcomeController@i

    ファサードとは
  • async関数が実装された - JS.next

    概要 非同期な処理を同期的に書ける関数タイプが実装された。 基 「async」キーワードに続けて関数定義を書くと、async関数となる。 async function afn1() { } afn2 = async () => { } obj = { async afn3() { } } async関数を呼び出すとプロミスが返される。 console.log( afn1() ) // <Promise> このプロミスは、async関数が終了するとその返り値で解決され、例外が起こると棄却される。 async function afn4( flag ) { if ( flag ) return 'Yes' else throw 'No' } afn4( true ).then( v => console.log( v ) ) /// "Yes" afn4( false ).catch( v

    async関数が実装された - JS.next
  • シンプルでわかりやすいコードを書くためにあなたがすべきこと - give IT a try

    はじめに 先日、とある知りあいのRubyプログラマからこんな相談を受けました。(内容はちょっとボカしてます) 社内のコードレビューでもっときれいなコードを書けるようになった方がいい、と言われました。 「きれいなコードを書けるようになれ」と言われても、具体的にどうすればいいかわかりません。 伊藤さんのアドバイスを聞きたいです。 この内容だけだとどんな問題があるのかわからないので、実際に指摘を受けたRailsアプリのコードを見せてもらいましたが、確かに「もうちょっと頑張りましょう」と思うような点がチラホラありました。 ただ、具体的にどうすればいいの、という答えは一言では言えません。 というわけで、今回のエントリではこの悩みを解決するのに参考になりそうな話をあれこれ書いてみようと思います。 (その前に)もくじ かなり長い記事になってしまったので、先に目次を載せておきます。 はじめに (その前に)

    シンプルでわかりやすいコードを書くためにあなたがすべきこと - give IT a try
  • 関数型プログラミングはまず考え方から理解しよう

    関数型プログラミングが注目されて久しいです。 そろそろ勉強しておかないとなぁということで調べてみるものの、情報として出てくるのは"高階関数","カリー化","遅延評価","モナド"などの物々しい単語の数々。これらを勉強して理解した気になったものの、プログラムを書こうと思うと全然書けませんでした。 結局、関数型言語を実現する手段を学ぶ前に関数型と言われるパラダイムを理解しないことには書けません。ということでここでは関数型プログラミングの"手法"ではなく、オブジェクト指向と関数型プログラミングを比較しながら考え方の違いを見ていきます。 日の例題 プログラミング課題を設定してオブジェクト指向と関数型で解答してみましょう。 課題: 唐揚げ弁当がいくつかあるとします。それぞれ唐揚げが複数入っています。 この中からx個の唐揚げをつまみいするプログラムを作りましょう。 つまみいはバレないようにする

    関数型プログラミングはまず考え方から理解しよう
  • 作って理解するWebフレームワーク - きしだのHatena

    前回、簡単なDIコンテナを作ってみたので、次はこれを使ってWebフレームワークを作ってみたいと思います。 Webサーバーをつくる まず、WebフレームワークなのでHTTPサーバーが必要ですね。なので簡単なものを作ります。 とりあえずブラウザからリクエストを受け取ったら200 OKとHTMLを返すだけのサーバーです。 今回は、そこらのブラウザからアクセスできればいいや、ということで、RFCとかの仕様に準拠することは考えません。 public class Server { public static void main(String[] args) throws IOException { ServerSocket serverSoc = new ServerSocket(8989); for (;;) { Socket s = serverSoc.accept(); new Thread((

    作って理解するWebフレームワーク - きしだのHatena
  • GitHub Flow (Japanese translation)

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub Flow (Japanese translation)
  • GitHub Flow 図解 - Qiita

    概要 GitGitHubを利用したシンプルで強力なワークフローであるGitHub Flowを図にまとめました。 GitLabでも利用可能なFlowです。GitLabの場合は Pull Request を Merge Request に読み替えてください。 前提 実際にGitHub Flowを実践したことはありません。(2014/06/12時点) これからチームで導入予定で、メンバーとワークフローを共有するために図を作成しました。 ワークフローの誤りなどご指摘いただけると幸いです。 アクティビティ図をベースに作成してありますが、厳密な記法よりも 相手に伝わればいいかな、という点を重視しています。 基原則 masterブランチは 常時デプロイ可能 である 機能追加、バグフィックスなどは 説明的な名前のブランチ をmasterから作成する 機能追加の例: add_user_notice (ユ

    GitHub Flow 図解 - Qiita
  • https://geechs-magazine.com/tag/tech/20160304

    https://geechs-magazine.com/tag/tech/20160304
  • 「TDDはじめて物語」 #tddbc

    2017/12/10 システムテスト自動化カンファレンス2017-2 「GebとSpockではじめるシステムテスト自動化」

    「TDDはじめて物語」 #tddbc
  • PHP 5.5ネーティブキャッシュの話

    This document demonstrates how the oplog in MongoDB replica sets works by replicating operations from the primary to secondaries. It shows insert, update, remove operations on a collection on the primary and then verifies that the same operations have been replicated to the oplog and applied on a secondary by finding the same document changes. It also shows getMore commands from secondaries tailin

    PHP 5.5ネーティブキャッシュの話
  • ドメイン駆動設計をかじってみる | TECHSCORE BLOG | TECHSCORE BLOG

    はじめまして!平奥と申します。 TECHSCORE BLOGに記事を投稿させていただくことになりました。 みなさま、よろしくお願いします! 今回は私が設計について学んでみようと思い、「エリック・エヴァンスのドメイン駆動設計」を読んだ内容を記事にしました。 感想としては率直に申しますとすごく抽象的で、読みづらいですが、有益な内容がたくさん書かれています。 こういう設計関連の学習をするときに、私が心がけているのが「完璧な設計はない。」ということです。 実は、ある設計思想に基づいて設計しているときに、その思想に完璧を求めるあまり解決できなくて 途方にくれた時がありました。 しかしもっと柔軟に設計を行い、その設計思想のコアなルールは守るというスタンスでよいのではと考えています。 他の設計思想と共存させ、そのプロジェクトにおいて最適な設計を行うことが大事だと考えています。 このことはエリック・エヴァ

  • ドメイン駆動設計 - Wikipedia

    ドメイン駆動設計(ドメインくどうせっけい、英語: domain-driven design、DDD)とは、ドメインの専門家からの入力に従ってドメインに一致するようにソフトウェアをモデル化することに焦点を当てるソフトウェア設計手法である[1][2]。オブジェクト指向プログラミングに関しては、ソースコード(クラス名・クラスメソッド・クラス変数)の構造と名称がビジネスドメインと一致させる必要があることを意味する。例えばローンの申し込みを処理するソフトウェアには、LoanApplicationやCustomerなどのクラスと、AcceptOfferやWithdrawどのメソッドが含まれることになる。ドメイン駆動設計は次の目標に基づいている。 プロジェクトの主な焦点をコアドメインとドメインロジックに置く。 ドメインのモデルに基づく複雑な設計。 特定のドメインの問題に対処する概念モデルを繰り返し改良す

  • 関数型言語のウソとホント - Qiita

    追記 こんな記事を読むより、まともな関数型プログラミング言語を使ってまともに関数型プログラミングを学ぶほうが、関数型プログラミングについてよほど正確な理解を得られます。少しでも関数型プログラミングに興味のある人は、まずは真面目なHaskellの教科書やすごいHを読んだり、やさしいHaskell入門を読んだりしながら、実際に関数型プログラミングのコードを書いてみることをお勧めします。 繰り返しますが、この記事はあんまり読む必要はないです。関数型プログラミングを理解するには実際に自分でコードを書いてみるのが一番です。関数型プログラミングあるいは関数型プログラミング言語を理解するもっとも確実な方法は、Haskellをあなたのマシンにインストールして何かまとまったアプリケーションを書いてみることです。Haskellでアプリケーションが書けたら、自分は関数型プログラミングを理解しているし使えると胸

    関数型言語のウソとホント - Qiita
  • DIS例2 / PHPは配列型と辞書(HaspMap)型が区別不能な言語! | PHPを使いもせずDISってる君達へ - Qiita

    PHPはよくDISられることがあります。しかし、実際にはほとんどPHPを利用していない人が印象だけでDISってることが多いような気がします。 そこで、PHPがよくDISられている点について、実際どうなのかをPHP未体験者向けに解説していきたいと思います。PHPを触ったことない人でもわかりやすいようにシンプル目な仕様のRubyを例に説明していきたいと思います!( Ruby触ったことなくても、その他のOOP言語を触ったことあれば雰囲気は理解できるように書いています ) DIS例1 / PHPは配列操作がしづらい PHPの配列操作は扱いづらい等とDISる人たちがいます。実際のところどうでしょうか。 以下のような処理を配列への中間変数を用いず行うコードを例に考えてみます。 0. [2,4,6,8,10]という配列を用意して 1. ↑の配列から8以下の数だけを選択した配列を作る 2. ↑の配列から各

    DIS例2 / PHPは配列型と辞書(HaspMap)型が区別不能な言語! | PHPを使いもせずDISってる君達へ - Qiita
  • モダンPHPアンチパターン - Qiita

    アンチパターンなので、見出しの内容はすべてバッドノウハウです。 前に書いたやつ PHPのモダンな開発環境を紹介する - Qiita PHP - Functoolsを作った - Qiita PHPのlist()はタプル展開のための機能 - Qiita 関係ないけどこれも: シェル、ターミナル、コンソール、コマンドライン 追記: 文中でとりあげた「怖い話」について、ちゃんと説明しました PHP - namespaceとBOMに何の関係があるのさ - Qiita ファイルの最後に?>を書く PHPコードは<?phpで始まり?>で締める。それがPHPの常識(キリッ ……そんなことはもう綺麗さっぱり忘れよう。PHPはテンプレートエンジンではあるが、Webアプリケーションを書く上では、もはやテンプレートエンジンとしての機能は求められなくなりつつある。 不要な?>を書いてはいけない理由は明確で、<?p

    モダンPHPアンチパターン - Qiita