タグ

2018年6月22日のブックマーク (19件)

  • コード品質特性を悪化させるには - 覚えたら書く

    プログラムのより良い設計を支える中心的概念としてコード品質特性があります。これに点数付けした場合に、悪い点をとるためにはどうすればいいかについて書きました。 以下内容のベースはJavaです そもそもコード品質特性とは ここでは、以下をコード品質特性としてとりあげます 凝集度(cohesion) 疎結合(loose coupling) 重複無し(zero duplication) カプセル化(encapsulation) テスト容易性(testability) 可読性(readablity) 各々の項目で悪い点を取るためにはどうすればいいか以下の各項目を参考にしてください 凝集度(cohesion) 基的に、凝集度は高い方が良いと言われます。凝集度を低くするためには、クラスやパッケージの責務を増やせばよいです。そのためには以下に従うと良いでしょう。 1クラスを大きくする 1クラスが大きけれ

    コード品質特性を悪化させるには - 覚えたら書く
    idr_zz
    idr_zz 2018/06/22
    バラバラなほど良いということ
  • ソースコードを汚くするには? - 覚えたら書く

    汚いプログラム(ものによってはバグを引き起こすプログラム)にするためにはどうすればいいのかを書きました 基的にJavaをターゲットにしています(ものによってはJava以外でも当てはまります) 私が今まで、読みにくい、修正しにくい、プログラムの挙動が読めないと感じたソースをもとに抽出した内容を記載しました 以下の逆をやれば、ある程度ソースがきれいになると思います メソッド メソッドの引数の数を多くする メソッドの引数に巨大なオブジェクト(いわゆる神オブジェクト)を渡すようにする 1メソッドを長くする メソッド内のネストを深くする ガード節が導入されていないif - elseを用いる(早期returnをしない) 重複した処理を存在させる 配列とListなどを混在させた整合性のとれていないメソッド群を提供する 同じ型の引数を3個以上とるメソッドを定義する(例えばint型のパラメータを3つ渡すメ

    ソースコードを汚くするには? - 覚えたら書く
    idr_zz
    idr_zz 2018/06/22
  • Charming Python: Functional programming in Python, Part 3

    idr_zz
    idr_zz 2018/06/22
    銀の弾丸ではないようだ >Node.js 製品は決して Apache や Tomcat のようなものではありません。 Node.js とは一体何か?
  • 「コードは汚くてもいい」を条件付きで擁護してみる

    釣りじゃないですよ。わりとまじめに考えました。 実際にYコンビネーターで成功しているハッカーというのは、決して美しいコードが書けるわけではありません。プログラミングの上手さより大事なことは、まずどれだけユーザーの欲しいことを理解できるかということで、次に重要なのはその条件をもとに実際に使いやすい製品を作ることができるか、ということですね。そのなかのコードは別にきれいである必要はなくて、ユーザーが喜べばいいだけの話ですからね。むしろコードがどれくらいきれいかを気にする人は出来の悪いプログラマーだとぼくは思っているくらいです。コードが気になってしまうと締め切りに間に合わず、ビジネスにならないわけですから。ポール・グレアムもそのように考えている人だと思います 美しいコードを書こうとするのは悪いプログラマーだ 極端な話、コードがもうメチャメチャでも、動いて金が回れば正解なんですよ。「アイツの書くコ

    「コードは汚くてもいい」を条件付きで擁護してみる
    idr_zz
    idr_zz 2018/06/22
    後で一から書き直せばいい。とりあえずリリースしようぜ(ザッカバーグ) これ名言w 「コードは汚くてもいい」を条件付きで擁護してみる – GUNMA GIS GEEK
  • コンビニでわかるノンブロッキングIO - たけぞう瀕死ブログ

    NginxNetty、Node.jsなど日常的に利用されているミドルウェアでも主流になりつつあるのにいまひとつ正しく理解されているのかどうか怪しいノンブロッキングIOですが、その概念について社内の技術共有会でコンビニを題材に説明していたのが面白かったので少しアレンジして紹介してみたいと思います。 ここではスレッド、CPU、リクエストを以下のように表現することにします。 店員=スレッド レジ=CPU 客=リクエスト 1. シングルスレッド×ブロッキングIO まずは最も単純なシングルスレッド×ブロッキングIOです。図にするとこんな感じです。 店員(スレッド)が1人しかいないので同時に1人のお客さんしか処理できません。また、現実にはあり得ませんが、店員はアルバイトを始めて間もないのか、お弁当の温め中も電子レンジに張り付いており、温め終わるまで次のお客さんは待たされてしまいます。 2. マルチス

    コンビニでわかるノンブロッキングIO - たけぞう瀕死ブログ
    idr_zz
    idr_zz 2018/06/22
    コンビニレジの例えわかりやすい! Node.jsはこれなんだね。非同期なところがJSらしくてよい。 コンビニでわかるノンブロッキングIO - たけぞう瀕死ブログ
  • パワポがなければHTMLで書けばいいじゃない - Qiita

    きっかけ 最近MS製品から卒業したいなと思いパワポと同じようなスライドショーのできる HTMLテンプレートを発見したのでそのときの使い方メモ。 2018/3/16 修正:完成のイメージをCodePenに変更。 完成形 上下キー(スマホなら右にスライド)でスクロールできるHTMLのスライドショー。 1ページ目 : 表紙 2ページ目 : アジェンダ 3ページ目 : スライド See the Pen スライドショー 自家製フォント工房 by haruto tanabe (@h2tanabe) on CodePen. HTMLテンプレートをダウンロード WebSlides https://github.com/webslides/WebSlides 上のリンクからダウンロード(MITライセンスなので自由に使えます) HTMLで書いてみた CSSとJSのパスを通せば動くので、解凍した以下のフォルダに

    パワポがなければHTMLで書けばいいじゃない - Qiita
    idr_zz
    idr_zz 2018/06/22
    これならブラウザでCodePen開けばすぐプレゼンできるじゃないw パワポがなければHTMLで書けばいいじゃない - Qiita
  • 縦型動画「IGTV」で、インスタグラムはYouTubeに勝負を挑む

    idr_zz
    idr_zz 2018/06/22
    縦型で1分ってまさに気軽さを売りにしていたので、1時間となるとスマホで完結する気軽な「編集」もカギになるな。 縦型動画「IGTV」で、インスタグラムはYouTubeに勝負を挑む|https://t.co/y7UrP5JQNw
  • Ajax簡易投票所

    Ajax簡易投票所は、投票所をウェブページ内に設置できる、無料のPHPスクリプトです。 Ajaxで書かれているので、投票する際にページ遷移は起きません。投票所が埋めこまれた場所で 投票結果が表示されます。ページ内の他のコンテンツを表示したまま、投票所をページに追加したい時に便利です。 Ajax簡易投票所は、インストールしたサイトで完全に独立して動作するスクリプトです。外部のサイトに依存いたしません。

    Ajax簡易投票所
    idr_zz
    idr_zz 2018/06/22
    いいねとか投票だけのPHPプログラム! 投票所をウエブページに3行で設置する : Ajax簡易投票所
  • のっち@webデザイン on Twitter: "元々アートが大好きで アートに近いようで遠い存在 という理由でデザイナー目指す人って 珍しく、ない、よね!? アートだと人に役立ちづらいし 需要があまりないから 生計立てにくいから デザインやり出しました 結果デザインも好きに… https://t.co/0YB0nVhpdl"

    idr_zz
    idr_zz 2018/06/22
    あると思います!
  • A Pen with a Twist - Pure CSS

    idr_zz
    idr_zz 2018/06/22
    これもノーJS!グルグルグル… A Pen with a Twist - Pure CSS @CodePenさんから
  • Moiré Effect

    idr_zz
    idr_zz 2018/06/22
    グルグルグルグル…. Moiré Effect @CodePenさんから
  • Rosé

    idr_zz
    idr_zz 2018/06/22
    Canvas要素で、四角形だけで作られたイラスト!? Rosé @CodePenさんから
  • このブログを通じて私がしたかったこと、していること。 - t-hom’s diary

    このブログを書き始めた当時、VBA界隈は旧態依然としたコードで溢れていた。 全ての変数はプロシージャの先頭で宣言され、変数名は極端に省略されて読んでも意味が分からず、それを補完するために来必要のないコメントでコードは散らかっていた。 プログラミング手法はトップエンジニア達の研究・議論・試行錯誤によって磨かれ、時代とともに進化している。 しかしExcel VBA使いの中には「ExcelにはExcelの流儀がある」と言って、新しい考えを受け入れない人もいる。私は当時、Excelの権威とされる人ですら、プログラミングという大きな流れを無視し、VBAをこれまでの小さな世界に閉じ込めようとしているように見えた。 ひょっとしたらVBA書きがプロのエンジニアから小馬鹿にされるのも、プログラミングという大きなフィールドで先人達が積み上げてきたものを無視して、独自の理論を展開するExcelの権威が幅を利か

    このブログを通じて私がしたかったこと、していること。 - t-hom’s diary
    idr_zz
    idr_zz 2018/06/22
    VBAへの愛が感じられて熱い!素敵です。
  • 結局VanillaJSである。 - nobkzのブログ

    anond.hatelabo.jp nida3001.hatenablog.com 上記のブログに刺激されて私もフロントエンドというかJavaScriptに対する思いを綴ったポエムをば。しかし、なんか書くのダルいので、大分大雑把にかくぞ。 さて、さっそく結論を述べよう。今のフレームワーク論争やらに対する解決策はVanillaJSを使うってことである。 フロントエンドSPAのフレームワークについて まず、今のほとんどのフレームワークが使えないってのはそのとおりである。その話してみよう。その理由は、「フロントエンド」 ってのは一括りにできないからである。「ハッカーと画家」のとある言葉をアレンジして言えば「フロントエンドはユーラシア大陸のようなものである」。フロントエンドが関わる範囲が大きすぎるのである。ヨーロッパもあればアジアもあれば中東もあるという感じである。 範囲が大きすぎて、フレームワー

    結局VanillaJSである。 - nobkzのブログ
    idr_zz
    idr_zz 2018/06/22
    共感。目的(やりたいこと)ファーストで手段(フレームワーク)を選ぶ。設計ってそういうことよね。 新しいか、イケてるか、高収入か、は副産物。 結局VanillaJSである。
  • インスタグラム動画配信「IGTV」を発表!Youtubeと競合、ユーチューバー争奪へ - ヤマタケのWebサイト運営論~戦略・仮説検証・情報収集・Webで言えないこと

    3大SNSサービスの1つであるInstagramが動画配信サービス「IGTV」を発表しました。今までも動画は投稿できましたが、動画の時間が1時間と長時間に対応し、No1動画サービスであるYoutubeに挑むサービスになっています。 2018年6月20日発表の新サービス「IGTV」 IGTVはスタンドアロンのアプリ IGTVの2つの大きな特徴 将来的には収益プログラムも ユーチューバー争奪も まとめ 2018年6月20日発表の新サービス「IGTV」 アメリカ時間の6/20に、サンフランシスコで開催されたイベントにて、インスタグラムの最高経営責任者(CEO)が新しい動画配信サービスを発表しました。 CEOのKevin Systrom氏はイベントで、「動画を進化させるときが来た」と述べ、このアプリを発表したとのことです。 IGTVはスタンドアロンのアプリ IGTVは、インスタグラムのアプリに組み

    インスタグラム動画配信「IGTV」を発表!Youtubeと競合、ユーチューバー争奪へ - ヤマタケのWebサイト運営論~戦略・仮説検証・情報収集・Webで言えないこと
    idr_zz
    idr_zz 2018/06/22
    ユーチューバー引き抜かれたらユーチューバーとは言えないよねw IGTVerか? インスタグラム動画配信「IGTV」を発表!Youtubeと競合、ユーチューバー争奪へ
  • http://twitter.com/i/web/status/1009932793919369216

    idr_zz
    idr_zz 2018/06/22
    この比較記事は見通しがよくてわかりやすい。今すぐやらない内容でも何ができて何ができないかがわかってるだけで意味がある。 【JavaScript】3大フレームワーク Angular, React, Vue.jsを比べてみよう (2…
  • 使うのはJavaScriptとNode.jsだけ!30分で3Dオンライン対戦ゲームを作って公開してみた - paiza times

    プレイしてみる (English article is here) こんにちは、吉岡([twitter:@yoshiokatsuneo])です。 皆さんは、オンライン対戦ゲームをプレイしたことはありますか? オンラインゲーム友人と遊ぶだけでなく、世界中の知らない人たちと一緒にプレイするのも楽しいですよね。最近は、PUBGやフォートナイトのような3Dの対戦ゲームも盛り上がっています。 このような3Dオンライン対戦ゲームを自分で作ってみませんか? かつては、このようなゲームを自分で作ろうと思ったら、サーバとクライアントのプログラムを用意した上で、複雑なネットワーク通信や3Dプログラミングに挑戦しなければなりませんでした。 しかし、最近ではサーバ・クライアント・ネットワーク・3Dの全てをJavaScriptだけで取り扱うことができるようになっており、以前よりかなり簡単に3Dオンライン対戦ゲーム

    使うのはJavaScriptとNode.jsだけ!30分で3Dオンライン対戦ゲームを作って公開してみた - paiza times
    idr_zz
    idr_zz 2018/06/22
    30分で3Dゲーム作成!! 使うのはJavaScriptとNode.jsだけ!30分で3Dオンライン対戦ゲームを作って公開してみた - paiza開発日誌
  • http://twitter.com/i/web/status/1009915429584695296

    idr_zz
    idr_zz 2018/06/22
    調べごとしてるとこの記事、みたいな無限ループによくなる。 いつ読んでも笑える記事だがwそれでも前よりわかる言葉が増えた。日々の積み重ねが無駄でないことがわかる。 でも、今は2018年だならなw “2016年にJavaScript…
  • 三大フレームワークとかSPAとか仮想DOMとかわかりにくかったのでHellow Vue.jsしてみた! - クモのようにコツコツと

    JSのフレームワークについて調べるとAngularReactvue.jsの「三大フレームワーク」というのが出てきます。なぜにこの3つが三大?これを使うとどんなことが実現できるのか。SPA?MVC?仮想DOM?データバインディング?調べているうちに混乱してきたけど、とにもかくにも3つの中では一番わかりやすそうだったVue.jsを始めてみる。 ※目次: 今をときめく「三大フレームワーク」 キーワードが数珠つなぎ。。 三大フレームワークの書式 Vue.jsの読み込み Vue.jsはWordPressっぽい! Vue.jsの基書式 最後に ※参考:JSのフレームワークとは 【卒jQueryへの道】生JSとライブラリとフレームワークの理解 - クモのようにコツコツと 今をときめく「三大フレームワーク」 JS「三大フレームワーク」AngularReact *1、Vue.js。ここに詳しくまとめ

    三大フレームワークとかSPAとか仮想DOMとかわかりにくかったのでHellow Vue.jsしてみた! - クモのようにコツコツと
    idr_zz
    idr_zz 2018/06/22
    ブログ書きました!三つの中で始めやすいのを検討した結果、私はVueでした。 三大フレームワークとかSPAとか仮想DOMとかわかりにくかったのでHellow Vue.jsしてみた! - クモのようにコツコツと