タグ

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

  • オブジェクト指向開発を理解した開発者に、設計書は不要:アジアのソフトウェア開発現場にて:エンジニアライフ

    シンガポールでアジアのエンジニアと一緒にソフトウエア開発をして日々感じること、アジャイル開発、.NET、SaaS、 Cloud computing について書きます。 わたしのソフトウェア開発者としての経歴は10年程度。10年間、いろいろなものを作ったが、「設計書」と言えるもの、つまり「基設計書」「詳細設計書」がある形でプログラム開発したことは一度もない。たぶん、これからもないかと思う。 「大したものを作っていないのでは」と、わたしのソフト開発者としての能力を疑う人が出てくるかもしれない。しかし、大企業で大勢の人に使われるようなシステム――規模にして数十年月のしっかりしたシステムを作ってきたことは事実である。ということで今回は、「設計書なしでかなりの規模のシステムを作る」ことに関するわたしなりの方法論を少し書いてみる。 オブジェクト指向は必須である。「設計書なしである程度の大きさのソフト

    オブジェクト指向開発を理解した開発者に、設計書は不要:アジアのソフトウェア開発現場にて:エンジニアライフ
  • テストを書くこととテストをすることの違い - 未来のいつか/hyoshiokの日記

    会社でレガシーコード改善ガイドの読書会をやっていて、次回で読了だ。4月に入ってから週に1回くらいのペースでやっていて、2ヶ月半くらいかかった。途中、ゴールデンウィークや所用で開催しないこともあったので、10回くらいで完走したことになる。 一人当たり、1章ないし2章くらいを担当して、その章に書いてあることを説明した後にみんなであーだこーだ議論をする。気になったことを質問したり、どうも良く分からないことをみんなで考えたりする。 テストがないコードはレガシーコードだ!というキャッチフレーズはわたしの心をとらえた。 参加者の皆さんとその価値観を共有できた事はうれしい。 現場での開発の実情をいろいろ教えてもらった。テストを書くことはあまり一般的ではないということにわたしは衝撃を覚えたのであるが、この読書会を通じて、テストを書かない開発というのがレガシーコードを作っている事に他ならないという共通の認識

    テストを書くこととテストをすることの違い - 未来のいつか/hyoshiokの日記
  • 電車内プログラミングの生産性が高いのは何故かに関する考察 - 西尾泰和のはてなダイアリー

    Twitterから転載 電車の中でやるコーディングは自由意志でやりたいと思ってやるコーディングなので生産性が高い 電車の中ではインタラプトが入らないから生産性が高い 近づいてくるデッドラインが明確なので締め切り効果が発生して生産性が高い 電車の中では調べ物ができないので、調べ物が必要なタスクが後回しにされて、結果として下調べが済んでいるもしくは脳内の知識でできるタスクを実行するから生産性が高く見える タイミングが予想出来る乗り換えインタラプトが存在するので、乗り換えの間に考えていたことを忘れないようにファイルに出力すること、そして歩くことが問題の整理に役立っている 電車の適度な騒音や移動していることによる海馬への刺激がなんか集中力を高めたりするのかもしれない 「目的地につくまで15分だからその間にアレを実装出来るかな?」というのがまさに「自発的に設定した制限時間へのチャレンジ」なのでドーパ

    電車内プログラミングの生産性が高いのは何故かに関する考察 - 西尾泰和のはてなダイアリー
  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
  • 伝説のPHP作者「Rasmus Lerdorf」名言集を聞くと嫌PHP厨がファビョる

    今のPHPを作ったのは、何十人もの開発者ですよ。私は1人目の開発者だったに過ぎません。 問題を解くのが好きなだけで、プログラミングは大嫌いです。 いかにプログラミングを避けるかを考えていたら、コードを再利用するためのツールとしてPHPができました。PHPは、歯ブラシみたいなものですね。毎日使うものですけど、だから何でしょう?誰が歯ブラシのなんて読みたがります? パーザを書くのは苦手です。当にダメなんです。今でもね。PHPには「protected属性」も「仮想メソッド」もありますよ。情報学科の教官が「重要だ」っていうやつは何でもね。僕自身は、こんなものどうでもいいと思ってますけど。プログラミングを好む人がいるのは知ってますが、全く理解できないですね。 僕はホンモノのプログラマではありませんから、やっつけ仕事ですよ。ホンモノのプログラマは、「動いてるように見えるけど、メモリリークだらけじゃ

    伝説のPHP作者「Rasmus Lerdorf」名言集を聞くと嫌PHP厨がファビョる
  • 第30回 Test::Class:ユニットテストに使うだけでなく | gihyo.jp

    メタデータからテスト件数を取得する 前回はテストファイルやテストデータの数からテストプランを計算するモジュールを紹介しました。今回はその続きとして、テストファイルのメタデータからテストの数を求めるモジュールを紹介していきましょう。これらのモジュールの多くは1994年にケント・ベック(Kent Beck)氏がSmalltalk向けに書いたSUnitを祖先にもつ、いわゆるxUnit系のフレームワークに属するものですが、Perlにはそれ以前からTest Anything Protocolを使った独自のテスト手法が存在していたため、Javaなどで使われている同種のフレームワークとはやや毛色の違う部分もあります。一般的にはクラスをひとつ書くたびに対応するユニットテスト用のクラスを書くのがよいように言われていますが、ここではもっとゆるく、テストを自動的に検出してくれるだけでなく、テストの事前事後になん

    第30回 Test::Class:ユニットテストに使うだけでなく | gihyo.jp
  • Webプログラミング素人が利用者9万人のmixiアプリを作るまで - 毒蛇は急がない

    はじめに 最近、 文系ド素人がmixiアプリを開発〜リリースするまでのまとめ http://d.hatena.ne.jp/kazu0620/20100412/1271071223 というエントリーが話題になりましたね。自分もwebプログラミング素人でmixiアプリを作ってみたので、ちょっと便乗して、自分がmixiアプリを作るまでのプロセスをまとめてみました。 これからアプリを作る人の参考になれば幸いです。 kazu0620さんは、個人で作っていたみたいですが、自分は会社で作りました。会社といっても、自分含め従業員数3人の超零細企業でフリーランスの延長線上みたいなかたちでやっている会社ですが。 ちなみに会社のサイトはこちら。 作ったアプリ 「ふしぎな生き物 ふにゃもらけ」 http://mixi.jp/run_appli.pl?id=9443 リリース日:3/23 実質開発期間:8ヶ月 週間

    Webプログラミング素人が利用者9万人のmixiアプリを作るまで - 毒蛇は急がない
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • 文系ド素人がmixiアプリを開発〜リリースするまでのまとめ - kazu0620's blog

    というわけで プログラミング未経験の状態から、mixiアプリのリリースまでなんとか漕ぎ着けることができました!最近、OpenSocial界隈は盛り上がってるみたいだし、プログラミング経験はないけれど、興味ある!って人も多いと思います。そこで、所謂「ド素人」の状態からプログラミングを勉強してmixiアプリをリリースするに至るまでの僕の軌跡と、何をどう勉強すればいいのか?ってのをまとめてみました。webで調べたり、プログラマの知人に相談したりしてこれは良かった!って部分を抜き出してまとめたので、これから勉強するぞって方は参考にして頂ければ幸いです。これであなたもSAP(ソーシャル・アプリ・プロバイダー)に! 完成したアプリ 「一行リレー小説」 http://mixi.jp/view_appli.pl?id=15525 開発期間:実質3ヶ月程度 リリース日:3月24日 現在の投稿総数:7622行

    文系ド素人がmixiアプリを開発〜リリースするまでのまとめ - kazu0620's blog
  • 皆がプログラミング始めたキッカケはー??

    ちょっと気になったのでプログラミング始めたキッカケをTwitterで聞いたらたくさんお返事いただいたのでまとめました。中学生プログラマの話も聞きたいですね。

    皆がプログラミング始めたキッカケはー??
  • 将棋をモチーフにしたプログラミング言語「ModanShogi」が公開! | gihyo.jp

    はじめに コンピュータ将棋の分野では、年々ソフトウェアの棋力が向上しており、10年以内にソフトウェアが平手でプロ棋士を破る日が来るのではないかと予想されている。 しかしその一方で、人間の「直観」による高度かつ高速な計算力は、未だその詳細が明らかになっていない。 人間の意図を計算機に伝えるためのプログラミング言語の世界においても、脳の直観を最大限に活かすには、現代のプログラミング言語はいずれも単純すぎると言えるだろう。 しかし最近では、これを逆手に取って、人間同士が戦うボードゲームのルールや戦略を抽象化し、プログラミング言語の世界にフィードバックする試みが実用化され始めている。有名なところでは、Google社のプログラマの手による囲碁をモチーフにしたプログラミング言語が一般公開されたのも記憶に新しい。 ModanShogiはこのようなトレンドをいち早くキャッチし、日のポピュラーなボードゲー

    将棋をモチーフにしたプログラミング言語「ModanShogi」が公開! | gihyo.jp
  • 意外と知らないバージョン表記・数字の豆知識

    Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部) ちまたにあふれるバージョン表記 少し前に「Web 2.0」「○○2.0」という表記が流行したのを覚えていますでしょうか。よく見かける広告のコピーにも、最近では「バージョンアップ」という言葉が普通に使われています。バージョンや、バージョン表記は、ソフトウェアの世界だけでなく、ごくごく一般化したように思えます。しかし実際には、どういう意味か分からないのが、バージョン表記です。 アプリケーションソフトウェアの開発は、さまざまな状態/段階を経て完成します。その段階/状態と、リリース後の状態/段階を示したのが、バージョン表記です。 例えば、数字以外でも、以下のような表記を見かけたことはありません

    意外と知らないバージョン表記・数字の豆知識
  • じ~んときた!現代のエンジニア22人の名言集|【Tech総研】

    世の中には名言、格言、○○語録といった、味わい深いフレーズがいくつもあります。その中には当然(?)エンジニアが語った内容もあるわけです。歴史上の人物、ではなく、現在を生きるエンジニアの言葉を紹介します。

  • MySQL のNULL ではまったことあれこれ - LukeSilvia’s diary

    MySQL に限らず、SQL のNULL の仕様には何回か「えっ」と驚くことがあったのでメモしておこうと思います。5.1 版の日語マニュアルがなかったものについては、4.1 のマニュアルを参照しました。 そもそもNULL は何を意味するか NULL は未定義または、不明を意味する。「電話番号を持たない」ということを表現する場合は、NULL ではなく、空の文字列を使う。 NULL 値というものを SQL 初心者はよく混乱します。SQL 初心者は、多くの場合、NULL が空文字 "" と同じであると考えてしまいます。これは違います。たとえば、以下のステートメントは完全に別のものです。 mysql> INSERT INTO my_table (phone) VALUES (NULL); mysql> INSERT INTO my_table (phone) VALUES (""); どちらのス

    MySQL のNULL ではまったことあれこれ - LukeSilvia’s diary
  • はてなブログ | 無料ブログを作成しよう

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    はてなブログ | 無料ブログを作成しよう
  • Twitter ボットの作り方 Perl 編 (1) OTCHY.NET

    Twitter ボットの作り方解説第 1 弾。前提条件と、下準備までを解説します。 前書き Twitter をある程度使っていると、突然見ず知らずのアカウントから reply をもらったりして、それがボットだという事は良くあります。 そんなとき、自分だったらこういうボットを作るのに!っていう思いがあっても、なかなか作れない人も多いのではないでしょうか? ここでは、そのまま動作するサンプルを提示する事で、Twitter のボットを作る方法を解説します。 Perl とか詳しくなくても、Linux の知識がある程度あれば、自由にボットを作れるようになるはずです。 目標 だんだんとレベルを上げながら、以下のようなボットを作る事を目標にします。 あらかじめ用意された定型文の中からランダムでつぶやくボット 特定のワードに反応して、reply するボット 特定の RSS の内容をつぶやき続けるボット ボ

    Twitter ボットの作り方 Perl 編 (1) OTCHY.NET
  • PHPで誰でも簡単Webサービス製作!でなんか作って公開した奴ちょっと来い - 甘味志向@はてな

    タイトルは出来れば関連する方に読んで欲しかったので、軽く釣り針にしました。すみません。:*) 最近はやりのヒウィッヒヒー(Twitter)でも、よく「○○ったー」みたいなサービスがばんばん登場してますね! おかげでますますツイッターが面白い感じになってて、いい流れですね! でも・・・ちょっと気になることが・・・ 最近「もうプログラマには頼らない!簡単プログラミング!」だとか・・・ 「PHPで誰でも簡単Webサービス作成!」だとか・・・ はてなブックマークのホッテントリで見かけますよね・・・ プログラミングする人が増えるのは素敵です!レッツ・プログラミングなう! なんですけど・・・ ちゃんとセキュリティのこと考えてますか・・・!? 『セキュリティ対策とか難しいし面倒くせーし、俺の適当に作ったサービスとかどうなってもイイしww』 いいんですいいんです! 別にそう思ってるならどうでもいいんです!

    PHPで誰でも簡単Webサービス製作!でなんか作って公開した奴ちょっと来い - 甘味志向@はてな
  • 経路探索アルゴリズムの「ダイクストラ法」と「A*」をビジュアライズしてみた - てっく煮ブログ

    as詳解 ActionScript 3.0アニメーション ―衝突判定・AI・3DからピクセルシェーダまでFlash上級テクニック を読んでいて、経路探索のアルゴリズムで A* が取り上げられていました。A* については、いろいろ検索して調べたりもしたのですが、やっぱりに書いてあると理解しやすいですね。せっかくなので自分流に実装してビジュアライズしてみました。ダイクストラ法まずは A* の特別なケースでもあるダイクストラ法から見ていきます。クリックすると探索のシミュレーションが開始します。スタート地点(S)からゴール(G)への探索が始まります。色がついたところが「最短経路が決定した場所」です。スタート地点から少しずつ探索が完了していきます。半分ぐらい完了しました。まだまだ進みます。最後まで終わりました。最短経路を黒色矢印で表示しています。ダイクストラ法は、スタート地点から近いノード(=マス

  • マルコフモデルを使った人工無能の作り方 - Hacking My Way 〜 itogのhack日記

    2014/12/13 追記 このブログで参考にしていた絶版の復刻版が出たようです。 追記ここまで 先日、チャットボットを作りました。 「恋するプログラム」というを参考にしたのですが、この、既に絶版になっていて、Amazonのマーケットプレイスではなんと定価の3倍以上の値段で売られています! うーん、これだと手が出ない、けど内容知りたい、、という方のためにクラス図を描きました。書には設計図がかかれてなかったので、持ってる人も確認する意味での役には立つかも知れませんし、Rubyは書けないよ!という方の参考にもなるかと思います。 書で紹介している人工無能の最終形はこんな感じです。 Nobyというのが人工無能のキャラクター、Unmoが人工知能のメインクラスです。Emotionは感情のモデル、Responderが返答内容を作るクラスで、DictionaryやMorph、Guguluなどを参

    マルコフモデルを使った人工無能の作り方 - Hacking My Way 〜 itogのhack日記
  • プログラマー面接時の技術的な質問事項(アプレッソ版) : 小野和俊のブログ

    技術者・SE・プログラマ面接時の技術的な質問事項というエントリをはてブで見かけたのだが、私もjavaプログラマーの面接を割とよくやっているので、よく質問する内容をまとめてみた。 (ちなみに、基的にコーディング面接の形態を取っている) プロジェクトの性質にもよると思うが、私の場合には、情報処理技術者試験的に基礎が満遍なく抑えられているかどうかよりも、 すぐ答えが見つからないような課題に対して、きちんと自分でやり方を考え、対応することができるか 「変な」コードをコミットしたりしないか(見つけにくいバグを混入させるとか、汚いとか、遅いとか)といった点を重視している。 まず、何を知っているかよりも、どんなものを作れるか、どんなことができるか、という質問。 ここで強烈な回答が来る人は、たいていここより下の質問は「あー、はいはい」という感じでサラッと答えてくることが多い。 これまでに携わってきた開発

    プログラマー面接時の技術的な質問事項(アプレッソ版) : 小野和俊のブログ