[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

programmingに関するkrogueのブックマーク (150)

  • 佐藤先生がErlang、Scala、Javaなどの並行処理を斬る! - スティルハウスの書庫の書庫

    ここ数日の佐藤先生のエントリが熱い! Erlang、ScalaGoJavaなどの現代の言語(Erlangは古いか)における並行処理の扱い方について、それぞれの歴史的背景や意義、得手不得手などがわかりやすく紹介されてます。80年代から並行処理やオブジェクト指向を研究されてきた佐藤先生ならではの視点ですね。ちょっと長くなりますが特に私が興味深かった部分を引用します(強調は私): 佐藤一郎: Web日記 (2010年) 最近、興味深いのはオブジェクト指向言語のScalaやErlangが話題を集めていることでしょうか。どちらもActor Modelをベースにしているそうですが、オブジェクト指向言語の歴史でいうと、Actor Modelなどの並行処理用オブジェクト指向言語の研究が盛んになったのは1985年からの6,7年ぐらいだと思います(Actor Model自身はもっと古いですが)。そして19

    佐藤先生がErlang、Scala、Javaなどの並行処理を斬る! - スティルハウスの書庫の書庫
  • きれいなプログラミングコードの書き方:プログラミングの基礎知識 - 久保清隆のブログ

    プログラマによって色々なプログラミングスタイルがあると思うが、センス・オブ・プログラミング! 抽象的に考えること・データ構造を理解することを読んで、きれいなプログラムを書く方法については共通点があると思ったので、書を参考にきれいなプログラミングコードを書く方法についてまとめた。 目次 目的を理解する 書く時のことよりも、読む時のことを考える 愚直でも読みやすく インデントは統一する コメントは無駄なコメントを書かずソースの意図を書く 例外は、当に例外的な場合だけに使う 名前のつけ方を重視 命名法 省略しない 同じことを書いてはいけない コピペをやめる 関数に分割する 机上デバッグは時間の無駄 良いコードとコーディングレベル 良いコード コーディングレベル 目的を理解する何らかのコーディング規約に従ってプログラムを書くなら、常にその理由を理解すること。 盲目的に規約に従うことは、規約が全

    きれいなプログラミングコードの書き方:プログラミングの基礎知識 - 久保清隆のブログ
    krogue
    krogue 2010/10/11
    机上デバッグを無駄とは言い切れない気がする。例外は使い方によると思う。単純作業を担当する要員には「使うな」というかもしれない。
  • Googleエンジニアから学ぶ、ハッカーになるための勉強法 - 久保清隆のブログ

    Debian Project/Google ソフトウェアエンジニア鵜飼文敏さんの講演動画を見たのでまとめ。 内容は、フリーソフトウェア、オープンソフトウェアのハッカーGoogle内のハッカーがどのようにソフトウェアを作っているか。 少し前の講演だけど、ハッカーを目指す上で非常に参考になった。 ハッカーの特徴 ハッカーとは Hacker ethic ハッカーのソフトウェアの作り方 ハッカーの開発スタイル 手順 要求仕様 設計 実装 テスト デバッグ チューニング ハッカーに近づくには 必要な知識 知識の習得の仕方 ハッカー仕事をするときの問題点 その他に紹介されていた書籍 感想 参考 ハッカーの特徴 普通の人をはるかに上回る高い生産性 高品質のソフトウェアを作りだす ハッカーとは ハッカーズ大辞典によると、 プログラム可能なシステムの細かい部分を探ったり、その機能を拡張する方法を探求した

    Googleエンジニアから学ぶ、ハッカーになるための勉強法 - 久保清隆のブログ
  • 優れたコードだけでプロジェクトは成功するか

    原文(投稿日:2010/09/16)へのリンク 開発者であり、アーキテクトであり、著書も持つSimon Brown氏はプロジェクトを成功させるには良いコード以上のものが必要だと考える。良いコードだけでは不十分と題したプレゼンで氏はプロジェクトの成功に必要なすべての要素について、事前の設計から運用尾のための文書まで、くまなく論じた。 良いコードがあるということはスタート地点に立つことであり、プロジェクトの成功には何をビルドしたか、何がリリースされたかそしてどのように動作するかを知る必要がある、というのが氏の考えだ。 ビルドするべきことを知るためには、一揃えの要求が必要だ。要求が集まったら“全体像” が描ける。これはこの時点での構築すべき製品に対する理解が反映されたソフトウエア設計図だ。それから、大きな問題を小さな解決策に分解する必要がある。こうすることで各コンポーネントやその間のやり取り、利

    優れたコードだけでプロジェクトは成功するか
  • Java 7リリース計画発表、プランBを採用 | エンタープライズ | マイコミジャーナル

    Java Programming Language JDK7のリリース計画が発表された。JDK7の登場は2011年中期、その代わりいくつかの機能はJDK8へ持ち越しとなる。Javaプラットフォームグループでチーフアーキテクトを務めるOracleのMark Reinhold氏は、JDKのリリースプランとして次の2つを掲げていた。 プランA - 現行のJDK7案をそのまま進める。2012年中期でのリリース。 プランB - 現行のJDK7案からまだ開発に時間が必要となるProject Lambda、Jigsaw、Coinの一部を抜いたものをJDK7としてリリース。この段階で抜いたものを加えたバージョンをJDK8としてリリースする。JDK7は2011年中期、JDK8は2012年後期でのリリース。 フィードバックではその多くがプランBを推しているという。これを受けてリリーススケジュールはプランBと発

  • Java の自動リソース管理

    原文(投稿日:2010/08/23)へのリンク Project Coin には,自動リソース管理 (Automatic Resource Management, ARM) を行う機能がある。コードブロックのエラー時や正常終了時にクローズが必要な,外部リソースの操作を簡単にすることが目的だ。次のような単純なファイルコピー操作を考えてみよう。Java Bytestream チュートリアル から引用したものだ。 FileInputStream in = null; FileOutputStream out = null; try { in = new FileInputStream("xanadu.txt"); out = new FileOutputStream("outagain.txt"); int c; while ((c = in.read()) != -1) out.write(c)

    Java の自動リソース管理
  • サイボウズで学んだこと - IT戦記

    はじめに 2010 年 9 月 15 日を持ちまして、サイボウズ・ラボを退職いたしたました。 報告も兼ねて、久しぶりにブログを書いてみたいと思います。 (写真はゆうすけべーさんです) この会社に入って、たくさんの学びと思い出がありました。 その一つ一つをまとめていければ、素晴らしい記事になるのかもしれませんが、僕は文章が苦手です。 ですので、うまく退職のエントリを書き上げることができません。 言葉にできない。そんな感じです。 なので、このエントリはサイボウズ・ラボやサイボウズ社の仲間たちへのありがとうの気持ちをこめて、自分らしく最後まで JavaScript のことを書きたいと思います。 サイボウズでの最後の仕事 僕にとって、サイボウズでの最後の仕事は「JavaScript で新しいユーザーインタフェースを作ること」でした。 そして、その中で始めて複数人による大規模な JavaScrip

    サイボウズで学んだこと - IT戦記
  • ドイツのプログラミング大会優勝作品、わずか4キロバイトで作られた映像がやばい(動画)

    ドイツのプログラミング大会優勝作品、わずか4キロバイトで作られた映像がやばい(動画)2010.09.17 12:009,939 これは...一体なにをもってしたらこの映像と音楽が4キロバイトで表現できるのでしょうか。 ドイツで行われているプログラミング大会、「Breakpoint」の2009年度4KB部門優勝作品だそうです。にわかには信じがたいのですが、当にこのファイル、4KBしかありません。 ネタ元では、 何がどうなったらコレがプログラムオンリーなのか俺には理解できない領域に達してるプログラムがまったく分からない俺にもわかるように、なんかたとえ話で解説してくれ。 という人たちの為に、この4KBのすごさが様々に例えられていました。 実際のグランドピアノと同じレベル(構造)のピアノを親指くらいの大きさで再現して作るくらい凄い。来なら1tの鉄を使わないとまともな自動車が出来ないはずなのに、

  • 「HTMLスクレイピング in Scala」を改造しながら俺流Scalaコーディング手法を紹介してみる - ( ꒪⌓꒪) ゆるよろ日記

    短い中にいろいろなエッセンスが詰まったよいサンプルだと思ったので、id:noire722さん(@noire722)が書いた「HTMLスクレイピング in Scala」を、俺流に書き直してみました。 HTMLスクレイピング in Scala その2 - cignoir の日記 書き直す過程でどういう考えで修正したかを解説します。 第1段階 URLからList[String]を取得する関数を修正 まず、getSourceを見てみました。 def getSource(url: String, toParse: Boolean): List[String] = { var src = Source.fromURL(url, "ISO-8859-1").getLines.toList var charset: String = null val regex = new Regex("""charse

    「HTMLスクレイピング in Scala」を改造しながら俺流Scalaコーディング手法を紹介してみる - ( ꒪⌓꒪) ゆるよろ日記
    krogue
    krogue 2010/09/19
    こういう書き直しって嬉しいな
  • 本の虫: 多くのプログラマは言語を表面的な理解だけで使っている

    一般のプログラマの多くは、プログラミング言語というものを、ごく浅い表面的な理解だけで使っている。これは、いわゆる「入門書」によるところが大きい。入門書は、言語をできるだけパターンで教えようとする。かくかくしかじかの場合には、とらとらうまうまのように書いておけばいい、などといった具合だ。 たとえば、配列の全要素や、aggregateの全メンバーをゼロで初期化したいとする。多くのC++プログラマは、以下のように書く事であろう。 int a[100] = {0} ; このコードは、正しく動く。配列aの要素は、すべてゼロで初期化される。しかし、C++という言語を考えた場合、{0}と書く必要はない。空の{}で十分なのである。 int a[100] = {} ; では何故、多くのC++プログラマは{0}と書くのか。それは、多くの参考書が、そのように書いているからに過ぎない。大多数のC++プログラマは、

    krogue
    krogue 2010/09/19
    「結局、そこまで厳密に知っていても、通常のプログラミングのためには、あまり役に立たない」業務で、言語に対して「できる」の線引きがおかしいのはこれによると思う。「どの言語も同じ」とか言う人まで居る始末。
  • EtherCodes.com is for sale | HugeDomains

    Working with hugedomains.com was a quick and easy process. We got to speak to multiple real people located in Colorado without having to wait on hold! Our only complaint was we felt we had to overpay more than this particular domain was worth, and we weren't able to negotiate it down to a level that we felt was fair. However, payment and delivery were seamless, and within a few hours we had all of

    EtherCodes.com is for sale | HugeDomains
  • ネットワークを介してみんなでプログラミングできるサービス

    認証がいらず、URLを教えるだけですごく簡単にリアルタイムのコラボレーションプログラミングができちゃうサービスです。

    ネットワークを介してみんなでプログラミングできるサービス
  • ドラッグ&ドロップで簡単プログラミング 文科省が子ども向けに公開、まとめサイトも登場

    文部科学省は8月19日、ドラッグ&ドロップなどの簡単な操作でプログラミングが楽しめる子ども向けサイト「プログラミン」を公開した。プログラミンの作品を集めた非公式の関連サービスも早速、登場している。 プログラミンは、子どもがプログラミングの仕組みを学べるサイト。自分で描いたイラストに、回転や効果音を鳴らすといった命令を組み合わせ、動かすことができる。命令はドラッグ&ドロップなど簡単な操作で設定可能。完成させた作品は一般に公開できる。 8月19日に公開され、はてなブックマークやTwitterなどで話題に。プログラミンで公開された作品を一覧で見たり、評価を投稿できる非公式サービス「プログラミン作品ギャラリー」を個人開発者の矢野さとるさんが同日中に公開するなど、反響が広がっている。 プログラミン作品ギャラリーは、Twitterでつぶやかれたプログラミンの作品ページのURLを自動収集して表示する仕組

    ドラッグ&ドロップで簡単プログラミング 文科省が子ども向けに公開、まとめサイトも登場
  • さらに分かっておきたいトランジスタの種類 − @IT MONOist

    急速に進化するAI技術との融合により変わりつつあるスーパーコンピュータの現在地を、大学などの公的機関を中心とした最先端のシステムから探る連載。第3回は、東京大学と筑波大学が共同で構築した「Miyabi」を紹介する。

  • Befunge - Wikipedia

    Befunge は難解プログラミング言語の一つ。手続き型、スタック型で、自己変更的な言語である。実用言語ではない難解プログラミング言語のひとつ。 この言語のプログラムの命令は一次元の列ではなく二次元の格子上に並んでいて、実行する向きを上下左右に変更できる。この言語の任意の1命令は、ソースコード中で1文字で表現される。したがって、ソースコード中の行と桁がプログラムの格子の位置に対応する。 1993 年、Chris Pressey が「コンパイルが困難な言語」として作った。Befunge-93 はプログラムのサイズが 80 桁 25 行に固定されている。Befunge-93 の拡張 (一般化) である Funge-98 にはこの制限は無く、チューリング完全である。さらに Funge-98 には任意次元への拡張やマルチスレッド対応等が含まれている。

  • テキストやソースコードを比較して相違点を表示するグラフィカルなdiffツール「WinMerge」 | OSDN Magazine

    プログラムの開発やHTMLの編集をする際に有用なツールの1つに、diffツールと呼ばれる、2つのファイルを比較してその相違点を表示するツールがある。ファイルの変更・修正点を確認したり、作業の進行状況をチェックするために使われており、特に複数人が関わる開発では必須ともいえるツールだ。今回紹介する「WinMerge」は、Windows向けの多機能かつ使いやすいdiffツールだ。 WinMergeはテキストの差分をとるだけではなく、比較したファイル間で異なっている個所を互いにコピーして修正したり、フォルダ内のファイルの有無を比較する機能なども備えている。また、プラグインで対応するファイル形式を拡張でき、たとえばWordやExcelの文書ファイルやPDFパワーポイント、果ては一太郎の文書ファイルまでも比較できてしまう。操作性も高く、内容に違いのある行は色分け表示されるためとても分かりやすい。プロ

    テキストやソースコードを比較して相違点を表示するグラフィカルなdiffツール「WinMerge」 | OSDN Magazine
  • オブジェクト指向プログラミングは間違いだったか?

    原文(投稿日:2010/07/12)へのリンク 「メッセージ送信を行うSmalltalk-80から生まれたオブジェクト指向を振り返って、継承などの現在の状況を見てみれば、私たちは間違った道を下ってきたと言えるだろうか?」 これは、QCon London 2010 インタビュー の最初の質問だった。このインタビューを受けたのは、Erlangの最初の開発者であるJoe Armstrong博士とSmalltalk、OOP、パターンに長い間関係しているRalph Johnson博士だ。私たちは「間違った道」を当てもなくさまよってきたが、これはオブジェクトの考え方の実現方法に欠点があったためであり、この考え方自体の欠点ではないと2人は述べた。実際に、Ralph Johnson博士は以下の点から始めた。 あるアイデアを思いついて世の中に出すと、たいていの人にとって急進的過ぎるのはよくあることです。大半

    オブジェクト指向プログラミングは間違いだったか?
  • 素人でもAndroidアプリを開発できる? Googleが開発ツール「App Investor」を公開 | OSDN Magazine

    Googleは7月12日、モバイルプラットフォーム「Android」向けのアプリケーション開発環境「App Inventor for Android」を一般向けに公開すると発表した。プログラミングの知識がない人でもAndroidアプリを開発できるという。 App Inventor for Androidは、Webベースのビジュアルプログラミングツール。Google Labsが開発し、これまで米国の学校でテストを行ってきた。 マサチューセッツ工科大学(MIT)のグラフィカルなプログラミングブロックシステム「Open Blocks」を土台とし、コンパイラは「Kawa Language Framework」やSchemeを利用した。情報の保存、アクションの繰り返し、一定の条件下でアクションを実行、など事前に定義されたブロックを利用して、容易にアプリケーションを構築できる。TwitterなどのW

    素人でもAndroidアプリを開発できる? Googleが開発ツール「App Investor」を公開 | OSDN Magazine
  • Android プログラミングがスゴい

    [App Inventor in Action – YouTube] このビデオは必見だ・・・ Android のプログラミングがこんなに簡単にできるのなら、これはスゴいことだ。 Technologizer: “Android Gets a Build-Your-Own-App App” by Harry McCracken: 11 July 2010 *     *     * App Inventor 登場 スマートフォンアプリがどんなものか知っているだろうか? Android フォンを持っているひとなら、「App Inventor for Android」を使えば簡単にアプリが自作できる。App Inventor は Google Labs の新しいソフト(Windows、OS X および Linux  用)で、Android のプログラムがまるでブロックをつないでいくように簡単に作

    Android プログラミングがスゴい
  • 404 Error - File Not Found

    指定されたファイルは見つかりませんでした。 10秒後に トップページ にジャンプします。