タグ

プログラミングに関するtatejimaruのブックマーク (45)

  • GoFの23のデザインパターンを,Javaで活用するための一覧表 (パターンごとの要約コメント付き) - 主に言語とシステム開発に関して

    GoFデザインパターンの一覧表と,活用のためのコメント,および入門者が独学するためのリンク集(サンプルコード付き)。 入門者の独学を支援するために,このページのURLを提示して熟読させ,各パターンを短時間で効率よく学んでもらう。 デザインパターンはプログラマの常識だ。 Java使いかどうかは問わない。 にも関わらず,入門書を買ったまま,途中で挫折する人が多い。 挫折の原因は,パターンの数が23もあって,多いからだろう。 全パターンをすんなり覚えてもらうためには,各パターンごとに 「要するにこういう目的のパターンなんだ。」 「10文字で表現すると,パターンの意味はこうなんだ。」 という要点・質を,短いコメントで伝えれば助けになるだろう。 こういった学習を通して,Java言語の「設計思想」も併せて感じ取ってゆけるはず。 全パターンの一覧表(要約コメント付き) 全パターンについて,10文字以内

    GoFの23のデザインパターンを,Javaで活用するための一覧表 (パターンごとの要約コメント付き) - 主に言語とシステム開発に関して
  • JSTQB 1章 テストの基礎 - テストエンジニアの備忘録だよっ

    ■基用語 ・エラー、誤り:人間の動作の誤りを指す ・バグ、欠陥、フォールト:故障を引き起こすコンポーネントやシステムの欠陥を指す ・故障:コンポーネントやシステムが期待される結果とならないことを指す ・インシデント:障害のことで、原因がバグによるものだけに限らず調査が必要とされるようなイベントを指す ・テストアイテム:テスト対象。IEEE829では関連するドキュメントとしてテストアイテム送付レポートが標準化されている ・テストベース:テストの根拠となる要求仕様書などのドキュメントを指す ・テストケース:テストの為に入力値、実行前の状態、予想結果、実行後の状態を定義したもの ・テスト条件:コンポーネントやシステムで1つ以上のテストケースによって検証できるアイテムやイベントを指す ・テストスイート:関連するテストケースの集まりを指す ・テスト手順:テストを実行する為の手順 ・テスト環境:テス

    JSTQB 1章 テストの基礎 - テストエンジニアの備忘録だよっ
  • さようなら、TypeScript enum - 株式会社カブク

    フロントエンドエンジニアの今村です。TypeScriptではenumを使わずunion型を使いましょう、という話を書きます。 モチベーション 何を今さら、と思う方もいるかもしれません。 TypeScriptのunion型はenum的なものを表現可能であり、基的にenumよりもunion型を使うべき、という意識を持っているTypeScriptプログラマーはすでに少なからずいるのではないかと思います。しかし、ではenumの使用はいかなる場合も避けるべきなのか、そうでないとしたらどのような基準でenumとunion型を使い分けるべきなのか、といった点について、広く合意の取れたガイドラインはなさそうです(少なくとも私は知りません)。この結果、コードレビューなどで少しやりづらさを感じることがあったので、白黒つけてしまいたいという気持ちからこのブログを書いています。 結論としては、enumは全面的に

    さようなら、TypeScript enum - 株式会社カブク
  • 【プログラミングを学ぶ全ての人に知ってほしい】タッチタイピングの練習方法(と重要性) - 米国データサイエンティストのブログ

    【プログラミングを学ぶ全ての人に知ってほしい】タッチタイピングの練習方法(と重要性) - 米国データサイエンティストのブログ
  • 【読書会メモ】現場で役立つシステム設計の原則(2)|Kassyi

    実施日時:2019/11/12 対象範囲:第2章 参加者:みずき、yodai、くめごん、masuda、kassyi 第2章 コードを複雑にする場合分けのコード ・区分や種別がコードを複雑にする ・判断やロジックをメソッドに独立させる コードの塊をメソッドして独立させる方法の例 if文の中のロジックをメソッドに抽出させる。 判断ロジックと分岐後のロジックをそれぞれメソッドに抽出すると、コードが整理されて変更が楽に成る。 オブジェクト指向っぽくなる。 ・else句をなくすと条件分岐が単純になる ローカル変数を使うのではなく、早期リターンを使用する。 また、else句も使わず早期リターンするのをガード節と呼ぶ ・複文は単文に分ける if文を使った最初の書き方はifが入れ子構造になっている これをなくし、if文同士の関係を疎結合にする。 これで、if文の順番を入れ替えても動作する。 ・区分ごとのロ

    【読書会メモ】現場で役立つシステム設計の原則(2)|Kassyi
  • Bookmarklet という一番身近な自動化技術 | blog.jxck.io

    Intro 「毎回やるなら bookmarklet にでもすれば?」と言ったら、後輩が「そんな便利なことできたんですね、知りませんでした」と言っていた。 そんな時代にこそ、今更だれも解説しないであろう、 bookmarklet という技術についてもう一度書いておく。 Bookmarklet 簡単に言えば、 JS を書き、それを Bookmark として登録すれば、クリックするだけで現在のページでそれが動くというものだ。 ブラウザ上で何かを自動化したいと思うなら、最も簡単に実現できる便利な技術だろう。 似たような手法ではブラウザの Extension などもあるが、 Bookmarklet の良いところは一切誰にも邪魔されないというところだ。 開発者登録も、ストアへのアップロードも、難解なドキュメントを忖度して煩雑な設定ファイルを書く必要もない。 開発者ツールで、「こんなことできないかな」と

    Bookmarklet という一番身近な自動化技術 | blog.jxck.io
  • 昨日までJavaJavaしてた人がいきなりExcelのVBAを実装する羽目になったときのためのメモ - Qiita

    Excel は滅びぬ! Excel の力こそ日企業の夢だからだ! VBA 実装してて学んだこととかのメモ。 JavaJava してたかはあまり関係ないかも。 エディタの使い方 エディタを表示する Alt + F11 で VB エディタを表示できる。 環境設定 背景色・フォントを調整する デフォルトの白背景とか気が狂うので、暗い色にする。 「ツール」→「オプション」を選択し、「エディターの設定」タブを開く。 「コードの表示色」を選択して、「背景」の色を選択する。 ついでにフォントも見やすいやつに変更する。 これだけで開発効率が5割増しになる。 イミディエイトウィンドウ イミディエイトウィンドウを表示する いわゆるコンソールに当たるのが、イミディエイトウィンドウと呼ばれるウィンドウ。 Ctrl + G で表示される。 イミディエイトウィンドウに出力する ↓イミディエイトウィンドウに実行するプ

    昨日までJavaJavaしてた人がいきなりExcelのVBAを実装する羽目になったときのためのメモ - Qiita
  • Jupyter notebook (iPython Notebook)を使う時に気をつけるべき10個のこと - MyEnigma

    PythonユーザのためのJupyter[実践]入門posted with カエレバ池内 孝啓,片柳 薫子,岩尾 エマ はるか,@driller 技術評論社 2017-09-09 Amazonで検索楽天市場で検索Yahooショッピングで検索 目次 目次 はじめに 1. 環境の独立性を保つために各プロジェクト毎にvirtualenvを使う 2. Python3を使う 3. requirements.txtを保存しておく 4. すべてのimport文とパスの設定は初めのセルに入れる 5. はじめはコードは汚くても良い 6. グローバル名前空間を汚さないために、セルの中の処理は関数とする 7. 長い計算時間の結果をキャッシュするためにJoblibを使う 8. セルの独立性をできるだけ保つ 9. 変数名は短くても良い 10. ユーティリティ関数にはアサーションを使ってテストを書く 参考資料 MyE

    Jupyter notebook (iPython Notebook)を使う時に気をつけるべき10個のこと - MyEnigma
  • フロントエンドの画像軽量化まとめ【2017年版】 - KAYAC engineers' blog

    こんにちは、面白法人カヤック フロントエンドエンジニアのごんです! 今回は、Webの画像の軽量化について、フロントエンドチームで使ってるツールややり方をまとめてみました。 画像の軽量化などで困ってる方の参考になればと思います。 なぜ画像の軽量化をするのか Webサイトのローディング時間は、ユーザーの直帰率やコンバージョン率に関わる大切な指標です。 ローディング時間に関わる要因はさまざまですが、 特に画像は容量が大きいため、画像の軽量化をすることで表示速度の大きな改善を望むことが出来ます。 例えば、当ブログのある記事は、画像が全体の容量の約1/3を占めていました。 一般に、PhotoshopやIllustratorから出力された画像は、十分な色数やクオリティで出力されており、 ツールなどを使うことで、見た目をそれほど損なわず、容量を大幅に減らすことができます。 また、一部の画像形式には、メタ

    フロントエンドの画像軽量化まとめ【2017年版】 - KAYAC engineers' blog
  • 眼鏡なしのコードレビュー | POSTD

    例えば、あなたが驚くほど聡明な開発チームのメンバーで、コードレビューのみに一日の時間を確保しているとします。しかし作業を開始して2時間後、眼鏡を忘れてきてしまい、午前中はぼんやりとしたカラフルな表示を見つめていただけだったということに気づいたとします。さて、あなたはどうしますか? 家まで歩いて10分もかからないし、天気も良ければ、眼鏡を取りに帰るのが一番です。でも朝家を出るとき、攻撃的なスズメバチの群れが眼鏡の置いてある部屋に巣を作って、邪魔されたくない様子だったらどうしますか? そういう時はもちろん、コンタクトレンズを付けてきたふりをして、恥ずかしい思いをしないようにするのがよいでしょう。実際に読むことなく膨大な量のファイルを見分けることができるということを覚えておいて下さい。 参考コード 1 不安の種は隔離するべきだということに誰も異論はないでしょう。そしてもちろん、あらゆるクラスは一

    眼鏡なしのコードレビュー | POSTD
  • 東大のディープラーニング公開講座がヤバくていろいろ考えさせられた件|加藤貞顕

    1カ月ほど前から、東京大学の松尾研のディープラーニング公開講座に行っている。 ネットで募集していたのであわてて申し込んだら、とんでもない数の人が集まっていて熱気がすごい。学部生、院生、社会人、あわせて300人以上が同時に授業を受けている。 初回こそ、人工知能概論のような話だったけれど、2回目以降はものすごい速度で授業が進む。そして宿題の量と質もすごい。2回と3回目の授業だけで、普通の学校の半年分くらいの内容になっている気がする。東大、ほんとにやべーよ。 毎回、授業の冒頭は「ふんふん、そうか」とはじまるのだけれど、終わり間近に大量のサンプルコードを見せられて、それをすごい勢いで説明され、最後にゴツイ宿題が出る。授業終了後は、ポカーンってなる(授業中にぜんぶ理解しているひと、どれくらいいるんだろう)。 友人の物書堂の社長の広瀬くん(iPhone辞書アプリ開発の大御所!)も、たまたまいっしょに講

    東大のディープラーニング公開講座がヤバくていろいろ考えさせられた件|加藤貞顕
    tatejimaru
    tatejimaru 2017/05/01
    "プログラミング言語の歴史を、すっごく大まかに言うと、ずっとCPUとかメモリを隠蔽する「高級思考」で進化してきたのに、人工知能という大量リソースを必要とする分野で、逆戻りしちゃってるのだ"
  • Typing Practice for Programmers | typing.io

    var runtil = /Until$/, rparentsprev = /^(?:parents|prev(?:Until|All))/, isSimple = /^.[^:#\[\.,]*$/, POS = jQuery.expr.match.globalPOS, // methods guaranteed to produce a unique set when starting from a unique set guaranteedUnique = { children: true, contents: true, next: true, prev: true }; jQuery.fn.extend({ find: function( selector ) { var i, l, length, n, r, ret, self = this; if ( typeof selec

    tatejimaru
    tatejimaru 2017/02/26
    タイピングの練習ができるWEBサービス。要Googleアカウント
  • ITエンジニアが知っておくべき7つの法則 | Act as Professional

    パーキンソンの法則パーキンソンの法則は「仕事の量は、完成のために与えられた時間をすべて満たすまで膨張する。」というものです。 とある仕事に1週間の時間を与えられたとしたら、1週間かかる必要のない仕事も1週間かかってしまうのです。夏休みの宿題が2ヶ月かかるはずもない量なのに2ヶ月かかってやっているのと同じことですね。 ホフスタッターの法則ホフスタッターの法則は「作業にはいつでも予測以上の時間がかかるものである。」というものです。 「明日か、明後日には終わります」っていうのは、大抵明後日になりますね。 ブルックスの法則ブルックスの法則というのは「遅れているソフトウェアプロジェクトへの要員追加はさらに遅らせるだけだ。」というものです。 人月の神話で著者に語られている法則である。火事場になっているプロジェクトに適当に追加人員をしても、新しい人員が慣れるまでの対応などに追われるだけで、余計なコストが

    ITエンジニアが知っておくべき7つの法則 | Act as Professional
  • ソースコード検索エンジン「Runnable」が逸材すぎる : ニキビ跡

    プログラミングの勉強をしていると、「あれ。この機能ってどうやってコーディングするんだっけ?」と疑問がふつふつと湧き上がってくることが多々あります。その都度、検索して照らし合わせて〜とやっていると相当時間がかかりますし、間違っていた時の脱力感は半端ないですよね。

    ソースコード検索エンジン「Runnable」が逸材すぎる : ニキビ跡
  • 陰解法と陽解法の違い CAE技術情報局

    「CAE技術者のための情報サイト」の管理人JIKOのブログ。CAE技術者、機械系技術者向けの技術情報、ホームページの更新情報などを掲載していきます。 ■陰解法と陽解法の概念的特徴 すでに陰解法、陽解法の理論的な説明を技術メモにまとめていますが、今回はそれぞれに違いを概念的にまとめみたいと思います。実務的には理論的な詳細を理解する必要はなく、それぞれの特徴を概念的に認識しておけば十分です。 陰解法、陽解法、それぞれの特徴を列記します。 陰解法の特徴 静的、準静的な問題、動的な問題でも比較的長い周期で振動するような問題の解析に適している。 時間増分を大きくしても安定して解を得ることができる 連立方程式を解く必要があるため、1時間増分当たりの計算量が多い 陽解法に比べて大きなメモリ容量が必要 陽解法の特徴 衝突、落下問題などの非線形性が強く、非常に短い時間で起こる現象の解析に適している

  • 「明日から本気出す」という人にオススメの日本語で学べるプログラミング学習サイト9選

    「プログラミング初心者だけどWebサービスとか作ってみたいなー」という淡い夢を持ちつつも日々の生活に追われてプログラミングの勉強が継続できていない今日この頃、自分と同じように「明日から気出す」という感じでプログラミングを学ぶ気持ちがある人向けに、プログラミングを学習できるサイトをピックアップしてみました。 1.  Codecademy コードの書き方を学ぼう | Codecademy 世界的に有名且つ人気がある学習サイトです。HTML+CSSJavaScriptPythonRubyなど、いろいろな言語を学ぶことができます。ブラウザ内のエディタにコードを記述できるので開発環境を準備する必要がありません。またユーザーがプログラミングのレッスンを作れる機能もあります。 2. ドットインストール ドットインストール – 3分動画でマスターする初心者向けプログラミング学習サイト 国内で最も有

    「明日から本気出す」という人にオススメの日本語で学べるプログラミング学習サイト9選
  • プログラマーが使う思考の七つ道具

    プログラマーが使う思考の七つ道具 Programmers using 7 gadgets for thinking 2016.05.31 Updated by Ryo Shimizu on May 31, 2016, 06:48 am JST 「最速の仕事術はプログラマーが知っている」が売れたせいか、最近も「実践としてのプログラミング講座 (中公新書ラクレ)」なんてのを上梓したりもしているし、これまでプログラミングと縁がなかったいろんな媒体から「プログラマーならではの仕事の効率化を教えてほしい」と取材を受けることが多くなりました。 ・・・が、そもそもそういう話があるとすればに書いているので、いまさらあたらしいネタがポコポコあるはずもなく、まあ多少はありますがさすがに毎月記事にできるほどの被らないネタが出てくるわけ無いですよね。 でも、もしかすると意外とプログラマーは当たり前のように使って

    プログラマーが使う思考の七つ道具
  • プログラマーはなぜ手書きするのか

    プログラマーはなぜ手書きするのか Programmers keep a handwritten journal 2016.05.25 Updated by Ryo Shimizu on May 25, 2016, 08:33 am JST 情報化社会と言われて久しいのですが、パーソナルコンピュータが生まれてから40年が経過しても、未だに最も普及している情報処理手段は紙と手書きです。 そのなかでも非常に興味深いのは、コンピュータという最も高度な情報処理装置を使いこなすプログラマーほど、手書きを必要としているという点です。 この写真は弊社のとあるプログラマーの作業風景ですが、キーボードの下に紙のノートを挟んで使っています。 さらに、彼の左側には、ホワイトボードが設置され、そこにも何かを書いています。 なぜ情報処理の達人であり、普通の人の何倍ものスピードでキーボードを打ち、自らのイメージする論理

    プログラマーはなぜ手書きするのか
  • Pythonや機械学習、そして言語の競争について – 極めて主観的な見地から | POSTD

    (訳注:2016/1/5、いただいた翻訳フィードバックを元に記事を修正いたしました。) よくある主観的で痛烈な意見を題名に付けたクリックベイト(クリック誘導)記事だろうと思われた方、そのとおりです。以前指導してくれた教授から教わったある洞察/処世術は、些細でありながら私の人生を変えるマントラとなったのですが、私がこの記事を書いたのはそれによるものです。「同じタスクを3回以上繰り返す必要があるなら、スクリプトを書いて自動化せよ」 そろそろ、このブログはなんだろうと思い始めているのではないでしょうか。半年振りに記事を書いたのですから。ツイッターで書いた Musings on social network platforms(ソーシャル・ネットワークプラットフォームについてじっくり考える) はさておき、この半年の間書き物をしていないというのはうそです。正確には、400ページの を書きました。

    Pythonや機械学習、そして言語の競争について – 極めて主観的な見地から | POSTD
  • プログラマが知るべき97のこと

    プログラマが知るべき97のこと大人気の書籍『プログラマが知るべき97のこと』のエッセイを無料で公開中!すべてのプログラマにおすすめのがウェブで読めるようになりました。 エッセイ一覧分別のある行動関数型プログラミングを学ぶことの重要性ユーザが何をするかを観察する(あなたはユーザではない)コーディング規約を自動化する美はシンプルさに宿るリファクタリングの際に注意すべきこと共有は慎重にボーイスカウト・ルール他人よりまず自分を疑うツールの選択は慎重にドメインの言葉を使ったコードコードは設計であるコードレイアウトの重要性コードレビューコードの論理的検証コメントについてのコメントコードに書けないことのみをコメントにする学び続ける姿勢誰にとっての「利便性」かすばやくデプロイ、こまめにデプロイ技術的例外とビジネス例外を明確に区別する1万時間の訓練ドメイン特化言語変更を恐れない見られて恥ず

    プログラマが知るべき97のこと
    tatejimaru
    tatejimaru 2016/02/22
    無料で全ページ閲覧できるらしい。時間があるときにでも。