タグ

programmingとProgrammingに関するackintoshのブックマーク (197)

  • Naming -名前付け- - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Naming -名前付け- プログラミングで最も重要な技術の一つが、名前付けです。 且つ、センスが問われるものなので、上達は難しいものでもあります。 この記事では、様々な文献から抽出した名前付けに関する情報を雑多にまとめました。 -名前重要- ソフトウェアの設計のアプローチとして、『まず名前から入る』というのは、あまり語られていない秘訣としてもっと広く知られても良いように思います。 まつもとゆきひろ 『プログラマが知るべき97のこと』 コミュニケーションの基礎 名前は、コミュニケーションの基礎となるものです。 私にもあなたにも名前が無け

    Naming -名前付け- - Qiita
  • チームとして少ないミスで素早くアプリを継続的・持続的に作り続けるためのメソッド - Qiita

    この投稿は DroidKaigi で話そうと思ったけど採択されなかった RejectedKaigi な内容です。 プログラムは、書けば書くほど複雑になります。行数が増え、分岐や繰り返しが増え、メソッドが増え、クラスが増え、パッケージが増え、管理するものは日に日に増えていきます。これらのものを使う側からすると、使うものが増えるということは、それだけ覚えることが増えることになります。勿論、IDE やエディタプラグインによって、そのような労力が極力減らされることもありますが、覚えることが少ないに越したことはありません。 この記事では、IDE やエディタプラグインはひとまず脇に置き、チームでコミュニケーションを取りながらコードを書くという観点で、従来のプログラミングのプラクティスを基に、開発時のミスを少なくし、チームで素早くアプリを作り続けていく方法論を深めていこうと思います。 Agenda 型を

    チームとして少ないミスで素早くアプリを継続的・持続的に作り続けるためのメソッド - Qiita
  • 情報科学における18のメタテクニック

    情報科学でよく使われるメタテクニックについての紹介です。取り上げたのはキャッシング、[ノン]ブロッキング、プロファイリング、パイプライニング、投機的実行、条件の緩和、Eager/Lazy、フィルタリング、再利用、並列化、結合/分離、多階層/クラスター化、先読み/先取り、動的適応、複製、仮想化、チェックポイント、トランザクションの計18個です。

    情報科学における18のメタテクニック
  • モダンWebシステム開発

    Qcon Tokyo2015 での発表スライド

    モダンWebシステム開発
  • コマンドラインツールを作るときに考えているちょっとした設計方針 | おそらくはそれさえも平凡な日々

    個人的にPerlでもGoでもRubyでもコマンドラインツールを作るときに考えることの一つに以下がある。 その実装言語からライブラリとして直接呼べるインターフェースを作り、コマンドもそれを呼び出すようにする。 どういうことかというと、最近書いたgo-timeoutの場合、 % go-timeout --kill-after 5 --signal=HUP 10 perl -E "say 'Hello'" は、内部的に以下を呼び出している。 tio := &timeout.Timeout{ Cmd: exec.Command("perl", "-E", "say 'Hello'"), Duration: 10 * time.Second, KillAfter: 5 * time.Second, Signal: syscall.SIGHUP, } exitStatus := tio.RunSimp

    コマンドラインツールを作るときに考えているちょっとした設計方針 | おそらくはそれさえも平凡な日々
  • 「BEAR.Sunday」郡山昭仁さんに聞くプログラミングに必要な視点と考え方

    更新日: 2017年03月08日公開日: 2015年04月16日「BEAR.Sunday」郡山昭仁さんに聞くプログラミングに必要な視点と考え方 "CodeCampus"はオンラインプログラミングスクール No.1のCodeCampが運営するプログラミング未経験の方のための学習メディアです CodeCampとは?(受講生体験記) 「エンジニアは女性のキャリアとして魅力的」未経験からの転職体験記リモートワーク×多拠点居住の新しい生き方を実現する。元バレエダンサーの挑戦普通の文系大学生/営業職が、エンジニア転職起業するまで成長の記録 トップエンジニア・インタビュー第二弾! 業界をリードするトップエンジニアの皆さんに聞いた、プログラミングを始めたきっかけやご自身のスキルアップの極意、初心者へのアドバイスなど、貴重なお話をお届けするシリーズ「トップエンジニア・インタビュー」。 第二弾は、小川雄大

    「BEAR.Sunday」郡山昭仁さんに聞くプログラミングに必要な視点と考え方
  • 長文日記

    長文日記
  • ネットワークプログラミングの基礎知識

    ネットワークプログラミングの基礎知識 ここでは IP アドレスやポート番号、クライアントとサーバの役割などを説明し、 perl・C言語・Java などでソケット (Socket) を使った HTTP クライアントや POP3 クライアント、簡単なサーバを作成してみます。 要はネットワークプログラミングをやってみよう、ということです。 このページのサンプルプログラムは、RFC などの規格に準拠した「正しい」プログラムではありません。 また、全体的にエラー処理が不十分です (今後改善する予定です)。 あくまでも概要を理解するためのサンプルととらえてください。 もし気でしっかりとしたクライアントやサーバを書きたいなら、このページを読んだ上で、 さらに RFC を熟読し、そして wget・Apache・ftp コマンドなどのソースを参考にしてください。 このページに間違いを見付けたら、掲示板

  • 「tail -f」を使うのは情弱、情強は「less +F」を使う | ソフトアンテナ

    ログファイルの監視に「tail -f」コマンドを使っている方は多いかもしれません。ファイルの末尾を表示する「tail」コマンドに、ファイル末尾に追加されたデータを追跡表示する「-f」オプションを指定することで、手軽にログの監視ができる便利なコマンドです。 しかし最近、「tail -f」より便利なコマンドとして「less +F」の使用を推奨するブログ記事「Stop using tail -f (mostly)」が公開され話題となりました。 「less」はテキストファイルの内容を表示する、ページャーと呼ばれるソフトウェアですが、これに「+F」オプションを指定することで、「tail -f」より便利なファイル監視コマンドとして使えるらしいのです。具体的に「less +F」が「tail -f」より便利な点として以下の2点が挙げられています。 監視モードと通常モードをlessを起動したまま行き来できる

    「tail -f」を使うのは情弱、情強は「less +F」を使う | ソフトアンテナ
  • 新卒ソフトウェアエンジニアのための技術書100冊 - クックパッド開発者ブログ

    こんにちは、技術部 高井です。 春といえば、フレッシュマンの季節ですね。このブログを読む方の中には、明日からエンジニアとして新社会人になるという方もいらっしゃるのではないでしょうか。クックパッドでも新しい仲間を迎えるための準備をしていたところで、その準備の一環として「新卒ソフトウェアエンジニアのための技術書100冊」というものを作成しました。 この100冊は、職業ソフトウェアエンジニアとしてキャリアを積むにあたって、読むべき技術書に悩んだら、まずはこのリストから選ぶとよいのではないでしょうかという提案です。 リストに多少の趣味や主張がはいっているのは、まあご愛嬌ということでお許しいただければとおもいますが、職業プログラマとして知っておくべき知識を網羅できるように心がけました。古典と呼ばれる名著についてはできるだけ取りいれ、独習が難しい難解なコンピュータサイエンスの教科書は避けています。これ

    新卒ソフトウェアエンジニアのための技術書100冊 - クックパッド開発者ブログ
  • ダメなコードを改造しなくてはいけなくなったときは、ダメさを片っ端から潰していくしかない

    仕事としてプログラミングをしていると、ときどき、どう見てもダメなコードを扱わないといけないことがある。そういうコードでも動いている以上はそれなりの価値を提供しているわけだけど、ときどき触るのすら嫌悪感を感じるようなものがある。 なぜ嫌悪感を感じるのかといえば、自分で最低限だと思っている想定すら守られていないからだ。常識の通じない人たちの書いたコードには身の毛もよだつような何かがある。 コーディングスタイルが統一されていない インデントが狂っている 到達不能なデッドコードがたくさんある 無意味なコメントやコメントアウトされたコードがある コメントの文章が文章としておかしい コピペの繰り返しがたくさんある ネストが恐ろしく深い 関数が絶望的に長い 無意味に複雑 こういったコードを触らなくてはいけなくなったとき、そのままで編集するのはかなり難しい。コードの内容以前に、不自然な部分でいちいち引っか

  • Heroku HTTP API Design Guide

    JPC2016: PUP-02: 今すぐできるソフトウェア資産を活かした Azure ビジネス展開 ~ ソフトウェア資産をお持ちの方も利用する方も ~

    Heroku HTTP API Design Guide
  • 99%のEmailアドレスにマッチする正規表現公開される | ソフトアンテナ

    一見Emailアドレスにマッチする正規表現を組み立てるのは簡単そうに思えますが、RFC 5322に厳密に準拠した正規表現を創りだそうとするととんでも無い努力が必要となるようです。 「Email Address Regular Expression That 99.9% Works」は、様々なプログラミング言語ごとに、Emailアドレスに99%マッチする正規表現を掲載したサイトで、例えばPerl 5.10より前のバージョンのPerl用として、掲載されている長大な正規表現を見れば、その難易度の高さを確認することができます。 正規表現にはなんの解説もなくどのような意図をもって作られたのか説明はありません(よって99%マッチするかどうかは当のところは不明)。ちなみに日語で読める貴重な情報「Perlメモ」では、「perl5.6.0以前の perl ではメールアドレスの正規表現を正確に記述すること

    99%のEmailアドレスにマッチする正規表現公開される | ソフトアンテナ
  • Unixデーモンの仕組み

    Home Subscribe Unixデーモンの仕組み 12 March 2015 おはこんばんちは!! 尾藤 a.k.a. BTO です。 みなさん、Unixデーモンよく使ってますよね。 Webエンジニアなら、Webサーバ、メールサーバ、DBサーバ、cronなどがよく使われるのではないでしょうか。 24時間365日黙々と働き続けるUnixデーモン達。 身近な存在だと思いますが、実はどういう仕組みで動いているのかご存じない方も多いのではないでしょうか。 先日、オトバンクでUnixデーモンの仕組みについて勉強会をやったので、その内容をまとめます。 デーモンとは では、デーモンとはいったい何なのでしょうか。 Unixライクシステムにおいて、バックグランドで動作して様々な処理を実行してくれるプロセスがデーモンです。 デーモンには明確な定義はありませんが、だいたい次のような条件を満たすプロセスが

    Unixデーモンの仕組み
  • ウェブのプッシュ通知、何がそんなにすごいのか?

    3 月 13 日、Chrome Beta のブログポストが出ました。AndroidChromeプッシュ通知が使えるようになったのが個人的なハイライトです。 「確かにプッシュ通知は便利かもね〜」と思ったあなた、驚きが足りません。のけぞるべきです。小躍りするべきです。 理由を説明します。 ユーザーエンゲージメントが変わる # あなたのウェブサイトのビジネスモデルが広告モデルにしろ課金モデルにしろ、ユーザーが繰り返し訪れてくれることは大前提です。通常のウェブサイトやサービスは、そのための策を練ります。そのきっかけをサービス側から能動的に与えることで、ユーザーが戻ってきて、ビジネスは回ります。しかし、そのきっかけを与える方法は、非常に限定されていると言わざるを得ません。 インターネットが普及し始めた当初から伝統的に利用されているのがメール、数年前から利用されているのがソーシャルメディア、

    ウェブのプッシュ通知、何がそんなにすごいのか?
  • 言語処理100本ノック 2015

    言語処理100ノックは,実践的な課題に取り組みながら,プログラミング,データ分析,研究のスキルを楽しく習得することを目指した問題集です 実用的でワクワクするような題材を厳選しました 言語処理に加えて,統計や機械学習などの周辺分野にも親しめます 研究やデータ分析の進め方,作法,スキルを修得できます 問題を解くのに必要なデータ・コーパスを配布しています 言語はPythonを想定していますが,他の言語にも対応しています

  • プログラミングで変数名や関数名のネーミングに迷ったときに便利なカンニングペーパーまとめ

    関数名によく使われる英単語(動詞)の意味とニュアンス 関数名によく使われる英単語(動詞)の意味とニュアンス | PHP Archive プログラムで、よく利用される動詞の種類が豊富なリストです。 動詞を見つけるなら、一覧になっているのでcodicで検索するよりも手軽かもしれません。 以下のような、よく利用される単語の、主な用途と細かい意味、ニュアンス、使い分けについてリストアップされています。 追加・作成保存・出力読み込み・解析・取得編集・変更・修正削除検索検査許可・禁止その他プログラミングに出る!英単語 C言語編 – プログラミングに出る!英単語 名詞なども含めて、一般的に関数名などで使われる英単語を百数十個まとめてあるページです。 C言語編と書かれていますが、どのような言語でもよく利用されている単語ばかりなので、ここにある単語さえ押さえておけば、自分以外の人にも理解されやすい名前をつけ

    プログラミングで変数名や関数名のネーミングに迷ったときに便利なカンニングペーパーまとめ
  • コードを書く経営者ドワンゴ川上会長「プログラミングこそが基礎教養」 | Biz/Zine

    最近の開発って宗教っぽくない? 今のプログラム開発の現場を見て「コンピュータの動作原理を知らない人が作っている」と感じているという。川上氏は、CPUや帯域などの理論から検証するが、今のエンジニアは、実験で計測して原理まで遡らない。川上氏はこれを「宗教的」とコメントした。 アジャイルとか、スクラムとかいろんな方法がありますよね。もちろん方法的には効果があるんでしょうが、ちょっと宗教っぽいなあと。どこが宗教っぽいかというと、宗教の人って、批判すると怒り出すんです(笑)。 自分が考えたり、おこなった結果よりも、誰かがやった結果に頼るエンジニアが増えていると警告する川上氏。最近会った人から得たという、半導体業界の話を披露した。 半導体って過去40年間のムーアの法則で進歩してきた。それで何か生み出したかという問の答えが「膨大な数の二流のエンジニア」なんだそうです。すぐれた回路設計や性能に注入するより

    コードを書く経営者ドワンゴ川上会長「プログラミングこそが基礎教養」 | Biz/Zine
  • ssig33.com - よく分からない人のためのセキュリティ

    いろいろと原則論はあるんですが。昨今のアプリケーションは複雑化し、扱う情報はよりセンシティブになり、そしてより幅広く使われるようになっています。よって「安全な」アプリケーションを作るために必要な知識はますます増える傾向にあります。 よく分かってない人は以下のことにとりあえず気をつけましょう 1. なるべく自分で作らない これは最も重要なことです。検索する、他人に聞く、自分で考えない。これは重要です。大抵の問題は他人が作ってくれた解決策を適用できます。 例えばセキュアな問合せフォームを作ることにしましょう。気をつけるべきことは以下のことぐらいでしょうか。 送信内容の確認画面を表示する場合、ユーザーの入力した値は適切にエスケープするように 送信内容をアプリケーションの DB に格納する場合には SQL インジェクションを防がなければならないので、プリペアドステートメントを用いる CSRF 対策

  • UNIXのプロセスやシグナルをしっかり理解するための技術ドキュメント「Process Book」 | ソフトアンテナ

    UNIXの基をなすプロセスやシグナルなどを分かりやすく解説した技術ドキュメント「Process Book」がGitHubにて公開されています。 同ドキュメントは、プロセスの生成、プロセスとファイル入出力、ファイルディスクリプタ、preforkサーバーの作り方、ゾンビプロセスと孤児プロセス、シグナルとkill、プロセスグループとフォアグランドプロセスといった話題を解説するドキュメントで、GitHubのreleasesディレクトリにはPDF、epub形式のファイルも格納されています。 UNIX環境でプログラムを開発する際に役立つだけではなく、普通のユーザーとしてターミナルを使ってコマンド操作を行う際にも役に立ちそうな内容だと思います。

    UNIXのプロセスやシグナルをしっかり理解するための技術ドキュメント「Process Book」 | ソフトアンテナ