タグ

プログラミングに関するnekomoriのブックマーク (316)

  • hirax.net::各種言語からのThinkpadの加速度センサ値取得方法

    最新記事(inside out)へ  | 年と月を指定して記事を読む(クリック!) / 2001/ 2002/ 2003/ 2004/ 2005/ 2006/ 2007/ 2008/ 2009/ 2010/ 2011/ 2012/ 2013/ 2014/ 2015/ 2016/ 2017/ 2018/ 2019/ 2020/ 2009年11月 を読む << 2009年12月 を読む >> 2010年1月 を読む ThinkpadなどノートPCでは、ハードディスクの衝撃回避のために、加速度センサを搭載していたりします。私を含め、Thinkpadの加速度センサ値を取得し、色々遊んでいる人は多いので、今回は「各種言語からのThinkpadの加速度センサ値取得方法」へのリンクを作ってみました。私の知っているものを並べただけですので、「おいおい、この言語版もあるぜ」という情報などをjun@hirax

  • GAEで僕にも彼女が出来たよー(XMPP/Mail編) - y-kawazの日記

    ちょうどAppEngineでXMPPやメール受信を試していて何に使えるかな?とネタを探していたところ、彼女を作ってる人が居たので僕も彼女を作ってみました。 僕の彼女はこんなのです。 XMPPで話しかけるとズレた返信を返してくれる。 メールにも答えてくれる。 彼女の詳細は以降で説明します。 XMPP彼女 現時点でAppEngineの日語ドキュメントにはXMPPの記述が無いのですが、英語に切り替えるとServiceメニューの下にXMPPが登場します。使い方は結構簡単で以下のポイントを押さえればすぐに使えました。 まずXMPPメッセージの受信を行うには app.yaml に以下のような設定を追加してやります。これにより /_ah/xmpp/message/chat/ でXMPP受信用のハンドラを割り当てできるようになります。 inbound_services: - xmpp_message 後

    GAEで僕にも彼女が出来たよー(XMPP/Mail編) - y-kawazの日記
  • 並行コンピューティング技法

    The Art of Concurrency和訳書籍への推薦文 訳者まえがき まえがき 1章 速くしたい人、手を挙げて! 1.1 さまざまな疑問 1.1.1 スレッドモンキー 1.1.2 並列と並行:その違いは? 1.1.3 そんなことを知る必要があるの? どんな役に立つの? 1.1.4 並行プログラミングって難しくないの? 1.1.5 スレッドって危険じゃないの? 1.2 スレッド化の4つのステップ 1.2.1 ステップ1. 分析:並行性を持つ部分を見つけ出す 1.2.2 ステップ2. 設計と実装:アルゴリズムをスレッド化する 1.2.3 ステップ3. 正当性の検証:スレッド化の誤りの検出と修正 1.2.4 ステップ4. 性能チューニング:性能ボトルネックの排除 1.2.5 スクラッチ開発 1.3 並列アルゴリズムの背景 1.3.1 理論モデル 1.3.2 分散メモリプログラミング 1.

    並行コンピューティング技法
  • ブラウザ上でC#やPHP5を動かせて遊んで学べる「CodeRun」:phpspot開発日誌

    ブラウザ上でC#やPHP5を動かせて遊んで学べる「CodeRun」が凄いです。 最初アプリケーションかなと思ったのですが、全てブラウザ上で動作するので、学習用やちょっとした動作確認に使えます。 ブラウザ上でコーディング 次のように、IDEアプリケーションのようなUIで、C#やPHP5.1を、ブラウザの上で動かすことが出来ます。 プロジェクト作成 New → Project を選ぶと、C#やJavaScriptPHPの色々なプロジェクトが作れることがわかります。 PHPのHellow World のソースが入ったコードがエディタに表示されました。このソースをいじって直接動かせます。 コードを動作テスト 次のようなコードを書いて「Run」ボタンを押してみます。 以下、出力例です。ちゃんと動きました。 c2d6c077f524683db2f00c0e975766810 1 2 3 4 5 6

  • 簡単なWebサーチエンジンの作り方 - Imagine with 加藤和彦

    筑波大学は3学期制で,12月1日から3学期が始まりました.3学期には私が担当している学類生(普通の大学の学部生)3年生向けの実験があります.約3ヶ月を掛けて,ほどほどの規模のプログラム作成を行います.私が作り,担当しているプログラム実験は「Webサーチエンジン」といいまして,テキストはこちらに公開しています. この実験,結構,自信作なんです.Javaの基的なプログラミングができることだけを仮定して,漏れのない全文検索を行うWebサーエンジンを作ります.Webデータ収集を自動的に行うクローラー付き.Googleのようなページランキング機能はありませんが,一応,サーチエンジンの基機能を備えます.自慢は,このテキストが実質A4で印刷して2ページくらいであること.数学の小問を解いていくように,順番に小問を解いていくと,最後にはWebサーチエンジンができます. ミソはサフィックス・アレイ(suf

    簡単なWebサーチエンジンの作り方 - Imagine with 加藤和彦
  • 竹内関数 - Wikipedia

    再帰的に定義される、3個の引数 x, y, z をとる次のような関数である。 特に変わる所は無いがLisp版[1]も参照のこと。定義からわかるように処理を次々にたらい回しにしていくことから、たらいまわし関数[2]、たらい関数 (Tarai function) とも呼ばれる(後述のマッカーシー版との混同を避けるためこの名で呼ばれることのほうが多いが、こちらの定義のほうがオリジナルである。マッカーシー版を特にTak関数として区別する場合もある)。電電公社研究員(当時)の竹内郁雄が、1974年の夏前の頃、後述するような特性のある関数をあれこれ考えていた、ある日の午前に思いついたものである[3]。竹内関数と命名したのは野崎昭弘である[4]。 特性として、他のよくベンチマークに使われる関数と比較して、たとえばフィボナッチ数を何の工夫もなく計算するいわゆるダム(dumb)フィボナッチと比較して、計算量

  • 60分間プログラミングが面白い - 未来私考

    ニコニコ動画で人気のあるジャンルの一つに「描いてみた」というものがあります。イラストを制作する過程を高速再生して徐々に絵が完成していく様子を楽しむというものですね。合間合間に小ネタを挟んだりBGMに併せてみたり、人気のある動画は数十万再生を誇るものもありますね。 描いてみたとは (カイテミタとは) [単語記事] - ニコニコ大百科 人気の「描いてみた」動画 84,791 - ニコニコ動画 個人的なお気に入りはこのあたり。 今回紹介する動画はそのプログラミングバージョンとでもいうべきもの。実況しながら約60分で実際に遊べるゲームをプログラミングをしてしまおうというもの。 第1弾はJavascriptによるオセロの作成。メモ帳でサラサラとコードを記述しながらみるみるとプログラミングが完成していくのがとても心地よい。 第2弾はWindowsアプリケーション環境でのテトリスの作成なのですが、これ

    60分間プログラミングが面白い - 未来私考
    nekomori
    nekomori 2009/10/18
    料理の鉄人的なアレっぽいことは前にLLのイベントでやってたな、一日がかりで作ったり。
  • プログラミングの上手い奴の特徴:アルファルファモザイク

    ■編集元:プログラマー板より「プログラミングの上手い奴の特徴」 1 仕様書無しさん :2009/09/21(月) 19:40:36 どんなに努力しても予習しても アイツにだけは速さも技術も敵わない・・・ そんな相手がいるはずです。 そんな人達と自分と、一体何が違うのか。 考えてみても分からない。 仕様書無しさん :2009/09/21(月) 21:16:33 努力するよりも好きになる努力をすればいいんじゃないかな Enjoy programming 7 仕様書無しさん :2009/09/23(水) 01:52:09

  • 大きいMVCと小さいMVC 語弊を恐れずに書く - When it’s ready.

    MVCって、大抵の場合サーバサイドでの実装の分け方の事を言ってるのが多い気がする。んで、サーバサイドを作ってる人々の多くは、UIに関してはデザイナーがhogehogeとか、タンポポワークほげとか言ってる場合が多い気がするんだけど、実際どうなんだろう? 保存が必要なければ、ブラウザ内のJSだけでノートラフィック(初回DLは除く)でかなりのことが出来ると思うし、凝ったところはそうなっていると思う。MVCをサーバサイドとクライアントサイドで分けて考えると、実装者のリソースやら各データの祖結合具合だったりというのが上手に調整出来ると思うんだけどどうなんだろ?モデルにロジックてんこ盛り、否、コントローラも頑張るべきとか、いやいやテストすればモーマンタイでしょとかそう言うレベルじゃない気がする。 サーバーから動的に渡す部分はすべてJSONにして、それをサーバー側では最終アウトプット(View)にする、

    大きいMVCと小さいMVC 語弊を恐れずに書く - When it’s ready.
  • デザイン・パターンとは何か

    先日のMVCの議論の際には、私自身いろいろと勉強させていただいたが、少し心配になったのは、「MVCの定義だって時代とともに変わる」「ウェブサービス用のMVCはSmalltalk時代のMVCとは異なるもの」「MVCなんか理解してなくてもアプリケーションが作れればいいじゃん」など、そもそも「MVCとは何か」どころか「デザイン・パターンとは何か」を理解していないんじゃないかと思われる発言が見られたこと。ということで、今日はデザイン・パターンについてひと言。 デザイン・パターンとは、(業界に蓄積されたノウハウに立脚した)何かを作る際の指針のこと。ソフトウェアに限らず、ものを作るときにはさまざまな(場合によってはお互いに矛盾する)要求条件や制約が課せられるわけだが、そんな時に過去にさまざまな事例を解決してきた先人の知恵を「パターン化」してノウハウとして身につけておけば、似たような事例に出会った時に効

  • オブジェクト指向のプログラムに込める「意図」 - 都元ダイスケ IT-PRESS

    その昔、プログラムを覚えたての頃、プログラムってのは単に「処理」を記述するものだと考えていた。処理を1ステップごとに記述し、場合によってはサブルーチンに切り出し、再利用する。 今振り返ると、オブジェクト指向を覚え始めてしばらくして、その意識は変わっていた。当然「処理」を落とし込まなければプログラムは動かない。だから「処理」はプログラムに込める。ただ、オブジェクト指向言語を使うと、これに加えて「意図」を落とし込むことができる。 オブジェクト指向を学び始めた当初、Javaのインターフェイスの存在意義がわからなかった。プログラムは「処理」を記述するものだという視点で見ると、インターフェイスには「処理」を書くことができない。インターフェイスだけでは何も起こらないからだった。 さらに、IDEを使ってコードを追っていると、途中でインターフェイスのソースを開くことになり、「なんだよ、中で何やってっかわか

    オブジェクト指向のプログラムに込める「意図」 - 都元ダイスケ IT-PRESS
  • Ruby on Railsの「えせMVC」の弊害

    先日のエントリーでも少し触れたが、Ruby on Railsの最大の問題点は、それが持つ「一見そのフレームワークがMVCの形をとりながら、MVCの最も大切なところを外している『えせMVC』である」点にある。MVC(Model View Controller)がなぜ必要かを根底の部分でちゃんとと意識せずにRailsアプリケーションを作ると、後々ひどい目に会うので注意が必要である。 その意味では「RailsでMVCを学ぶ」などもっての他だし、「JavaにもRailsと同じようなフレームワークを作って業務用アプリの開発を効率化しよう」などという発想もとても危険である。 ということで、今日はまずはMVCの解説から。 MVCの発想の根底には、「モジュール化と情報の隠蔽により、プログラムがスパゲッティ化するの(コード間の相互依存関係が複雑に入り込んでしまってにっちもさっちも行かない状態になること)を避

  • Python開発をはじめたいWindows開発者は·Portable Python MOONGIFT

    Portable PythonWindows向けのオープンソース・ソフトウェア。Pythonアメリカでのシェアが高いプログラミング言語だ。だがなぜか日ではいまいちシェアが低い。とはいえGoogle App Engineのような環境やDjangoのようなフレームワークも登場し、開発をプッシュする環境が整いつつある。 専用のプログラミング環境付き では実際にPython開発をはじめようと思ったら、何から準備すれば良いだろうか。もちろんまずはプログラミング実行環境のインストールだ。Windowsユーザの方はPortable Pythonを使えば一番早い。ポータブルで使えるPython環境が手に入るのだ。 Portable Pythonはインストーラーとして提供されるソフトウェアで、USBメモリなどにインストールする。もちろんHDDへのインストールも可能だ。Python2.5、2.6、3.0

    Python開発をはじめたいWindows開発者は·Portable Python MOONGIFT
  • GDBで歴史をさかのぼれるように!なりました! GDB 7.0 の新機能Reverse Debuggingを使ってみた - 日記を書く [・w・] はやみずさん

    Twitter上で、@alohakun が言及していた GDB の reverse debugging の機能を使ってみました。 GDB にトレースと逆実行機能入ったのか。 http://www.gnu.org/software/gdb/news/reversible.html http://twitter.com/alohakun/status/4481139191 まずは簡単な使い方を説明したあとに、インストール方法を説明します。 こんなときに便利 「変なこと」が起きている大体の場所がわかっているとき デバッグ中に、大体どこで変なことが起きているかはわかっているけど、細かい場所は特定できていないとき、reverse debuggingが効果を発揮します。 GDBでステップ実行をしていて、「しまった!行きすぎた!」という経験はよくあると思います。こういうとき、今まではプログラムの実行を最

    GDBで歴史をさかのぼれるように!なりました! GDB 7.0 の新機能Reverse Debuggingを使ってみた - 日記を書く [・w・] はやみずさん
  • GAE/J + githubでどこでもプログラミング! - そうだ?Blogを書こう?

    2009-09-29追記 ssh-keyの追加に関する記述が誤っていたのを修正 2009-10-01追記 多環境間のリポジトリのマージについて追記 最近趣味開発で、Eclipce上からgithubとGAE/Jを使って開発する環境を作りました。 こいつが実に素敵滅法なので簡単にまとめたいと思います。 いろいろスッ飛ばしていますがご了承下さい・・・ GAE/Jって何さ EclipseでJava版App Engineを始めるための基礎知識 (1/4):Google App Engineで手軽に試すJavaクラウド(1) - @IT Google App Engineという、Googleが提供するレンタルサーバーみたいなものです。 (レンタルサーバーほど自由度はありませんが簡単で、レンタルサーブレットコンテナといった感じです) インターネット上でJavaアプリケーションをデプロイして、簡単にWeb

    GAE/J + githubでどこでもプログラミング! - そうだ?Blogを書こう?
  • .NET でクレジットカードの番号チェックを行う方法 - 2009-09-25 - 登 大遊@筑波大学情報学類の SoftEther VPN 日記

    .NET で画像イメージ (Bitmap のインスタンス) を JPEG データのバイトデータにメモリ内で変換するには、以下のようにするとよい。 public static byte[] SaveAsJpeg(Bitmap bmp, int quality) { EncoderParameters eps = new EncoderParameters(1); EncoderParameter ep = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality); eps.Param[0] = ep; ImageCodecInfo info = getEncoderInfo("image/jpeg"); MemoryStream ms = new MemoryStream(); bmp.Save(ms, inf

    .NET でクレジットカードの番号チェックを行う方法 - 2009-09-25 - 登 大遊@筑波大学情報学類の SoftEther VPN 日記
  • TechCrunch | Startup and Technology News

    Welcome back to TechCrunch’s Week in Review — TechCrunch’s newsletter recapping the week’s biggest news. Want it in your inbox every Saturday? Sign up here. OpenAI announced this week that…

    TechCrunch | Startup and Technology News
  • 関数型プログラミング言語「Agda」の研修コースを産総研が開催 | スラド デベロッパー

    産業技術総合研究所により、関数型プログラミング言語「Agda」の研修コースが開催されるそうです(産総研:システム検証研究センター:CVS研修コース「Agdaによる仕様記述」)。 Agdaは強力な依存型を備えた関数型プログラミング言語であり、証明支援システムとして利用できることでも知られています。また、その形式手法はプログラムの不具合を防ぐ開発手段として近年注目を集めています。 受講対象はAgdaに興味がある技術者、マネージャ、学生ということで、ある程度の開発経験があれば問題ないそうです。形式手法やバグのないプログラム開発に興味のあるみなさんも参加してみてはいかがでしょうか。

  • #1liner - tr/0-9A-Z/4-9A-E2F-L0M-P1Q-S3T-Z/ && call(google) : 404 Blog Not Found

    2009年09月23日05:00 カテゴリLightweight Languages #1liner - tr/0-9A-Z/4-9A-E2F-L0M-P1Q-S3T-Z/ && call(google) いくらなんでも長過ぎる。 この暗号が解ければGoogleに就職できる? 今のところMITの学生もお手上げ Googleの暗号解読、2ちゃんねらーの回答は釣りだった。正解はJavaScriptでの復号化|デジタルマガジン 例の解ければ入社できるGoogle暗号の復号機を作ってみた - 5.1さらうどん というわけで添削というか書き直し。 JavaScript こんなもんでしょ。 #!/usr/bin/js // decode print(function(s){ var d = {}; for (var i = 0; i < 36; i++){ d['0123456789ABCDEFGHI

    #1liner - tr/0-9A-Z/4-9A-E2F-L0M-P1Q-S3T-Z/ && call(google) : 404 Blog Not Found
  • すべてのプログラマが知っておくべき97のこと

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    すべてのプログラマが知っておくべき97のこと