みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonには「後方互換性を大切にする」というモットーがあって,時にはそれが裏目に出ることがある。PythonでWebにリクエストを送る時の手法は,目的に応じて複数存在するが,これも後方互換性を守るがために起こっている現象といえる。当初はシンプルな機能を持つモジュールが利用されていて,その後より高度な機能を持つモジュールが追加されたのだが,後方互換性を守るために古いモジュールが残されているのだ。 たとえば,普通にhtppでGETリクエストを送って結果を取得するなら簡単で from urllib import urlopen src = urlopen('http://www.exam
個人が成し遂げられることはどんどん大きくなっている。常識は短期間で変わる。今貴重なものは,やがて過剰になる。日本市場を世界からへだててきた日本語の壁はなくなろうとしている。ネットの向こうにいる仲間を信じよう---「U-20プログラミング・コンテスト」という,20歳以下を対象にしたコンテストに参加した若い技術者たちに,伝えたかったことだ。 ここ3年ほど,このコンテストの審査会にオブザーバという名目で立ち会わせてもらっている。なにしろ審査員のひとりであるまつもとゆきひろ氏が「私が応募しても入賞できないかもしれない」というレベルの高さである。思わず唸る完成度の高い作品あり,思わず吹き出してしまうユーモアのある作品あり。記者は好きに意見だけ言って審査の責任は負わないという美味しい役目でもあり,こんなに無料で見させていただいていいのだろうかというくらい楽しませていただいている(関連記事)。 ところで
今日はさっくり小ネタ。 最近私はPythonを勉強中なのですが、「このての軽量言語はさっと書いてさっと実行できなきゃだめ」という信念のもと、編集にはvimを使っています。 とはいえ、Pythonは実はかなり「エディタを選ぶ」言語です。インデントによってブロックを表現するので、インデントがきちんと表示されないと困りますし、タブとスペースが入り交じってしまわないようなエディタの補助も欲しいところです。 というわけで、今日は、そんなPythonをすっきり快適に編集できるような vim の設定をご紹介します。 いきなり結論 私は以下のような記述を ~/.vimrc に追記しました。 autocmd FileType python setl autoindent autocmd FileType python setl smartindent cinwords=if,elif,else,for,wh
実際に学校で教えてくれるかは別として System.out.println()について考えてみよう。System.out.println()は、Javaを勉強しようとする人が初期の段階から利用するメソッドである。が、しかし、実は謎だらけなのである。 まずは、System.out.println()を分解して考えてみる。 Systemはjava.lang.Systemである。 outはjava.lang.Systemのフィールドである。 Systemクラスのjavadocを眺めると、outの型はPrintStreamであることがわかる。 PrintStreamのjavadocを眺めると、printlnメソッドが存在する。 つまり、System.outにPrintStreamのオブジェクトが代入されていて、そのオブジェクトのprintlnメソッドを呼んでいるだけでる。このメソッドを実行すること
本家:Commons CLI – Home javadoc(1.x):http://commons.apache.org/cli/api-release/ コマンドラインオプション解析ライブラリの定番ってなんだろう。Commonsブランドを選んでみたが開発状況が微妙。 1.1をつかってみた。 command --limitsize 1000 -n "hoge hage" input.txt output.csvみたいなコマンドラインを解析してみる。 OptionsオブジェクトにOptionオブジェクトを登録。CommandLineParserにOptionsとString[] argsを渡してCommandLineオブジェクトを得る。 public class ApacheCLITest { public static void main(String[] args) { // comma
もしもこの世から「残業」が完全になくなったら 3年ぐらい前に読んだ本を思い出した。 1980−90年代の話ですが、残業について、 「時間外・休日労働の弾力的運用が我が国の労使慣行の下で雇用維持の機能をはたしている」(1985年労働基準法研究会報告)とか、「我が国の労働慣行の実情に合うような上限設定が可能かどうか定かでない」(1992年同報告)と、雇用維持の為のコストとして恒常的な長時間労働を是認する考え方が主流でした。 需要の低下に応じて、生産水準を下げなくてはならなくなっても、バッファがあるから解雇せずに大丈夫でしょ、という。。。 まぁ、 ところが、その後、労働法政策が内部労働市場の雇用維持から外部労働市場における移動促進に徐々にシフトしていったにもかかわらず、この長時間労働哲学には疑問が呈されないまま21世紀に至っているのです。 と著者は問題視しているわけだけど。 話変わって、最近友人
2012年9月に行われた札幌Ruby会議2012の基調講演の1つで、Rubyの生みの親のまつもとゆきひろさんが、最近あった面白いエピソードを混じえて“イノベーション”の本質について語っていました(44分の動画)。ポイントとなる部分をまとめてみました。まつもとさんの話はもちろん、統計的裏付けだとか学問的裏付けがある議論というものではありませんし、ご本人も楽しそうに話し、聴衆も楽しんでトークを聞くというゆるい感じのものでした。ただ、「イノベーションの本質は捉えがたい」というメッセージや、「だからあれこれ考えずにコードを書こう、われわれはコードを書くことにアイデンティティを感じているのだから、それこそがハッピーになる道だ」というメッセージは、参加していたRubyistたちの胸に響くものがあったのではないかと思います。 以下、口語文体のまま、ポイントとなる前半のトークをまとめてみました。トーク後半
単にテストファーストの進化系的に語られている(歴史的には進化系に違いないけど)。 でも、仕様なり要求がなり入力がないとテストコードは書けないでしょ。 ドメインモデルとどうやって結びつけるの。 ドメインモデルがこけたらこけちゃうでしょ。 ドメインモデルもテスト(not レビュー)しないとだめなんだよ。 XPはPだけどTDDはDなんだよ。 いまのTDDはTDPじゃないか。 OOP→OOD→OOAと発展?したように TDP→TDD→TDAってまどろっこしい進化をさせないといけないのかな。 そういえば、アスペクト指向がそんな感じでしたね。 テストファースト本でW字モデルまでだして、このあたりを述べたけど、もう一度整理しないとダメだな。要件定義工程でレビューしているくせに、いまだに要件定義工程ではテストできないっていっているし。標準じゃないんだから、個人なりコミュニティの定義に拘束されることないと思
シンガポールでアジアのエンジニアと一緒にソフトウエア開発をして日々感じること、アジャイル開発、.NET、SaaS、 Cloud computing について書きます。 小生、プログラムに使った最初の言語は、BASIC。そう、あの有名なBASIC。Visual Basicではない。Bill Gatesが、ハーバードの学生だったころ、Microsoftか、それともその前身の名前の会社だったのだか定かではないが、自分たちで作って、それをまんまと、当時の米国のホビーストのマシンだったAlltairに売り、さらにIBMにまで使わせることに成功した、あのinterpreter言語だ。 BASICを使って、私も、学生のころ、当時日本で売られていたSharpの『マイコン』で、色々とゲームを作った。ASICだと言ってもバカにしてはいけない、学生時代はゲームだったが、それなりに物理や数学を駆使したアプリだった
Yet another fast Java decompilerJD-Eclipse is a plug-in for the Eclipse platform. It allows you to display all the Java sources during your debugging process, even if you do not have them all. JD-Eclipse is free for non-commercial use. This means that JD-Eclipse shall not be included or embedded into commercial software products. Nevertheless, this project may be freely used for personal needs in
どうも、テストを書きたくない人という認識がされているのだけど、ぼくが書きたくないのは退屈で割にあわないテストで、品質が求められる部分のテストを書くのは、楽しいし、かなり好きです。 それは、たとえば品質について理解してないお客さんのプロダクトだとしても、やっぱり間違ってちゃいけない部分は、せかされても待たせて時間とってテスト書くわけです。金額計算とか。 そのかわり、商品一覧に削除済み商品がでちゃったとか、そういうところは見つかったら直せばいいかーとかで、機能見せれる早さ優先でやったりするわけです。品質対策にかかるコストのほとんどはバグの発見のためのコストで、見つかったバグを直すのは時間かからないし。そもそもそういうのは「言ってなかったけどそこは対応するメーカーがない商品も削除扱いだから」みたいなことをあとから言われることが多いわけで。 でも、まあ、結局1年間は見つかったバグを直しますよってい
Coding Horror: Please Don't Learn to Code Please Understand Learning to Code Coding Horrorで有名なJeff Atwordが、ある州知事が今年の目標としてプログラミングを習得することを挙げていることに対し、そもそも税金を払う我々市民は、政治家にはプログラミング習得以上に重要な、政治家にしかできない問題の解決を望む、よってプログラミングを学ぶのをやめてくれという記事を書いた。これに対して、反論が多数上がっているが、Jeffも読んでいるある論文をあげて、この議論の参加するためには、必ずこの論文を知っておくべきであると書いた人がいる。この論文は有名で、非常に興味深いので、全プログラマーが読むべきである。 ふたこぶラクダという名前で知られている有名な論文がある。この論文では、60%の人間にプログラミングの素質が
Send feedback Stay organized with collections Save and categorize content based on your preferences. The Google Workspace Marketplace makes it easy for users and administrators to find and install third-party applications that are integrated with Google Workspace. You can publish Google Workspace add-ons, Editor add-ons, Google Chat apps, Classroom add-ons, Drive apps, and Web apps.
Androidアプリ作成の基本“Activity”とは何か?:Androidで動く携帯Javaアプリ作成入門(2)(1/2 ページ) 本連載で、SDKとEclipseを使ってAndroidの携帯端末で動くJavaアプリを作成し、Android Market配布を目指しましょう。開発者向け実機の登場やOHA参加14社増などの話題で盛り上がるAndroid。今回は、基本Activityとライフサイクルについて。 開発者向け実機、新Android端末、OHAに14社参加 2008年12月7日、グーグルは開発者向けにSIMロックフリーの端末「Android Dev Phone 1」を発売しました(参考:SIMロックフリーAndroid端末、399ドルで提供へ)。それに伴い、「Android SDK 1.0 Release 2」がリリースされました。前回の「Androidアプリの開発環境を準備」をお
メールアドレスの抽出 まずはメールアドレスを抽出します。 私は過去メールを Maildir 形式で保存しています。 これらのメールを以下のようなスクリプトで走査して、私と直接メールをやりとりした社内の人のメールアドレスをとりあえず抽出します。 コードを書いた時の個人的なポイントはこんな感じです。 mailbox.Maildir で Maildir フォルダから書くメールファイルを読み込む。 rfc822 を使用してメールアドレスのみを抜き出す。 set とか正規表現を使って、自分のメールアドレスが含まれているか、社内のメールアドレスかを調べる。 #!/usr/bin/env python from __future__ import print_function import mailbox import rfc822 import re # 自分のメールアドレスの一覧 my_addres
会社でたまにプログラムを教えることがあるのですが、その時開発環境として勧めるのは決まってIDEの類いです。僕自身は仕事でPHPを書くときも、趣味でCoffeeScriptを書くときも、勉強としてHaskellを書くときも、いつもvimを使っています、でも、Vimの取っつきにくさとか、IDEのお手軽さを考えると、これからプログラム始めるぞって人にはなかなか勧められないでいました。実際、補完機能やコード追跡、エラー箇所の表示などが特に設定も機能の学習もなしに利用出来るのは魅力的ですから。ただ、仕事で教えるかどうかはともかくとして、初心者がプログラムを始めるのにいきなりvimを選ぶのも悪くはないな、と最近考えています。というのも、Vimが難しいから。 よくVim使いの人が「Vim怖くないよ、生産性あがるからおじさんについておいで。ほら、いいプラグインもあるから……」などといたいけなプログラマに
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く