IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.
とりあえず思いついたもののまとめ。 まずは、ベーシックなものから。 変数のスコープをなるべく狭くしろ 他はグローバル変数を使うなとか、モジュール化と界面を意識せよなど。とにかくスコープは重要かつ意外と奥が深い。スコープに関係する機能は、モジュール(パッケージ)、クロージャ、ローカル関数、ローカルクラス、変数の種類、アクセス制御など。 同じロジックのコードを2度以上書くな 他はDRY原則、コピペをするななど。自分の場合、2度書く方がシンプルになる場合、2度書くこともある。特に、ifやswitchなどのロジックの中で同じコードが2度現れる場合、ちょっとしたコードでわざわざ別のところで関数やブロックにまとめて、それを参照するのは面倒。但し3度以上現れる場合は関数などにまとめるケースが多いかも。 汎用コード内で条件分岐コードを減らせ 他はifをポリモーフィズムによりなくせなど。条件分岐は汎用性を損
長文だったので、サンプルとして、こちらの 「パソコン見放す20代「下流」携帯族」 http://facta.co.jp/article/200703060.html を使って結果を実験してみましょう。 要約の仕組みは、 「テキスト自動要約」奥村学・難波英嗣(オーム社) の載っていた手法のうち、一番基本の部分だけでまず作ってみました。 要するに、 1)文中の重要な単語を求め、2)重要な単語を多く含む重要な文を求め、上位の文を表示する というもの。 非常に単純ですが、統計なのでロバストです。 結果を見てみましょう。 要約率30%です パソコン見放す20代「下流」携帯族 誰でも簡単にネットが利用できる携帯は、ネット利用の底辺を拡大する役割は果たしたかもしれないが、同時に「コンピューターに対する知識の欠如」や「キーボードで字を打てない」という、まるで高齢世代かと見紛うような退化を若い世代にもたらし
Posted at 7:39 in ʸ�������ץ��������Ƥߤ褦�� . | 0 Trackbacks, 0 Comments �����Τ˽������ȥ���ʸ�������ץ��������Ƥߤ褦���٤ؤΥե������Ҥ����֤��ˡ֥ޥ��ɥ��������ȡפ��������Ƥ����餢�β����ǽ����ݡ��Ȥ��ФƤ����Τǡ����Ƥ������Ȼפ���´�������ڤ��ޤ����ΤƤ��ѤäƤ������ˤ��äĤ��Ż��ǽ����Τǡ����ޤ��ɤ������ǤϤ����ޤ��ɡ� ��ǯ���ŷ������Ρ����������������٤������ҤȤϡ��褫�ä��黲�ͤˤ��Ƥ��������ʡġĤ��⤽�⡢�����ʥڡ����Ĥ��Ƥ������Τ������������ɡˡ���
JavaScript はどのように実行されるか Safari*1 の実装を例に JavaScript はどのようにして実行されているかを書く。自分用のメモ。日本語の出来は気にしない 1. ブラウザを起動して以下のようなページを開いたとする <html> <head> <script> var a = 1; var b = 2; alert(a + b); </script> </head> <body> </body> </html> 2. インターネットからデータが到着する そうすると WebCore::FrameLoader::write という関数に生の文字列が渡される。型は char* だ。 http://trac.webkit.org/browser/trunk/WebCore/loader/FrameLoader.cpp#L990 この関数の中では、到着した文字の文字コードを解
一番初めのObjective-Cプログラム:Cocoaの素、Objective-Cを知ろう(2)(1/3 ページ) iPhone用アプリケーション開発で注目を集める言語「Objective-C」。C++とは異なるC言語の拡張を目指したこの言語の基本を理解しよう(編集部) 第1回「Objective-Cは特殊な言語?」では、Objective-Cのコードの「見た目」の第一印象に基づいて、この言語の特徴的な部分と、その成り立ちについて解説しました。 今回は、ごく簡単なプログラムを実際に作って動かしてみることで、より具体的な領域に踏み込んでみたいと思います。 少しだけ複雑なHello World こういった場面で最初に作られるのは、たいてい「Hello World」という文字列を表示するプログラムです。ここでも、最終的には文字列を表示することを目的とするシンプルなプログラムを作成しますが、そこに
基礎的な学力を表す言葉として読み書きそろばんという言葉があるが、 私はプログラミングについても読み書きそろばんに当たるものがあると思っている。 まず読みというのは、プログラムを読む能力である。 たまに、人の書いたソースを見て、すぐに 「全面的に書き直さないと使い物にならない」とか、 「グチャグチャですよ」とか、 「気持ち悪い」といったことを口にする人がいるのだが、 多くの場合、なぜそのように感じるのかを聞いてみると、 単に自分が今まで書いてきたコードと違ったスタイルで書かれている、 ということだったり、ごく一般的なデザインパターンが使われているのに、 そのデザインパターンを自分が知らないだけで 「わかりにくくて読めない」などと言っていたり、 人のコードを使い物にならないと簡単に口にする人であればあるほど、 その人自身が使い物にならない、という傾向がある。 もちろん、全体の整合性を取るために
Practices your development team needs to adhere by Discussion & Votes at: Digg, Reddit, YC Hacker News, DZone, Delicious In my experience, Ruby and Ruby on Rails has been one of the most difficult language/framework combinations to truly master. For someone who grew up on C, C++ & Java in the majority of their training, Ruby has hugely different (and better!) ways of OO design, and the Rails fram
平成20年度 東京大学大学院 情報理工学系研究科・コンピュータ科学専攻 配列解析アルゴリズム特論I 4/10 4/17 4/24 5/1 5/8 5/15 5/22 5/29 (The problem to be reported - in English) 6/5 6/12 6/19 7/3 7/10 7/17 東京大学 理学部・情報科学科 情報科学特別講義3 (情報科学とバイオインフォマティクス) 6/10 7/15 7/22 東京大学大学院 新領域創成科学研究科・情報生命科学専攻 情報生命科学基礎/演習 5/27 6/17 京都大学大学院 薬学研究科・医薬創成情報科学専攻 情報科学概論 6/3 中央大学大学院 理工学系研究科・物理学専攻 物理学特別講義第二 TBA 創価大学工学部 生命情報工学科 TBA TBA 戻る Copyright (c) 2004- Tetsuo
はじめに - Java 6におけるスレッドの最適化 Sun、 IBM、BEAやその他のJVMベンダーが、それぞれのJava 6仮想マシンが提供するロック管理と同期の最適化に多くの注意を払ってきました。バイアスドロック、ロックの粗粒度化、エスケープ解析によるロックの削除、適応型スピンロックといった機能は、すべてアプリケーションのスレッド間でより効果的なオブジェクト共有を可能にし、並列性をより高めるために設計されたものです。こうした個々の機能は洗練されており、興味深いものですが、疑問があります;本当にこうした約束を果たしてくれているのでしょうか?2つのパートからなるこの記事では、私はこうした機能を詳しく調査します。シングルスレッドベンチマークの助けを借りて、パフォーマンスに関する疑問に答える試みをしようと思います。 ロックは悲観的である Java でサポートされているロックの(ほとんどのスレッ
IBMにて2008年2月より毎月開催されている勉強会「IBM Japan Geeks」。40名以上の“Geek”が登録しているというこの会では、さまざまな言語や最新技術をディープに情報交換しています。そこで CodeZineがこの勉強会に参加し、これまで発表のあったもののうち、反響のあった4編をバージョンアップして再現していただきました。この会の模様を2回に分けてレポートします。 IBM Japan Geeksとは まず、「IBM Japan Geeks」(Geeks)発足の経緯から現在までの活動内容について、伊尾木氏から発表がありました。Geeks発足のきっかけは、2007年に社内で開催された「ITLMC RoR(Ruby on Rails)勉強会」だったと言います。この勉強会には”とがった”人がたくさん集まっており、このまま別れていくのももったいないということで、Geeksが発足しまし
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "ド・モルガンの法則" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2018年6月) ド・モルガンの法則のベン図による表現。図1、図2のそれぞれの場合において、等式の両辺の集合は青い領域で図示される。 ド・モルガンの法則(ド・モルガンのほうそく、英: De Morgan's laws)は、ブール論理や集合の代数学において、論理和と論理積と否定(集合のことばでは、和集合と共通部分と差集合)の間に成り立つ規則性である。名前は数学者オーガスタス・ド・モルガン(Augustus de Morgan, 1806–1871)にちなむ。 この規則性(論
ウェブっ子の間では Google Chrome の JS 処理系である V8 祭りが絶賛開催中らしい. いつもは出遅れる私もたまにはやんやしたいと思っていろいろ読んでみたものの, VM に食傷気味な自分に気付いた. けれど, そうは言っても祭りは別腹. 一通り騒いでみます. 販促マンガ や 資料 によれば, V8 は以下のような特徴を備えている. hidden class transition と fast property access generational accurate GC accurate だから incremental GC もできる オブジェクトの rellocation はするけど handle は使わず参照元書き換え 中間表現のインタプリタなしの native code 生成. instruction cache コードをみたところ, incremental GC
HMDT株式会社は、2007年に設立され、MacOS Xのデスクトップアプリケーション開発を業務の中心としている。同社の代表取締役である木下誠さんは、会社設立以前からフリーランスとしてMacOS X向けのアプリケーション開発者として活躍してきた。そしてすでにiPhoneアプリの開発も手がけ、高い評価を得ている木下さんに、iPhoneアプリ開発のノウハウを中心にお話をうかがった。 木下 誠さん HMDT株式会社代表取締役。学生時代にMacintoshに出会い、2000年にMacOSでのプログラミングや、Cocoaの使い方を紹介するWebサイト「HMDT」を開設。2007年にHMDT株式会社を設立し、アプリケーション開発やMacOSプログラミング関連の著作を行う。著書に「たのしいCocoaプログラミング」、「Happy Macintosh Developing Time 3rd Edition
先週高校の友達が家に泊まりにきたとき、バランスWiiボードを見て「これでGoogleマップ操作できたら面白そうじゃない?」とぽろっと言ったのをきっかけに「あれ、それできそうだぞ」と思ったので勢いで作ってみました。 動作としては直感的なものになっていて、足踏みするとどんどん進んでいって、左右に重心傾けると向きが変わって前後に重心を傾けるとズームが変わります。百聞は一見にしかずで、映像見てもらったほうが分かりやすいかと思います。 Google Street View by Wii Balance Board from katsuma on Vimeo. 構成 全体の構成としては次のもので成り立っています。 バランスWiiボード Bluetoothレシーバ(iMac) 信号解析モジュール(Java) ローカルWebサーバ(Jetty) Javascript(JSONP) Webブラウザ(出力)
先日、経済産業省向けの仕事をしている知り合いと食事をしたのだが、彼によると経済産業省の今の悩みは、「IT産業の階層化の弊害によっておこる下流のプログラマーの収入の低下」だそうである。「プライムベンダー」と呼ばれる「上流コンサルタント」たちがインドや中国にも仕事を発注できることを理由に、激しく値切り始めたために、今やわずか一人月30万円というケースもあるという。 こんな話を聞くと本当に悲しくなる。まず第一に「プログラムを書く」という仕事は簡単な仕事ではない。数学的な頭を持っていないとかなり辛いし、基礎がしっかりと出来ていないとろくなソフトウェアは作れない。物価の安いインドや中国なら許せるが、米国よりも生活費の高い日本で一人月30万円とはあまりにも低すぎる。 「彼らは下流のエンジニアで、詳細仕様書に従った通りのプログラムを書くだけの簡単な仕事をしているから給料が安い」という説明を聞いたことがあ
「大規模ソフトウェアの効率的な理解(その1、2、3、4、5、6)」などという大袈裟なタイトルでブログを書いたが、今回は一気に実践編ということでフリーソフトウェア定番のデバッガ gdb の実践的使い方について記す。 プログラマの日々には、プログラムを書くためのエディタ、プログラムをコンパイル(あるいは実行)するためのコンパイラ(あるいはインタプリタ)、そしてプログラムを理解するためのデバッガという三種の神器が必須である。 この定番はわたしの場合xemacs/gcc/gdbである。前々職(DECという会社に務めていた)の場合、それぞれプロプライアトリな物を使っていたので微妙に異なるがやることは一緒である。 gdbは何のために利用するかというと、プログラムを理解するために利用する。デバッガなんだからデバッグのために利用するというのは、gdbの底力の半分も利用していないと言ってさしつかえない。 g
Binstock on Software: Perfecting OO's Small Classes and Short Methods The Pragmatic Programmersシリーズの新しい本、The ThoughtWorks Anthologyの中に 興味をそそるエッセイがある。Jeff Bayの"Object Calisthenics"だ。 これは良いオブジェクト指向の性質を実証する小さなルーチンを書く方法をマスターするための 詳細にわたるエクササイズだ。オブジェクト指向なルーチンを書く能力を向上させたい開発者がいるなら このエッセイに目を通すことを勧める。ここにBayのアプローチを要約してみよう。 彼は次にあげられる制約のもとに1000行のプログラムを書くことを勧めている。 これらの制約は意図的に過剰な制限となっているが、これは開発者を手続き的なやり方から脱却させるた
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く