※このまとめに含まれるプログラムは一種のパズル的な遊びです。 くれぐれも用法用量を守った上で正しくご利用ください>< 実用するならば、“言うまでもなく” if か ?: を利用すべきです。 やばい連中に喧嘩を売ってしまった……。 続きを読む
![闇プログラマーに喧嘩を売ってしまった昼下がり~条件分岐篇~](https://cdn-ak-scissors.b.st-hatena.com/image/square/d953501f1b03d4257c6401c788fcfde96dbd333c/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2Fa07a16c213951bdee1778cc173dd3dec-1200x630.jpeg)
先頃2011年夏モデルがドコモとauから発表がありました。昨今のブームを受けて、殆ど両社ともAndroidスマートフォンを前面に押し出したラインナップになっています。 昨年のXperia(SO-01B)発売から考えると、日本のメーカーもキャリアもAndroidに対するノウハウがだいぶ蓄積されて来たようで、ラインナップもかなり充実して来ました。 シャープは相変わらず旺盛な開発力で、後から加わったソフトバンク向けも含めると合計7機種以上を今季提供しています。その内、ドコモ向けの1モデルは無接触充電機能を搭載、au向けの1モデルはフィーチャーフォンからの移行にも戸惑わないようにテンキーを搭載しており、残り1モデルはINFOBARのスマートフォン版です。 ソニーエリクソンはXperiaの新シリーズであるacroをドコモとauに提供。特にau向けには待望のXperiaの登場です。 NECカシ
TwitterのTLで知ったのだが、少し前に海外の掲示板で"sleep sort"というソートアルゴリズムが発明され、公開されたようだ。このアルゴリズムが面白かったので紹介してみる。 Genius sorting algorithm: Sleep sort 1 Name: Anonymous : 2011-01-20 12:22 諸君!オレは天才かもしれない。このソートアルゴリズムをみてくれ。こいつをどう思う? #!/bin/bash function f() { sleep "$1" echo "$1" } while [ -n "$1" ] do f "$1" & shift done wait example usage: ./sleepsort.bash 5 3 6 3 6 3 1 4 7 2 Name: Anonymous : 2011-01-20 12:27 >>1 なん…だと
ロシアの研究者 A.P.Ershovは、プログラミングに必要な才能として、6つを挙げた。 これは、確かにそうだなと思った。才能は磨いていけるものと信じて、これらの才能を磨いていけるように、メモをしておく。 プログラミングに必要な6つの才能 第一級の数学者の論理性 エジソンのような工学の才能 銀行員の正確さ 推理作家の発想力 ビジネスマンの実務性 協同作業をいとわず、経営的な関心も理解する性向 第一級の数学者の論理性 出現するケースをもれなく拾いあげる能力 実行の条件を正確に決める能力 この能力を高めるための書籍 プログラマのための論理パズル 難題を突破する論理思考トレーニング 作者: Dennis E. Shasha,吉平健治出版社/メーカー: オーム社発売日: 2009/03/26メディア: 単行本購入: 21人 クリック: 412回この商品を含むブログ (63件) を見る論理トレーニン
先日、弊社のiPhone / Androidアプリ開発支援 RainbowAppsスクールにこんな問い合わせがあった。 ■質問 「プログラム初心者です。Androidをやるべきか、iPhoneをやるべきか悩んでいます。また、現在28歳でフリーで働けたらと考えていますが、不安も多いです。」 この質問には、20代、30代が抱えている問題や不安を多く含んでいるので、本人にだけではなく、アゴラ読者にも僕の考えを伝えいたと思う。 質問者の28歳男性には、これからのキャリアの積み方や、先行き不透明な人生に不安があるのだろう。28歳は1回目の転職や独立を考える最初の転機とも言える。不安があって当然だ。 質問をいくつかに分けて回答していきたいと思う。 Q1:プログラム初心者です。 質問を補足すれば多くの人はこんな感じになるだろう。 Q1’:プログラム初心者です。こんな自分がiPhoneやAndroidのア
@kazuendです。 iPodで曲をバックグラウンド再生できることは皆さん知っていますよね。実は、Youtubeも音のみ再生させることができます。Youtubeに数多くUpされている動画の音声を聴きながらTwitterやSafariを開くことができますよ!! iOS4.0以降に可能になった面白い使い方で、iPad でも可能です。ぜひ、周りのiPhoneユーザーのお友達にも教えてあげてください。 動画: 動画の音声のみをバックグラウンドで再生する。 iPod内のPodCastの動画をバックグラウンド再生している動画です。同様の方法で Youtube の再生も可能です。 Youtubeの動画をバックグラウンド再生してみる♪ 1. Youtubeアプリを立ち上げ動画を再生します。 2. ホームボタンを押し、Youtubeが停止させます。 3. ホームボタンをダブルタップし、マルチタスクを起動し
ノートPC業界に革命を起こせるか...「Chrome OS」搭載パソコンの第1弾はサムスンの「Alex」だ!2011.05.06 12:30 まだスペック以外は謎のままです... 絶対にデータが壊れないパソコンとしても期待度抜群の、グーグルが開発を進めた「Chrome OS」を搭載する初のノートPC発売へのカウントダウンがスタートしている感じですけど、その第1弾製品に名を連ねるサムスン製の「Alex」なるコードネームを持つPCの情報が飛び込んできましたよ。いよいよ待望のリリースでしょうかね! Alexはインテル製のデュアルコアプロセッサー「Atom N550」1.50GHzをCPUに採用し、1200×800ピクセルの解像度のディスプレイ、2GBのメモリー、サンディスク製のSSDを標準装備。通信機能としてはBluetooth、Wi-Fi、3G、有線LANに対応しており、タッチパッドでは定評が
iPad/iPod/iPhone/iTunes , iPhone , ガジェット(面白アイテム) iPhoneのワイヤレス充電がラクすぎてたまんない「AIR VOLTAGE」レビュー 2011.05.02 22:00 [0] [0] Tweet Check 見た目はホットプレートですが、コイツがやりおるのですよ...! ケーブルをがちゃりと接続しなくてもアレコレできる快適さは、すでに皆さま、Bluetoothで味わっていることでしょう。その安楽な環境を日々の充電作業でも味わえるのが日立マクセルのAIR VOLTAGEシリーズ、「WP-PD10.BK」×「WP‐SL10A.BK」のセットです。 前者はワイヤレスの充電ステーションで後者はiPhone4用のワイヤレスの充電用カバー。いずれもワイヤレス充電の国際規格「Qi(チー)」に対応しており、充電用カバーをつけたiPhone4をWP-PD10
あいつ仕事してないで女の子のイラストばっかりいじってるぞと陰ながら言われていた喜納です。 HTML5で動くSVGアニメーション「SVG女子」がラスベガスでのマイクロソフト基調講演MIX11で公開され、 世界を(いろんな意味で)驚かしてきましたが、 ついに本日、日本でも公開されました! しかも日本版に合わせてアニメーションも長くなっています! こっそりブラウザを英語にして見ていた人も必見です! (神風動画さんによる予告編動画!) 神風動画さんによるハイクオリティアニメーションをSVGで再現すると言う試み、 プログラムについては SVG Girlの公開と内部実装(プログラマーブログ) で担当プログラマーの吾郷が説明していますが、とにかく いかにSVGをきれいに軽くするかが最重要! SVGといえば拡大しても荒れる事の無いベクター形式で、pngよりも軽くつくれたりすることで使われていますが、 今回
前回書いた通り、オススメの一冊。 今春“プロ”グラマーになる人が、あと1週間で学ぶ3つのこと(+1) - holyppの日記 見出し ・私の選んだ2つのこと ・プログラマーの考え方になる 私の選んだ2つのこと 本書の内容について。 テスト、デプロイ、レビュー、開発環境(IDE/unix)、開発技法の話はもちろんいくつもあり、 それに「良いコードとは何か」「ちょっとした開発のコツ」「経験談(失敗談)」などたくさんの考え方が書かれている。 人によって、また読む時期によって感じ方が全く変わってくる類の本なので、さしあたり今の自分が気になった2つを選んでみた。 64.プロのプログラマとは (ロバート・C・マーティン) タイトルの通り。解っていたはずなんだけど、まだまだ。 プロのプログラマとは、どういう人のことでしょうか。 プロフェッショナルなプログラマの最大の特徴は「自分が責任を取る」という態度、
いろいろと窮屈そうに生きているあの人のために、 今は少し気楽に生きている自分のロジックを思いつくままにアウトプットしてみようと思った。 偉そうに見えても、笑って許して。 「ちょっと」を毎日。 現状を変える一発逆転があると思うかもしれないけど、どうやら近道はないみたいです。 毎日少しずつ、少しずつ努力を積み重ねるしかない。まったく人生ってやつは。まったく。 毎日努力している人にはどんな天才も絶対に及ばない。断言していいです。 大事なのは毎日(毎日じゃなくてもいいんだけど、常日頃)続けること。 とにかく結果を焦らない。落ち着けって。 今日の努力が実を結ぶのは、だいたい1年後。のんびり行くしかないですよ。 ちょっとだけやる。「ちょっと」が超大事。 ダイエットしようと思って、いきなり5キロ走るから辛くなる。初日は着替えて玄関出るところで終了。 だけど、やろうと思ったらその日のうちにやる。絶対やる。
1.一般的なコーディング規約に目を通し、エレガントなコードを知る エレガントなコードを書くためには、エレガントなコードを知らなければならい。その土台を築いているコーディング規約について、オープンソースではどのようなものが使われているのか理解しておこう。入社する予定の会社が採用している言語については必ず目を通しておこう。 PHP PEAR 標準コーディング規約 symfony CodingStandards Perl perlstyle Ruby クックパッド株式会社のRubyコーディング規準 Matzスタイル NaClで採用している規約 Python PEP 8 そして、あなたの身近にあるオープンソースのコードを実際に読んでみよう。この時点でコードの仕組みや設計が理解できなくても良い。コードがエレガントかどうか?を感じ取って欲しい。こう書いた方が、良いのではないか?など、考えてみよう。
emacs の elisp が ruby のソースコードに一通り含まれているらしいので確認する。 $ wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p180.tar.bz2 $ tar jxvf ruby-1.9.2-p180.tar.bz2 $ ls -l ruby-1.9.2-p180/misc total 216 -rw-r--r-- 1 hirocaster staff 369 10 2 2009 README -rw-r--r-- 1 hirocaster staff 15271 10 2 2009 inf-ruby.el -rw-r--r-- 1 hirocaster staff 2757 10 2 2009 rdoc-mode.el -rw-r--r-- 1 hirocaster staff 7094 10 2 20
全てのプログラマが読むべき本 まとめ は、2010 年 11 月 23 日に投稿された 全てのプログラマが読むべき本ベスト10冊 - とみー を発端とする、多くの技術者(ソフトウェアエンジニア) が「全てのプログラマが読むべき本」や「プログラマにおすすめする良書」と言うテーマで執筆した記事の中から、 プログラミングやソフトウェア開発に役立つ推薦書籍を集計してランキング形式でまとめた Web サイトです。 独学でプログラミングを勉強しようと考えている初心者、初学者等が、書籍を選ぶ際の参考としてご利用下さい。 尚、上記期の間以外に公開された記事でも、同様の趣旨で執筆されたものについては集計の対象としています。
に関して、練習します。 他の言語と比較してRubyのコードブロックの扱いは特徴的で扱い難そうに見えますが、使いこなせればコード量を減らせるし、その結果として可読性も増すので、慣れていきたいです。 def times_n(n) lambda { |x| x * n} # Kernel#lambdaの引数はブロック # lambda do |x| x * n end でもよい(複数行に渉るときなど)。 end times_ten = times_n(10) # nに10を代入 # 生成されたtimes_tenはProcインスタンス p times_ten.class #=> Proc # times_ten = { |x| x * n} はエラー。 # {}でのブロックはメソッドの引数としてのみ渡せる。 # また、ブロック引数はメソッドの最後の引数として定義する。 # ブロックの実行にはcal
ブロックの使い方を練習してみます。 def repeat(n) n.times { yield } if block_given? end repeat(2) { puts "Hello." } # Hello. # Hello. メソッドに渡したブロックはyieldを用いて呼び出します。 似たような例としてもう一つ。 # nからmまでの自然数の合計を求める def sumup(n, m, sum=0) (n..m).each { |x| # yield でブロックを呼び出す yield if block_given? # 引数にブロックが与えられている puts x sum += x } puts "Sum : #{sum}" end sumup(2, 4) { printf "Add : " } #Add : 2 #Add : 3 #Add : 4 #Sum : 9 渡されたブロックは
新しくスタートした大容量ファイル転送サービス「Sendoid」がかなり使える!2011.03.23 21:00 mayumine 新しくリリースされた大容量ファイル転送サービス「Sendoid」これはかなり便利そうです。 RapidshareやMediafire、またDropboxやBittorrentといったサービスの類で、これらの良いとこ取りしたような感じです。 日本のサービスだと、宅ファイル便やデータ便が、ずっとシンプルになって使いやすくなったイメージ。 ファイルを1対1で送りたい場合において最良のサービスであるとTechCrunchが賞賛しているように、ファイル容量、セキュリティ、そしてアップロードとダウンロードの待ち時間においてSendoidは優れています。 誰でも簡単に使えるよう、ブラウザベースのシンプルなインターフェースで完結しているのも素晴らしい点ですね。 使い方はとっても
オブジェクト指向の基本亀仙流やつ鶴仙流など、世の中にはいくつかの流派(=クラス)があり、それぞれの流派にかめはめ波やどどん波、舞空術などの技(メソッド)がいくつかあります。 実際に流派にある技を使う場合、技を覚えているZ戦士(インスタンス)が必要になります。 例)亀仙流を覚えた孫悟空を使ってかめはめ波を放って敵を倒す goku = new KamesenRyu("goku"); goku.shootKamehameha(teki); Z戦士によっては複数の流派の技が使えたり、自分の技を人に教えることが出来ます(継承)。 また悟空とクリリンのように同じ流派でも同じ技で違う性能を持っていたり、オリジナルの技を持っているなどの違いがあります。 クラスはセルを作るためのZ戦士達の遺伝子情報と言っても良いかもしれません。 例)セルを作りましょう。 class Cell extends Goku,Ve
よくあるやつです。ぼんやり眺めてると、とても癒されます。 2014/2/25 追記: 全面的に書き直しました。 // https://github.com/norahiko/sort-visualize var helper = { range: function(min, max) { var res = []; for(var i = min; i < max; i++) { res.push(i); } return res; }, shuffle: function(ary) { for(var i = ary.length - 1; 0 <= i; i--) { var rnd = Math.random() * (i + 1) | 0; helper.swap(ary, i, rnd); } }, swap: function(ary, a, b) { if(a < 0 ||
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く