タグ

関連タグで絞り込む (186)

タグの絞り込みを解除

programに関するefclのブックマーク (675)

  • 一般教養としてのGarbage Collection (PDF)

    Garbage Collection ( ) (endo@logos.t.u-tokyo.ac.jp) 6 : Jan 27, 2005 1 Garbage Collection ? 2 (1) (2) ( 1) C C++, Pascal ML Java, Perl C malloc (allocate) free ( malloc Java/C++ ML tuple record ) C ( / free) 12 ML tuple record garbage collection(GC) GC • UNIX (1995 ) emacs GC • Java web Java 0.5 / ( )black box GC GC ( 1) Java Sun HotSpot VM (Ver. 1.4.2) GC 3 generational GC (6.2 ) ( ) copying GC (

    efcl
    efcl 2017/03/20
    一般教養としてのGarbage Collection
  • RDB - 実例で学ぶ、JOIN (NLJ) が遅くなる理屈と対処法 - Qiita

    "Nested Loop Joinしか取り上げて無いのにタイトルが大きすぎないか" と指摘を頂いたので、タイトルを修正しました。Merge JoinとHash Joinのことはまた今度書こうと思います。 「JOINは遅い」とよく言われます。特にRDBを使い始めて間がない内にそういう言説に触れた結果「JOIN=悪」という認識で固定化されてしまっている人も多いように感じています。 たしかに、JOINを含むようなSELECT文は、含まないものに比べて重たくなる傾向があることは事実です。また、質的に問い合わせたい内容が複雑で、対処することが難しいものも存在します。しかし、RDBの中で一体どういうことが起きているのかを知り、それに基いて対処すれば高速化できることも少なくないと考えています。 稿では、JOINの内部動作を解説した上で、Webサービスを作っているとよく出てくるJOIN SQLを例題に

    RDB - 実例で学ぶ、JOIN (NLJ) が遅くなる理屈と対処法 - Qiita
    efcl
    efcl 2017/03/20
    ループでのjoin問題
  • Amazon.co.jp: 純粋関数型データ構造: Chris Okasaki (著), 稲葉一浩 (翻訳), 遠藤侑介 (翻訳): 本

    Amazon.co.jp: 純粋関数型データ構造: Chris Okasaki (著), 稲葉一浩 (翻訳), 遠藤侑介 (翻訳): 本
    efcl
    efcl 2017/03/16
    "Purely Functional Data Structures"の翻訳本
  • よいコミットメッセージ・よくないコミットメッセージ - 弥生開発者ブログ

    こんにちは、mzpです。 今日はMisocaのesaに書いていた「よいコミットメッセージ・よくないコミットメッセージ」という記事を紹介したいと思います。 あらすじ 開発チームでは「コミットメッセージには変更理由を書いて欲しい」「コミットメッセージはWhatよりもWhyが大事」という話を何度かしているのですが、なかなか徹底できていません。 ので、もう少し具体的に「こういうコミットメッセージはよくないですね」というまとめを作ってみることにしました。 ちなみにこの過程でみつけたコミットメッセージに、こんなものがあります。 一切情報がなくておもしろいですね。 ファイル移動を移動した事実しか書かない これは以下のようなコミットメッセージです。 ファイル名を変更 ディレクトリを移動 ファイルを移動したことはコミットメッセージを見なくてもdiffから分かりますが、なぜその移動をしたかが分かりません。 の

    よいコミットメッセージ・よくないコミットメッセージ - 弥生開発者ブログ
    efcl
    efcl 2017/03/14
    https://leanpub.com/livingdocumentation でもこの辺色々書いてあって面白かった
  • Literate Programming

    Donald Knuth. "Literate Programming (1984)" in Literate Programming. CSLI, 1992, pg. 99. I believe that the time is ripe for significantly better documentation of programs, and that we can best achieve this by considering programs to be works of literature. Hence, my title: "Literate Programming." Let us change our traditional attitude to the construction of programs: Instead of imagining that our

    efcl
    efcl 2017/03/13
    Literate Programmingのサイト
  • DDDにおける重要なパターン

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    DDDにおける重要なパターン
    efcl
    efcl 2017/03/11
    > 単に現在の状況を学ぶだけでなく、パターンやアイデアの進化過程を追うことが重要であることを彼は強調した 似たようなアプローチを取ってた。 http://efcl.info/2016/09/30/architecture-refs/
  • GitHub - kujirahand/nadesiko3: Japanese Programming Language Nadesiko v3 (JavaScript/TypeScript)

    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 - kujirahand/nadesiko3: Japanese Programming Language Nadesiko v3 (JavaScript/TypeScript)
    efcl
    efcl 2017/03/02
    なでしこのJavaScript実装
  • 例外処理について個人的に思うことを書いてみる - wyukawa's diary

    Javaの検査例外の仕組みは理解はできるけど、結果的にはあまりうまくいかなかったかなというのが個人的な見解です。理由は例外をcatchさせても無視されることが多いから。 下記のにもそれに近い見解が述べられていた気がするけど忘れた。 Java: The Good Parts 作者: Jim Waldo,矢野勉,笹井崇司出版社/メーカー: オライリージャパン発売日: 2011/02/24メディア: 大型購入: 3人 クリック: 148回この商品を含むブログ (37件) を見る 僕がSIerにいた頃は、開発者に例外をcatchさせてはいけないと言われたものでした。 共通チームが共通部品やフレームワークを整備して、他チームがそれを使って開発することが多いわけですが、その場合に個々の開発者が例外をcatchする必要がないように整備するのが一般的でした。 例えばStruts 1のActionのex

    例外処理について個人的に思うことを書いてみる - wyukawa's diary
    efcl
    efcl 2017/02/25
    エラーログに、メッセージだけではなくスタックトレースも含めるという話
  • どれだけ速く文字列からスペースを削除できるのか | POSTD

    時によってプログラマは文字列から不要な文字を取り除きたい場合があります。例えば、テキストの一部からすべての行の末尾文字を削除したいとします。 その時、全スペース(‘ ‘)や改行コード(‘\n’および‘\r’)を削除する問題を考えてみましょう。 効率的に実行するにはどのような方法がいいのでしょうか。 size_t despace(char * bytes, size_t howmany) { size_t pos = 0; for(size_t i = 0; i < howmany; i++) { char c = bytes[i]; if (c == '\r' || c == '\n' || c == ' ') { continue; } bytes[pos++] = c; } return pos; } 上記のコードはUTF-8でエンコードされた文字列で動作します。UTF-8がASCII

    どれだけ速く文字列からスペースを削除できるのか | POSTD
    efcl
    efcl 2017/02/23
    ベクトルでまとめて処理をする。 SIMD
  • YAMLを覚えよう - エンジニア成長日記

    はじめに 最近、ansibelなどの設定書式で用いられる記法「YAML」について、紹介します。 YAMLは、箇条書きのように記載できるため、大変わかりやすいフォーマットです。 YAMLとは? 概要 YAML Ain’t Markup Languageの略で、構造化データの表現する記法になります。 主に以下のような用途で利用されます。 設定ファイル データ保存 データ交換 XMLとの違い XMLとYAML大きな違いは、表記方法が異なります。 XML = 開始、終了タグ()を利用した構造化データを表現。 YAML = タグの代わりに、インデントを利用した構造化データを表現。 XMLと比べ、人が見る場合に非常にわかりやすい構造で表現することが可能となります。 以下、XMLとYAMLを比較すために、サンプルを記載します。 例) 書籍の一覧を表現する場合 [XML] <books> <book> <

    YAMLを覚えよう - エンジニア成長日記
    efcl
    efcl 2017/02/09
    yamlフォーマットについて
  • Modern garbage collection

    You can find discussions on Hacker News and Reddit I’ve seen a bunch of articles lately which promote the Go language’s latest garbage collector in ways that trouble me. Some of these articles come from the Go project itself. They make claims that imply a radical breakthrough in GC technology has occurred. Here is the initial announcement of a new collector in August 2015: Go is building a garbage

    Modern garbage collection
    efcl
    efcl 2017/02/01
    GCに関する用語、Go、JavaのGC
  • 型安全性とは結局何なのか | 黒曜の吹き溜まり

    この記事は 第2のドワンゴ Advent Calendar 2016 の8日目です。 日付を跨いでいる? またまたご冗談を、DST(ドワンゴスタンダードタイム)ではまだ8日ですよ。 ちなみに前日は…なんと誰も参加登録をしていませんでした! 結構な勢いで埋まってたんですけど、唯一の空きですね。 前々日はdaneko0123さんでした。 一昨年のアドベントカレンダー記事が「関数型プログラミングとは結局何なのか」、去年の記事が「オブジェクト指向プログラミングとは結局なんなのか」ということで、3年目ともなると記事の方向性が固まりつつある雰囲気が漂いつつ、ネタ切れの空気も漂いつつあります。 そもそも去年の時点で既にドワンゴ社員ではないのにアドベントカレンダーには参加し続けている、というのもアレな話ですが。 なにを書くか考えたのですが、最近null安全に関する記事が話題になり、その中で「型」と「安全性

    efcl
    efcl 2017/01/29
    型安全について。 分類、片付け、安全性。 静的型付けと動的型付け
  • 値渡しと参照渡しと参照の値渡しと - Qiita

    2017/3/1追記 : Pythonの説明がやや不正確だったため追加の記事を書きました → 参照についてもう少し詳しく ~PythonJavaを例に~ ありきたりな話題ではあるけど、値渡しとか参照渡しとか、変数を関数に渡した時の挙動について自分もまとめてみることにした。 #はじめに、プリミティブ型について ほとんどの言語では、プリミティブ型とそれ以外で挙動が違う。 言語によって若干異なるものの、プリミティブ型は概ねこんな感じ。 整数 浮動小数点数 文字 ブーリアン 参照 or ポインタ それ以外の配列、クラス、構造体などをここではオブジェクトと呼んでいる。 #値渡し 関数に渡した際にその値をコピーした新しい変数が作られ、それが仮引数になる。 関数内で仮引数を変更しても呼び出し元の変数は変化しない。 C++JavaPythonの例。

    値渡しと参照渡しと参照の値渡しと - Qiita
    efcl
    efcl 2017/01/29
    値渡し、参照渡し、参照の値渡し(共有渡し)
  • 構文解析に出てくる用語たち - Panda Noir

    構文解析はプログラマなら誰しも一度はやったことがあると思います。しかし、構文解析には独自の用語がたくさんあります。 そこで、初心者に向けて用語の解説をしたいと思います。「非終端記号って何?」「トップダウンとボトムアップはどう違うの?」と疑問に思ってる方は必読です。 終端記号と非終端記号 終端記号、非終端記号とは、「置き換えが」終わった記号、終わってない記号のことです。まだ何のことかわかりませんね。wikiの例をみてみましょう。 S→Ax A→a A→b この3行はそれぞれ「矢印の左側の記号を右側の記号へ置き換える」という構文を表しています。この「記号」たちの種類が「終端記号」「非終端記号」です。 この構文では、SとAは置き換えが起きていますが、aとbは置き換えが起きていません。だから、SとAが非終端記号、aとbが終端記号です。 構文解析の種類 構文解析したい文字列(入力)は終端記号の羅列で

    構文解析に出てくる用語たち - Panda Noir
    efcl
    efcl 2017/01/18
    終端記号と非終端記号について
  • Design It!

    Read it now on the O’Reilly learning platform with a 10-day free trial. O’Reilly members get unlimited access to books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers. Book description Don't engineer by coincidence-design it like you mean it! Filled with practical techniques, Design It! is the perfect introduction to software architecture for program

    Design It!
    efcl
    efcl 2017/01/10
    プログラミングアーキテクチャについての本 2017年3月
  • Watch Your Language!

    efcl
    efcl 2017/01/09
    自分の言語と他の言語
  • GitHub - karan/Projects: :page_with_curl: A list of practical projects that anyone can solve in any programming language.

    Find PI to the Nth Digit - Enter a number and have the program generate PI up to that many decimal places. Keep a limit to how far the program will go. Find e to the Nth Digit - Just like the previous problem, but with e instead of PI. Enter a number and have the program generate e up to that many decimal places. Keep a limit to how far the program will go. Fibonacci Sequence - Enter a number and

    GitHub - karan/Projects: :page_with_curl: A list of practical projects that anyone can solve in any programming language.
    efcl
    efcl 2017/01/09
    言語に依存しない課題リスト
  • SpringでField InjectionよりConstructor Injectionが推奨される理由 - abcdefg.....

    SpringでField InjectionよりConstructor Injectionが推奨される理由を調べてみたメモです。 (2016/12/30) サンプルコードにfinalをつけるように修正 (2017/03/29) Immutabilityについて追記 --- 家でも会社でもIntelliJを使って開発しているのですが、 Spring Bootで@Autowired(@Inject)を使うと下記のような警告が出るようになりました。 警告内容を見てみると、フィールドインジェクションは推奨されません、とのこと。 「Field injection is not recommended.」 警告の詳細を見てみると下記のように書いてあります。 「Field injection is not recommended. Spring Team recommends: "Always use

    SpringでField InjectionよりConstructor Injectionが推奨される理由 - abcdefg.....
    efcl
    efcl 2016/12/31
    コンストラクタでのDIが推奨される理由について
  • ストリーム処理とは何か?+2016年の出来事 - Qiita

    その対処で全部に対応するのは無理なんじゃないの? Watermark、Trigger、Accumulationの機構が導入されればストリーム処理は全て対応可能かというと、 そんなことはありません。 何故なら、下記のような問題が発生してくるからです。 Watermarkを実時刻からどれくらい遅らせて設定すればいいのか? 遅れを大きくすれば正確性は増しますが、遅延時間は大きくなります。 Accumulationのためにウィンドウの集計結果をどれだけ保持すればいいのか? 保持する時間が長いほど、ストリーム処理を行うシステムのリソースが必要となります。 データ処理システム(バッチ、ストリーム含む)には下記の3要素のトレードオフがあるとされています。 完全性(Completeness) 低遅延(Low Latency) 低コスト(Low Cost) この3要素を全てに満たすことは出来ず、全てのデータ

    ストリーム処理とは何か?+2016年の出来事 - Qiita
    efcl
    efcl 2016/12/24
    バッチ処理とストリーム処理の違い、ビックデータの処理パターン、メッセージバス、プロダクトのまとめ分類、構築するときに気をつけることについて
  • プログラミングスタックをEveはどのように統合するのか | POSTD

    この投稿では、エキサイティングで魅力的な新しいプログラミング言語、 Eve について紹介していきたいと思います。今回は6パートのシリーズのうち、パート1です。 1. プログラミングスタックの全体をEveはどのように統合するのか 2. When logic programming meets CQRS(ロジックプログラミングがCQRSに出会う時) 3. Throwing off our scope chains(スコープチェーンを取り除く) 4. Smalltalk and protein programming(Smalltalk言語とプロテインのプログラミング) 5. The rock-solid foundation for Eve’s big vision(Eveの壮大なるビジョンのための強固な基盤) 6. Why Eve will be perfect for realtime a

    プログラミングスタックをEveはどのように統合するのか | POSTD
    efcl
    efcl 2016/12/20
    プログラミング言語Eveについて