Code Archive Skip to content Google About Google Privacy Terms
2001年の発行以来「10年後も通用する基本を身につけよう」のキャッチフレーズのもと読み継がれてきた書籍「なぜ」シリーズ。この先の10年に向けて、何をいま知っておくことが重要なのかを著者の皆さんに語ってもらいます。(編集部) プログラミング言語には、様々な種類があります。オープン系システムを中心に幅広く使われているJavaやC#、メインフレームでは現役バリバリのCOBOL、制御系システムで一般的なC言語、Webサイト開発に特化したPHPあたりが現在主流の言語でしょうか。またiPhoneアプリ開発で使うObjective-C、Windowsアプリ開発に特化したVisual Basic、日本が世界に誇るRubyも人気があります。さらに元祖オブジェクト指向言語のSmalltalk、関数もデータもカッコで記述するLisp、世界最古の高級言語のFORTRANもありますね。この記事を読んでいる方の中に
最近はアーキテクトという役割で客先に常駐し、フレームワークの選定をしたり、事前に共通部品を設計したりする役割を担う仕事を引き受けることが結構あります。そこで運よくお客様のマネージャーがオブジェクト指向開発の経験が十分にある方だと、IDEなどの開発環境やインターネット接続環境を当然のように用意してくれるので最初から仕事がスムーズにできるのですが、そうでないとMS Officeしか入っていないロースペックのノートPCを渡されて、要件定義フェーズの期間中、フレームワークの設計をお願いしますとか、私としてはちょっと首をかしげてしまうような困ったことを言われてしまう場合があります。開発フェーズが始まる半年後まではコーディングは基本的に不要という考え方です。アプリケーションのアーキテクトという役割では少なくともコーディング規約を考えたり、ツールやフレームワークの選定をしたりする必要がありますし、プロジ
「コードの読まれ方が分かった」、工数見積もり精度向上に寄与:奈良先端科学技術大学院大学 森崎修司氏らが発表 「ソースコードの読まれ方の傾向がまた1つ明らかになった。これで派生開発、保守開発の工数見積もりの精度が向上する」――奈良先端科学技術大学院大学 森崎修司助教らの研究グループは、2009年9月~11月にかけて行ったソースコードリーディングのオンライン・ハンズオン、2010年1月、2月に行ったイベント「ソースコードリーディングワークショップ」、ほか3回におけるハンズオンの分析結果を発表した。 総計126人に、保守/派生開発プロジェクトを模した形式で複数のソースコードを読んでもらい、それぞれにかかった時間を計測、分析したところ、「ソースコードの読解時間はソースコードの行数だけで予測することは難しい」「大規模な変更の場合、コードレビューの経験があるとソースコードの読解時間を短縮できる」ことな
以前見つけた資料。そういやそんなんあったなと久々に検索して探すのに少し手間取ったのでメモ 言語の比較対応で文法覚えられそうなんで便利じゃないかなと 参照: Big Script: PHP, Perl, Python, Ruby, Smalltalk http://hyperpolyglot.wikidot.com/scripting Small Script: Bash, Tcl, Lua, Javascript, IO http://hyperpolyglot.wikidot.com/small Platform: C, C++, Objective C, Java, C# http://hyperpolyglot.wikidot.com/platform Lisp: Common Lisp, Scheme, Clojure, Emacs Lisp http://hyperpolyglo
http://longgate.co.jp/products.html 弊社、株式会社ロングゲートで、プログラミング雑誌を作るというプロジェクトが進行しています。 本書創刊の目的は、プログラミングの入門記事が巷に溢れる今、プログラマのさらなる成長のため情報発信を行い、業界全体の技術力を向上させることです。 雑誌といっても、記事の質を保つために不定期刊行としていることから、実際には雑誌ライクな書籍となります。 書籍名は「プログラミングの魔導書〜Programmers' Grimoire〜」です。 創刊号となる今回のテーマは、サブタイトルにも含まれている「C++」です。全ての記事がプログラミング言語C++に関するものとなっています。 Vol.1のテーマをC++としたのは奇をてらったものではありません。 C++は習得の難しい言語と言われておりますが、近年はBoost C++ Librariesに
Javaがヒープの管理にGCを使用しているのは、読者の皆さんもご存じの通りです。GCの手法にはいろいろありますが、HotSpot VMが採用しているのが世代別GCです。今回は、世代別GCの概要と問題点を解説したうえで、これを解決するために導入されたGarbage First GCについて説明します。 世代別GCの概要と問題点 世代別GCは若いインスタンスと時間を経たインスタンスを別々の領域に配置し、管理する手法です。これは寿命の短いインスタンスほど多いという性質をベースにしています。 若いインスタンスが配置される領域をヤング領域、時間を経たインスタンスを配置する領域をオールド領域とよび、それぞれの領域で異なるGCの手法を使用します。つまり、ヤングとオールドという世代の異なる領域を、それぞれ異なるGCで管理するのが世代別GCというわけです。 ヤング領域には高速ですが漏れのあるGCを用います。
2ちゃんねるのdatを高速で処理するプログラムを書いていたら、いつのまにかC言語でハッシュテーブルを実装していました。これぞ車輪の再発明って感じです。 名前は「unhash」としておきます。 とりあえず、ダウンロードはこちらです。 http://www.heiwaboke.net/lang-c/src/unhash-0.01.zip 2012/09/16追記 ソースコードを紛失してしまったので、こそこそ改造してたバージョンの方にリンク貼っておきます。 名前が変わってちょっとだけ省メモリ化していますが、大本の仕組みと使い方は同じです。 参考程度にどうぞ。 https://github.com/tanaton/unmap ベンチマーク 一番下がunhashです。 ベンチマークの方法はC/C++ で使える HashtableCommentsAdd Starを参考にしました。 tanaton@he
GC周りでトラブルシューティングした際の経験や、Web等で調べたことをまとめてみる。 前提 ・JVMは、Sun Javaを想定。(他は使ったことないです。。。) ・Sun Java 1.5-1.6を想定。 目標 マイナーGC、Full GCそれぞれが頻発することなく、かつそれぞれの実行時間を1秒未満に抑えること。 マイナーGCは1秒未満どころではなく、もっと短くなるべき。どれくらいが理想かは?(0.1秒未満ぐらいを目指したい?) 連続した負荷状態(想定されるピークアクセス)でもOutOfMemoryErrorが発生しないこと。 理想的な状態は、上記に加えて、Full GCの発生が低頻度であること。 具体的には、できるだけマイナーGCで短命オブジェクト(1回使ったらもう使わないようなオブジェクト。逆にセッションオブジェクト等は長命オブジェクトとなる)を破棄させて、短命オブジェクトが、Tenu
あなたのスキルで飯は食えるか? 史上最大のコーディングスキル判定:makeplex salon(1/2 ページ) この問題ができたから優秀な人材とは限らないけれど、できない人は“ほぼ確実に”優秀ではない――プログラマーの皆さまの実力を計るコーディングスキル判定問題を用意しました。あなたはこの問題が解けるでしょうか? 新年度が始まり、新たに社会人となった読者の方も多いかと思います。あるいは、転職で心機一転がんばろうという読者もおられるでしょう。 あなたがもしプログラマーやSEといった職種であれば、ぜひ面白い仕事を手がけていただきたいと思いますが、そもそも開発分野で本当に面白い仕事とは何かを考えたことはありますか? その答えを論ずる前に、少し前に話題となったトピックを取り上げたいと思います。それは、岡嶋大介氏の「人材獲得作戦」についてです。ご存じない方のために少し補足しておくと、岡嶋氏は、株価
印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます ソフトウェア開発者を採用する面接の場においては、応募者の専門家としての力量を見極めることが最も困難な作業の1つである。彼らの考え方については、面接時に少しやり取りを行えばそれなりに見当が付くだろう。しかし、実際のプログラミング経験を推し量るのは至難の業だ。一部の企業では、さまざまなテストを実施することでこれを行おうとするものの、筆者の経験から言えば、こういったテストは近代的な開発環境では必要性が薄い知識(IDEのオートコンプリート機能や、F1キーの押下で表示されるヘルプ、インターネットといったものがあるため、ライブラリの知識は以前ほど重要ではなくなっている)の丸暗記能力を試すだけに終わることも多い。そこで本記事では、開発者を評価するうえ
最近、あるプログラマと話していて気づいたのだけど、彼は16進数の2桁と1桁との掛け算(FDh×5とか)が出来ない。やり方自体を知らないのだ。彼はWindowsの電卓を立ち上げて計算していた。 そのときは「プログラマでなくともこんなこと知ってて当然だろ!」と思ったのだけど、その後、10人ぐらいのプログラマに出来るかどうか聞いてみたが誰も出来ない。 結局、「普通は出来ない」のだと私は理解した。しかし16進数の掛け算はそんなに難しくない。私が子供のころには、まわりにFF(1×1=1に始まって、F×F=E1まで)を丸暗記している人がいっぱいいた。情報教育の一環として中学か高校で教えても計算の仕方ぐらい教えればいいのになぁと思っている。 前置きが長くなったが、以下にやり方などを書いておく。 ■ 16進数に馴染もう 16進数では、A = 10 , B = 11 , C = 12 , D = 13 ,
首藤 一幸 Last-updated: January 5, 2010 注: このページの文章は Software Design 誌 2010年 2月号に掲載された以下の記事の元原稿です。 Software Design 誌編集部の了承の元に、本ウェブページに掲載しております。 首藤一幸: "key-valueストアの基礎知識", Software Design 2010年 2月号, p.14-21, (株)技術評論社, 2010年 1月 18日 クラウド、特にPaaS向けのソフトウェア開発が現実のものとなり、 そこではリレーショナルデータベースとは違ったデータベースが 勢いを増しています。 その代表であるkey-valueストアを解説します。 もくじ key-valueストアとは なぜkey-valueストアか key-valueストアの使いどころ key-valueストアとNoSQLの
Let op! Internet Explorer wordt niet meer ondersteund. Hierdoor kan de website mogelijk niet goed functioneren, gebruik een alternatieve browser om optimaal gebruik te maken van deze website. Klik hier om een alternatieve browser te downloaden. Home » TIOBE Index TIOBE Index for June 2024 June Headline: C++ surpasses C for the first time in history C++ is the new number 2 in the TIOBE index. Origi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く