タグ

programmingに関するhackedのブックマーク (75)

  • とほほのJava入門 - とほほのWWW入門

    ArrayList は配列を扱う一般的なクラスです。ArrayList<String> は String 型のデータを要素として持つ ArrayList であることを示しています。 import java.util.*; class Main { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); list.add("AAA"); list.add("BBB"); list.add("CCC"); for (String s : list) { System.out.println(s); } } } Java 7 以降では右辺の型を省略することができるようになりました。<> はダイヤモンド演算子と呼ばれます。 ArrayList<String> list =

  • J2SE 5.0 虎の穴 Java2 SE v5.0 Tiger の新機能

    「トラだ、トラだ、お前はトラになるんだ !!」 というわけで J2SE 5.0、コードネーム Tiger の新機能を紹介していきます。 まちがい、コメント等ありましたら、遠慮なくおねがいします。 JSR-176 J2SE 5.0 Release Contents http://jcp.org/en/jsr/detail?id=176

  • If a programming language was a boat… | CompSci.ca/blog

    This one is inspired by a recent forum post, that still leaves me in amazement. Hi, Im wondering how i can create a boat in turing and if someone can post a example. This makes no sense, since one doesn’t normally make water vehicles in Turing, the programming language. Though this got me thinking — if a programming language was a boat, what would it be? Turing Turing would definitely be a kayak (

  • JavaScript MVC

    Once a bit player, JavaScript increasingly takes center stage. Its footprint—the space it takes up on our servers and in our development schedules—continues to grow. So how can we make our JavaScript more reusable and easier to maintain? Perhaps MVC will offer some clues. While MVC is a familiar term to those in back-end application development—using frameworks such as Struts, Ruby on Rails, and C

    JavaScript MVC
  • C/C++統合開発環境Code::Blocks8.02のインストール (Ubuntu8.04)

    WindowsにCode::Blocks(codeblocks, コードブロックス)を導入しプログラム開発は主にこれで行う予定なので,Linuxにも入れてみました.ロボット開発に従事する人にとってLinuxは必須です.KITのロボカップヒューマノイドチームや今年つくばチャレンジに挑戦するdemura.netチームもLinux (Ubuntu)をオペレーティングシステムに採用しています. なお,今までFedoraを使っていましたが,Open HRP3がLinuxのディストリビューションとしてUbuntuを指定しているので,今年から Ubuntuに切り替えました. 以下はCode::Block8.02をUbuntu8.04にインストールした時のメモです. ダウンロード・インストール Code::Blocksのウェブサイトからダウンロードする. 左にあるMainのDownloadsをクリック D

    C/C++統合開発環境Code::Blocks8.02のインストール (Ubuntu8.04)
  • jQuery 日本語リファレンス

    jQueryとは、JavaScriptのコーディングを強力に支援するライブラリです。 $('.semooh a').hover( function(){ $(this).text('ヌ?'); }, function(){ $(this).text('ヌー'); } );

  • memcachedを超える成果も、Interopで若手技術者がクラウドを支える技術を競う

    「日でゼロからクラウドを生み出すムーブメントを作り出したい」(実行委員長 門林雄基氏)---“クラウドを支える技術”の開発力を競う「クラウドコンピューティングコンペティション」が2009年6月11日、Interop 2009の会場で開催された(写真1)。企業や大学・大学院の研究者、そして高校生を含む若手エンジニアが、新しいアイディアと技術力で作り上げたクラウドコンピューティングの基盤ソフトウエアを披露した。 クラウドコンピューティングコンペティションは、奈良先端科学技術大学院大学の門林雄基准教授らの呼びかけで実現したイベント。若手のエンジニアがP2P(ピア・ツー・ピア)技術や分散データ処理技術といったクラウドコンピューティングの基盤技術を開発し、その成果を競う。検証環境として、情報通信研究機構(NICT)が運用するクラスタ環境「StarBED」のコンピュータを最大1000台まで使用可能で

    memcachedを超える成果も、Interopで若手技術者がクラウドを支える技術を競う
  • 並列アプリケーションを作ってみよう | OSDN Magazine

    インテルのCoreシリーズCPUが登場して以来、マルチコアCPUは爆発的に普及している。現在では比較的低価格なCPUでも複数のコアを搭載するようになり、現在販売されているPCのほとんどはマルチコアに対応しているといっても過言ではない。しかし、まだマルチコアCPUの性能を生かす、並列処理を行っているアプリケーションは多くない。 並列処理は、一般には実装が難しい、という印象があるようだ。確かにスレッドを駆使して処理を並列化する場合、スレッドの管理やスレッド毎の連携など、考慮しなければならないことが増え面倒ではある。しかし、プログラムを並列化するための言語規格「OpenMP」や、C++用の並列化ライブラリ「Threading Building Blocks」といった並列化支援技術を利用することで、プログラムの並列化へのハードルは大幅に低くなる。また、インテルの開発製品「Parallel Stud

    並列アプリケーションを作ってみよう | OSDN Magazine
  • 若い時にプログラムを書こう、必ず人生の豊かさにつながる

    システムインテグレータ最大手NTTデータを率いる山下社長は若い頃、汎用コンピュータ用のデータベース開発に取り組み、プログラムを自ら作っていた。その経験から山下氏は「人生のどこかで手を動かしてプログラムを作る仕事を経験した方が絶対に面白い。20代あるいは30代の前半くらいまでに真水の仕事をどれだけやったか、それがその後の人生の豊かさにつながる」と同社幹部としては異例の発言をする。(聞き手は谷島 宣之=日経コンピュータ編集長、写真は小久保松直) 2009年度、100億円近い投資を計画していると聞く。狙いは何か。 100億円のうち、40億円くらいかけようと考えているのが、「倍速開発」という案件です。これが一番大きい投資になります。我が社としてぜひともやらないといけないのは、お客様のお気の召すまま、ご希望のオーダーメード・システムを、パッケージ・ソフトを使った場合と同じスピードで作って差し上げる、

    若い時にプログラムを書こう、必ず人生の豊かさにつながる
  • 実開発で分かったGoogle App Engine for Javaの“すごさ”

    ゴールデンウィークに特に予定のなかった筆者は,「ちまたで噂のGoogle App Engine for Java(GAE/J)とFlexでスケジュール共有ツールでも作ってみよう」と思い立ちました。およそ5日間かけて開発を進めたのち,2009年5月6日に「ご都合.com(画面1)」を公開しました。その後,はてなブックマークやニュースサイトなどでご紹介いただいたおかげで,公開後6日で約2000人の方にご利用いただいています。 そこで稿では,この「ご都合.com」の開発で実際に筆者が得た経験を通じて,GAE/JによるWebアプリケーション開発の実際とそのポテンシャルについて紹介します。 米Googleが2008年4月に発表したGoogle App Engine(画面2)は,「自分が開発したWebアプリケーションをGoogleのデータセンターで運用できるクラウドコンピューティング・サービス」です

    実開発で分かったGoogle App Engine for Javaの“すごさ”
  • Hadoopで、かんたん分散処理 (Yahoo! JAPAN Tech Blog)

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、地域サービス事業部の吉田一星です。 今回は、Hadoopについて、Yahoo! JAPANでの実際の使用例を交えながら書きたいと思います。Hadoopとは、大量のデータを手軽に複数のマシンに分散して処理できるオープンソースのプラットフォームです。 複数のマシンへの分散処理は、プロセス間通信や、障害時への対応などを考えなければならず、プログラマにとって敷居が高いものですが、 Hadoopはそういった面倒くさい分散処理を一手に引き受けてくれます。 1台では処理にかなり時間がかかるような大量のデータも、複数マシンに分散させることで、驚くべきスピードで処理を行うことができます。 例えば、今まで1台でやっていた、あるログ集計処理

    Hadoopで、かんたん分散処理 (Yahoo! JAPAN Tech Blog)
  • PHPの「守護神」Suhosin

    PHPは,数え切れないほどのWebサイトで使われている非常に有名なプログラミング言語である。基的にはスクリプト言語であり,実行時にコンパイルされる。PHPは非常に多くのコミュニティによって支えられており,様々な機能を提供する膨大な数のオープン・ソース・ライブラリが公開されている。「WordPress」といった人気アプリケーションも,PHPで記述されている。ただし,PHPにもセキュリティの問題は存在する。 PHPセキュリティ問題は,長年にわたって多くの開発者が問題の修正に取り組んできた。しかし,常に迅速な対応が行われてきたわけではなく,被害を受けるユーザーも存在した。2006年末には,PHP開発者のStefan Esser氏が,この状況に嫌気がさして,PHP Security Response Teamを辞任した。 Esser氏は自身のブログで,「(辞任した理由は)いくつかあるが,最も決

    PHPの「守護神」Suhosin
  • 【PHPext】PHP拡張モジュールの作成 - (・∀・)イイ!!Memo

    手順 † PHP拡張モジュールを作成する手順は以下のようになります。 プロトタイプファイルとは モジュールに含まれる関数名を羅列したテキストファイルです。 プロトタイプファイルをext_skelスクリプトで処理すると、コードの基的な部分が自動生成されます。 プロトタイプファイルの作成 ext_skelによる、コードの生成 config.m4の編集 configureスクリプトの生成 コーディング コンパイル ↑ サンプル モジュールの作成 † 下記のような関数を含むモジュ-ルを作成してみる。モジュール名は「sample_funcs」とする。 void omikuji() 「daikichi(^-^)」「cyu-kichi(-_-)」「kyo(T_T)」のそれぞれを3分の1の確立で表示する。 string orz([bool isCapital]) isCapitalがTRUEなら「Or

  • PHPの実行をPHPのソースコード(C言語)のレベルで見る方法 - suztomoのはてなダイアリー

    PHPはソースコードを読めばわかるとおりC言語で書いてあります。 そのC言語の中でPHPがどんな処理をしているのかをデバッガであるgdbを用いて見ることができるのでそれを紹介します。まぁ普通のgdbの使い方なんですが:p ソースをダウンロードしてコンパイル PHP-5.2.6のソースをダウンロードします。 まず./configureするとのMakefileができます。 このMakefileの中で-gオプションがついていることを確認しましょう。*1 これがデバッガ(gdb)用のオプションで、コンパイルされたバイナリファイルにソースコードとの対応付けができます。 次にmakeします。時間がかかります。 サンプルファイル makeしている間に次のようなPHPファイルを作成しましょう。 <?php $i = "12"; $k = intval($i); ?> これは文字列の"12"をintval関

    PHPの実行をPHPのソースコード(C言語)のレベルで見る方法 - suztomoのはてなダイアリー
  • 楽天版MapReduce・HadoopはRubyを活用 - @IT

    2008/12/01 楽天は11月29日、東京・品川の社で開催した技術系イベント「楽天テクノロジーカンファレンス2008」において、近い将来に同社のEコマースサービス「楽天市場」を支える計画があるRubyベースの大規模分散処理技術「ROMA」(ローマ)と「fairy」(フェアリー)について、その概要を明らかにした。 レコメンデーションの処理自体はシンプル 楽天市場では現在、2600万点の商品を取り扱い、4200万人の会員に対してサービスを提供している。この規模の会員数・商品点数でレコメンデーション(商品の推薦)を行うのは容易ではない。 ※記事初出時に楽天市場の会員数を4800万人としてありましたが、これは楽天グループのサービス利用者全体の数字でした。楽天市場の会員数は正しくは4200万人とのことです。お詫びして訂正いたします。 レコメンデーションの仕組みとして同社は、一般的でシンプルなア

  • 論理演算 - CyberLibrarian

    論理演算(Logical Operation)は、ブール演算(Boolean Operation)とも呼ばれ、1(真)か0(偽)かの2通りの入力値に対して1つの値を出力する演算です。論理演算は、コンピュータ内部の演算に使用するほか、データベースの複数の語句を掛け合わせて検索する複合検索などにも応用されます。論理演算で用いる集合の領域を表した図をベン図(Venn Diagram)またはオイラー図(Euler Diagram)と呼び、入出力の全てのパターンを表した表を真理値表(Truth Table)と呼びます。 論理積(AND) 論理積(AND)(Logical Conjunction)は、AとBの両方を含む部分で、「AかつB」の関係を表します。入力値がすべて1の場合に1を出力し、それ以外の場合には0を出力します。 この集合は、積集合や共通部分(Intersection)などとも呼ばれます。

  • 【C#】 usingを使え、使えったら使え (IDisposeも)

    こんな風にスコープを抜けたとき(Func()からリターンしたとき)も誰も参照しなくなったことになるのでそのうち破棄されます。 この「そのうち」っていうところに注意してください。決してすぐに破棄されるわけじゃありません。 GCはそれなりに大変な処理なので、そんなに頻繁に動きません。 それどころか、.NET FrameworkのGCは「メモリが足りなくなってきたら動く」という感じらしいです。 まぁ、これ自体は何も問題ありません(どっちにしろそのうち破棄されるんだから)。 けど、オブジェクトがメモリ以外のリソースを持っているときは問題になることがあります。 たとえば、 こんな場合です(えらく意図的ですが)。 Func()メソッドからリターンした時点でfsやsrを参照しているものは無くなりますから、そのうちGCによって破棄されます。 が、破棄されるまでは"test.txt"はオープンされたままにな

    hacked
    hacked 2008/01/28
    using Dispose
  • Windows Mobile 5.0 ネイティブアプリ開発メモ

    Windows Mobile 「Windows Mobile」とは、マイクロソフトから提供されている携帯電話・携帯情報端末向けのOS。 「W-ZERO3」はスマートフォンだが、「Windows Mobile 5.0 Smartphone」でなく「Windows Mobile5.0 PocketPC」が採用し、シャープの独自拡張により携帯電話の機能を実現している。

  • 小俣光之:コンピューターのページ(C言語講座)

    <body stylesrc="computer.htm"> <!--webbot bot="Include" tag="BODY" u-include="computer.htm" startspan --> <hr> <p align="center"><font size="6">小俣光之:コンピューターのページ(C言語講座)</font> </p> <hr> <h3 align="center"><font size="3">が出来ました。「C for UNIX」</font></h3> <p align="center"><img src="book-1.jpg" alt="book-1.jpg (46421 バイト)" width="500" height="358"></p> <p align="center"><img src="book-2.jpg" alt="book

  • ソート処理時間、選ぶアルゴリズムでこんな差が! ― @IT自分戦略研究所

    ソート処理時間、選ぶアルゴリズムでこんな差が!:いまから始めるアルゴリズム(2)(1/2 ページ) 連載第1回「『+1』だけで四則演算をするには?」に引き続き、プログラミングにおけるアルゴリズムの重要性と面白さを紹介したいと思います。例としてプログラミングで頻繁に使われる並べ替えと検索のアルゴリズムを取り上げ、それぞれがどういった処理を行っているのか考えてみましょう。 同じ問題でも解き方(アルゴリズム)によってかなりの速度の違いが出てくる可能性があることは、前回紹介したとおりです。今回は代表的な並べ替えのアルゴリズムを基にプログラムを作成し、実行にかかった時間を測定して、具体的な処理速度の違いをお見せしようと試みています。 プログラミング言語では、すでに並べ替えの仕組みが用意されていることが多いので、このアルゴリズムをあまり意識していない人もいるのではないでしょうか。しかし、すべてのプログ

    ソート処理時間、選ぶアルゴリズムでこんな差が! ― @IT自分戦略研究所