エンジニアtypeは、各種エンジニアをはじめ「創る人たち」のキャリア形成に役立つ情報を発信する『@type』のコンテンツです。
C言語は、C++やC#など「C」を名乗る言語はもとより、 1990年以降に盛んに使われるようになった各種言語の多くの源流とされている。 では、このC言語自身の起源はというと、 一般には下記の系譜であると理解されている。 ところが、 「C言語の構造体をめぐって」を まとめるに際して調べてみたところ、 この系譜は事実の記述としてあまりにも一面的であり、 系譜として「不適切」であると断言しても良いほどであるということが判った。 このことは、「C言語の構造体をめぐって」の 2005年5月2日以降の版(この文章の初稿公開日まで)にも簡単に記載していたが、 これを独立させて詳論してみることにした。 CPLを起源とする系譜が如何に「不適切」か まず結論を簡単にまとめておくと、以下のようになる。 B言語がBCPLから受け継いだものは、 非常に重要な側面ではあるものの、B言語の特徴の一部分に過ぎない。 BC
バーンれっどさーん @ledsun たかしへ あなたの勤怠確認しました.こんなに残業が多い割に大して売上が上がってないのはどうしてですか?顧客との信頼関係の構築も甘いとと思います.来月からは頑張って下さい.ちなみに母さんは今月、10人月で作ったシステムを3000万で売ってきました。 バーンれっどさーん @ledsun たかしへ あなたの立てたスケジュール読みました。作成工数だけでバッファがありません。予想外の事態が起きた時はどうするのですか?残業でカバーですか?お客様が参加するイベントが入っていません。都度調整ですか?事前に提示していないと都合がつかなくても納期延長できませんが大丈夫ですか? バーンれっどさーん @ledsun たかしへ あなたの作った機能仕様書読みました。技術的面ではチャレンジグで素晴らしかったです。でも、このシステムを使う人にどういうメリットがあるか分かりませんでした。
就職して今日からソフトウェア開発者になった人向け。 本気! どれくらい本気かって言うと会社の新人に強制的に読ませてるくらい本気*1。読破したら偉いとか、興味をもってくれたらうれしいとかじゃない。絶対読め。そして絶対読める。 誰に? 対象とする人 SIerでWebアプリを作る 研究の道具としてプログラミングをしたことはあるがプロダクトを作ったことがない 今まで書いたプログラミングのコード量が3000行以下 文系出身でプログラミングとか知らない、今日からソフトウェア開発者を目指す 対象としない人 新しいことを知るのが好きで、難しい本ほど興奮する 既にプログラミング経験していて、プログラミングをの腕を上げる具体的な方法を知りたい ソフトウェア開発に興味がない 組み込み系とかソーシャル系とか自社サービスな人は、ネットワークとWebアプリは他の本に変えた方がいいかも 5冊の本 読む本は以下の五冊。そ
You too can find work as a programmer in Japan! Programming and software development is one of the few fields where non-Japanese can find great jobs in Japan. But in order to work in Japan, it is essential to learn the Japanese language. Especially, one must know the lingo used in the field where one is working -- namely software! For this purpose, I have gathered notes during my four years worki
IPA(独立行政法人情報処理推進機構)は、 C言語で作成されたソースコードに脆弱性が存在しないかどうかを検査するツール「iCodeChecker」を公開しました。無償で利用できます。 iCodeCheckerは、ソースコードの脆弱性が存在する箇所を検出し、修正例や脆弱性が悪用された場合の脅威についてのレポートを出力するツール。プレスリリースから引用します。 本ツールは、脆弱性やソースコード検査技術を学習したい学生や開発者を対象に、利用者自身が作成したソースコード(C言語)を検査することできます。 本ツールでは、ソースコードの脆弱性が存在する箇所を検出し、修正例や脆弱性が悪用された場合の脅威について解析したレポートを出力します。利用者は本ツールを通して、脆弱性を学習するとともに、ソースコードセキュリティ検査技術の有効的な活用方法を習得することができます。 配布形式は、VMイメージ、パッケージ
デメテルの法則 (Law of Demeter, LoD) または最小知識の原則 (Principle of Least Knowledge) とは、ソフトウェアの設計、特にオブジェクト指向プログラムの設計におけるガイドラインである。 このガイドラインは1987年の末にかけてノースイースタン大学で作成された。簡潔に言うと「直接の友達とだけ話すこと」と要約できる。基本的な考え方は、任意のオブジェクトが自分以外(サブコンポーネント含む)の構造やプロパティに対して持っている仮定を最小限にすべきであるという点にある。 「デメテルの法則」という名前は、この法則がアダプティブプログラミングとアスペクト指向プログラミングに関する研究であるデメテルプロジェクトの成果であることに由来する。プロジェクト名は農業の女神であるデーメーテールにあやかっている。 オブジェクト指向プログラムにデメテルの法則を適用する場
遅ればせながら、あけましておめでとうございます。 先週には、ベイエリアの友人たちがやっているEchofonがPostUpに買収されるなど、幸先のよい新年のスタートとなりました。 さて、最近ホットなマーケットといえばソーシャルゲームですが、ゲームといえばリーダーボード。ハイスコアのランキングで友人や見知らぬ人たちと競うのは、ビデオゲームが誕生した1970年代から欠かせない要素でした。 ところが、インターネット経由で100万人規模のプレイヤーがつながるようになってきた現在、その全体をランキングづけするのは、技術的にも大きなチャレンジとなってきました。 今回は、そのリーダーボードのつくりかたについて、ぼくらの作っているソーシャルゲーム・プラットフォームであるPankiaの運用で得られた知見を共有したいと思います。 自分の順位を知る方法 リーダーボードの基本的な考え方はシンプルで、それはつまり「ユ
林信行 2008/5/15 いまや、Mac一筋という熱狂的なユーザーだけでなく、「何か面白いことをしたい」と考えるエンジニアもMac OS Xを利用し始めている。いったいなぜなのか、その理由を探ってみよう(編集部) 最近、Macintoshを使う著名エンジニアをよく見掛けるようになった。 代表的なところだけでも、シックス・アパートの元CTOの平田大治さん(現News2U社取締役)や米マイクロソフトでWindows 98やInternet Explorerの開発に中心的な役割を果たした中島聡さん(現UIEvolution社チーフアーキテクト)、Lingrなどの開発で知られる江島健太郎さん(現インフォテリアUSA社長)、ニコニコ動画の技術コンセプト設計などを行った清水亮さん(現ユビキタスエンターテイメント社CEO)などが思い浮かぶ。 この傾向は、シリコンバレーに行くとさらに顕著だ。シックス・ア
別にグラフィックスに限ったことじゃないし、そもそも論文とか全然関係ないけど。GPU 周りでもたまに話題になるし、自分でもたまにわけわからんくなるから整理しとく。 メインメモリは遅い CPU からメインメモリにデータを読みに行く場合、これはとにかく遅い。例えばレジスタにあるデータを読みに行く場合と比べると、だいたい数倍から数100倍の遅さ。ヤバいからなんとかしよう。もっと早くアクセスできる場所にデータおいとこう。 キャッシュライン CPU がメインメモリからデータを読み出すとき、必ず小さなメモリチャンクをキャッシュ上にロードする。ロード単位はプロセッサによるけど、だいたい 8 ~ 512 バイト。このロード単位をキャッシュラインと呼ぶ。 アクセス対象のデータが既にキャッシュに載ってる場合は、メインメモリじゃなくてキャッシュを読みに行く。ない場合はメインメモリにアクセスするけど、そのデータはも
質問されて「似たようなもんだと思うんですが」と答えたあとに後ろめたさが残ったので調べてみた。プログラミングやシステムにおいて、で。 何らかの機能を持った、プログラムの部品。プログラムだけでなく、ハードウェアや組織の一部を指して用いられることもある。プログラム以外の分野で使われる例としては、機械のオプションパーツなどがある。 コンポーネントとは - IT用語辞典 e-Words 機能単位、交換可能な構成部分という意味の英単語。システムへの接合部(インターフェース)が規格化・標準化されていて、容易に追加や削除ができ、ひとまとまりの機能を持った部品のこと。 モジュールとは - IT用語辞典 e-Words どちらも「部品」と言ってしまえば同じなのだが、モジュールの方には「交換可能な」という言葉がある。 コンポーネントは、それだけで完結した部品。 モジュールは、ソースコードの中の部品。 コンポーネ
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "2038年問題" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2015年7月) 上から、2進・十進・問題のある時刻・正しい時刻。(GIFアニメ)3時14分7秒を超えたところで負の値となり、時刻に狂いが生じる恐れがある。 コンピュータおよびコンピュータプログラムにおける時刻の表現として「UNIX時間」《協定世界時における1970年1月1日0時0分0秒からの経過秒数[注釈 1]》を採用しているシステムがある。 UNIXおよびUNIX派生のオペレーティングシステム (OS) における基幹ソフトウェア部品の多くはC言語で書かれているが、前述
取材のため「超エンジニアミーティング in ニコニコ超会議」(Webページ)という企画を全部、見てみました。まる2日間にわたる取材となりました。 まとまった記事はこれから執筆するのですが、頭から揮発してしまう前に簡単なコメントの形で全プログラムの記録を残しておきます。 1日目・4月28日(土) 基調講演 五十嵐健夫さん(東京大学大学院 教授)(http://www-ui.is.s.u-tokyo.ac.jp/~takeo)による50分の講演です。タイトルは「デザインのためのインタフェース」 フリーハンドの「おえかき」から3Dモデルを作れる直感的なモデリングツール(その一つがTeddy)、紙のカードでロボットへ指示を出す試み、「押す」ことしかできないロボット(掃除ロボットのような奴ですね)がモノを任意の軌道で動かすための手法、等々の鮮やかなデモの連続でした。 エンジニア100連発 小飼弾さん
前に書いた、Andreiの "VIM for (PHP) Programmers" のスライドを勉強がてら訳していきたいと思います。いつも、他の人が、vimの便利な機能をまとめているのを見て、すげーべんりー、と思って1回使ってみて、そのまま忘れてしまうということをやってしまうので、少しは記憶に定着させたいなぁと。 訳がめちゃくちゃですがVim7で動作確認しながら書いてるので、だいたいニュアンスくらいはあってるはず。 この記事シリーズまとめはこちら: (PHP)プログラマのためのVIM (まとめ) - おぎろぐはてな イントロ どうやって、vimをクイックに終了させますか? ZZ (保存して終了) ZQ (保存せずに終了) とやるか、それとも :nmap ,w :x<CR> :nmap ,q :q!<CR> として、,w と ,q で済ませるか。 TIPS: set showcmd で、入力
Python | 10:08わたしはプログラマーではありませんが、いくつかの仕事でテストコードを見たり書いたりすることがあったので、その過程で思ったことをメモとして残しておきます。コーディングとテストを分けて工数を言う癖をやめようどっちもコードを書くのだから分けて考える必要はないテストコードの重要性は理解しているけど、工数も厳しいし客がテストコードを書くことに工数を割くことを認めてくれない。ありがちな話ですが、それがテストを書かないことの根拠であるならば少し考え直しましょう。コーディングとテストを異なる工程と考えるのをやめてしまえばそんなことに悩む必要はなくなります。つまり、「テストを書きながらコーディングする」のです。だいたい、普段プログラムを書いているときだって手元で動かしながらものを作っているでしょう。それと同じことをプログラムを書いてやればいいだけです。客がテストを書かせてくれない
そもそもエンジニア、モノづくりをするひとたちには一度作ったものには愛着を持ってしまう。それは自分が労力をかけたことに対する強い思いなのかもしれない。だから、作った機能がユーザーに使われないムダなものだとしても、開発エンジニアに愛着があることによって変更がかけられないなんてこともあるしね。 http://jp.techcrunch.com/archives/jp20120420how_do_you_reduce_the_cost_of_development/ そういう感情は確かにある。プログラマにとって我が子同然のプログラムのミスを見つけるテスターは敵であり「それはバグじゃなくて仕様だ」って言っちゃうところとか。使いにくいから直せという顧客に対して「それには構造を大きく変更しなくちゃならないから直せない」とか。プログラムの問題を見つけてくれた人に感謝するどころか「私は間違ってない!」なんて
「OS自作に興味はあるけれど、どこから手をつければ良いか分からない!」 そんな人のためのOS開発初心者用スモールステップページを作る事にしました。 Livaが気ままに不定期更新する予定です。何かあったらForumにでもどうぞ。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く