タグ

programmingに関するmktkmrのブックマーク (107)

  • SRM349 FizzBuzz問題が簡単すぎるそんなあなたへ。「赤いマーブル問題」。

    SRM349 に挑戦。 今回は、1000点問題が、なかなかいい問題でした。 Division1の人達の多くを見事にひっかけた良問です。 超絶アルゴリズムが必要なわけではなく、最初にちょっとしたアイデアに気付くかどうかで、 十分に解ける問題と化すという、素晴らしい問題だなと。 ...

  • 中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場

    「変数のスコープは狭いほど良い」と妄信する 変数でもメソッド名でもクラス名でも言えることだが、単純に「スコープは狭いほどよい」という方針でプログラムすると、逆に保守性も可読性も悪いプログラムができあがることがけっこうある*1。 実際、「あちこちから頻繁にアクセスするようなオブジェクトやメソッド」は、スコープをぐっと広くしてしまった方が(場合によってはグローバル変数やグローバル関数にしてしまった方が)、いちいちパラメータ渡しのバケツリレーをせずに、オブジェクトや機能を使うことができ、プログラムの可読性も保守性もずっと向上することがけっこうある。 たとえば、プログラムのいろいろな箇所から比較的頻繁にアクセスする必要があるようなオブジェクトや機能がバインド(格納)された変数やメソッドのスコープをクラスやメソッド内のローカルにして、それを使うときは、いちいち各クラスやメソッドにパラメータ渡しのチェ

    中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場
  • perlstyle - Perl スタイルガイド - perldoc.jp

    名前¶ perlstyle - Perl スタイルガイド 説明¶ プログラマは、もちろん人それぞれ、フォーマットには好みがあるでしょう。しかし、いくつかのガイドラインに従うことによって、プログラムの可読性や保守性をあげることができます。 もっとも重要なことは、つねにプログラムを-wフラグをつけて走らせることです。必要であれば、no warnings プラグマや $^W 変数を使用してコードの一部だけで警告を明示的にオフにします。また、つねに use strict を使用すべきです。もし、use strict を使用しないなら、その理由を十分に理解しておくべきです。use sigtrap や use diagnostics プラグマも便利でしょう。 コードレイアウトの美観に関しては、Larry が強く気にかけているのはたった一つ、複数行のブロックの閉じブラケット、その構造を開始したキーワード

  • 正規表現の問題集1(基本編)

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    正規表現の問題集1(基本編)
  • daily dayflower - 半角←→全角変換,Unicode::Japanese に未公開機能が…

    2008-10-21 追記 いまだに(ありがたいことですが)検索で飛んできたりブクマされたりというのがちょいちょいあるので,最新動向を書いておきます。 id:tokuhirom さんが Lingua::JA::Regular::Unicode という Pure Perl Module をリリースなさいました(→ http://d.hatena.ne.jp/tokuhirom/20081018/1224300947)。 あなたが作っているアプリで文字列まわりを Unicode::Japanese インスタンスですべて持ちたいわけでなければ(そして,たいていのばあい,持つ必要はないのですが),この Lingua::JA::Regular::Unicode を使うのがベターです。依存性もなく,とても軽量ですので。 2008-10-21 追記おわり ウェブアプリを作っていると,ユーザが入力した半角

    daily dayflower - 半角←→全角変換,Unicode::Japanese に未公開機能が…
  • プログラミング能力をつけるための高速道路を造りたいという話 - タムケンブログ

    プログラミングできるひとが足りないんだと思う どうして日発でイケてるWebサービスなりパッケージソフトウェアなりがあんまり出てこないんだろうという疑問に対する僕の答えは大きく二つあって、それはプログラマーが足りないことと、プログラミング能力を身につける術があまり知られていないことだと思っています。 雨にも負けずライブドアショックにも負けず、ネットベンチャーを作って頑張っている若手はまわりに沢山いるのですが、多くの経営者が揃って言うのが「プログラマが足りない」ということ。インターネットを使って事業でやろうとしている夢は描けて戦略も練れるけど、作れる人がいないし雇う金も少ない、と。特に文系で、ネットベンチャーでがっつりインターン→起業、みたいなパターンとか。 で、イノベーションの担い手たる起業家を増やそう!みたいな話はよくあると思うのですが、こんな感じでプログラマが足りないということで、そこ

    プログラミング能力をつけるための高速道路を造りたいという話 - タムケンブログ
  • クリエイティブなプログラマーから学ぶ14個の事柄

    世間には非常にクリエイティブで独創的なプログラマーの人が数多くいますが、そんなプログラマーから学べることがたくさんあるようです。プログラマーに限らず、さまざまなことにも当てはまるようなことばかりで、ほかの仕事をするにしても非常に役に立ちます。ではクリエイティブなプログラマーからどのような事が学べるのか見ていきましょう。 詳細は以下より。Creative Code: 14 Ways to Learn From Creative Programmers | LifeDev 1.さまざまな分野に手を伸ばし学び続ける プログラマーは常に新しい言語を学んでいきます。同じように、さまざまな分野に手を広げ、学び続ける姿勢が大切である。 2.土台の部分から物事を始める 物事を土台から固める方がよりクリエイティブな解決方法を見いだすことができる。 3.すべての事に疑問を投げかける 何事にも疑問を投げかけてい

    クリエイティブなプログラマーから学ぶ14個の事柄
  • OOコード養成ギブス - rants

    Binstock on Software: Perfecting OO's Small Classes and Short Methods The Pragmatic Programmersシリーズの新しい、The ThoughtWorks Anthologyの中に 興味をそそるエッセイがある。Jeff Bayの"Object Calisthenics"だ。 これは良いオブジェクト指向の性質を実証する小さなルーチンを書く方法をマスターするための 詳細にわたるエクササイズだ。オブジェクト指向なルーチンを書く能力を向上させたい開発者がいるなら このエッセイに目を通すことを勧める。ここにBayのアプローチを要約してみよう。 彼は次にあげられる制約のもとに1000行のプログラムを書くことを勧めている。 これらの制約は意図的に過剰な制限となっているが、これは開発者を手続き的なやり方から脱却させるた

    OOコード養成ギブス - rants
  • ゆーすけべー日記

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

    ゆーすけべー日記
  • Perl-users.jp - 日本のPerlユーザのためのハブサイト

    Perl Mongers Perl Mongers とは、日各地に存在する、Perl ユーザーのコミュニティのことです。各種イベントが行われていますので、是非参加してみましょう。 Shibuya.pm Fukuoka.pm Kansai.pm (@kansaipm) Yokohama.pm (@yokohamapm) Hokkaido.pm (@hokkaidopm) Nagoya.pm (@nagoyapm) Kushiro.pm (@kushiropm) Kyoto.pm (@kyotopm) Kamakura.pm Niigata.pm (@niigatapm) Sendai.pm (@sendaipm) Tokyo.pm Hachioji.pm (@hachiojipm) Chiba.pm (@chibapm) Yomitan.pm (@yomitanpm) Machida.pm

  • Webエンジニア武勇伝 第24弾 蓑輪太郎(ひげぽん) 氏 | サイボウズ・ラボ株式会社

    今回は、ひげぽん(higepon)こと、サイボウズ・ラボの蓑輪太郎さんにお話をお聞きしました。蓑輪さんがブログで、「Webエンジニア武勇伝」の宮下尚さん記事を取り上げていただいたのを発見しまして、是非、インタビューをということでお願いし、今回の企画が実現いたしました。IPAで未踏ソフトウェアに採択され、スーパークリエータの認定もされているにも関わらず、謙虚で当に人柄が素晴らしい蓑輪さんのお話を存分にお楽しみください。取材は、ユニークさで知られるサイボウズ・ラボのミーティングルームをお借りいたしました。 蓑輪太郎 氏 慶應義塾大学 理工学部 物理学科 卒業 某大手企業のシステム開発会社 入社 グループ会社向けの Web サービスの開発を担当 2002年: - 趣味でオープンソースOS Monaの開発を始める。 - OS開発の知識が一切ない状態から多くの人に助けられ開発を進める 2005年:

  • 1日で作る全文検索エンジン - Building a full-text search engine in "ONE" day - - とあるはてな社員の日記

    最近、「Introduction to Information Retrieval」というStanfordの大学院向け教科書のドラフトを読んでいます。id:naoyaあたりが勉強会で読んでいる教科書です。この教科書には、効率のいい全文検索システムを作るにはどうすればいいか、という(まさに)教科書的手法が網羅的に書いてあり、そのあたりに興味がある人には、非常に興味深く読めるお勧めのです。 ただ、面白い面白いと言っているだけでは、エンジニアとしては価値半減ですので、GW中にrubyで一日かけて実装してみました。 さすがに実装は、一日で作ったものですから、非常に素朴です。マルチバイト文字はbi-gramで、シングルバイトはスペースなどの区切り記号で認識しています。インデックスは、rubyの処理系のHashやArrayで保持しており、外部にMarshallで書き出す、というものです。検索エンジン

    mktkmr
    mktkmr 2008/05/15
    SEO業者がゴミのようすかー
  • Tokyo Cabinet

    Our team of highly trained cybersecurity professionals provides expertise in compliance, tool assessments, threat hunting, incident response and more. Critical Start is leading the way in Managed Detection and Response (MDR) services. With a unique approach that treats every security alert as equal, Critical Start's proprietary Trusted Behavior Registry allows security analysts to resolve every al

  • 言語別ゲームプログラミング制作講座一覧 - ネットサービス研究室

    プログラミング言語別にゲームプログラミングについて解説しているサイトをまとめてみました。ジャンル別ゲームの作り方とアルゴリズムまとめもあわせてお読みください。 Java Javaゲーム作りますが何か? ガメラボ Javaゲームはじめました。 JavaRPGを作ろう! Javaによるゲーム解説 JavaScript JavaScriptゲームの作り方 ゲームの作り方 by BFF (^==^)ドリームキャストでJavaScript JavaScript でテトリスみたいなゲームを作ろう! C++ 0からのゲームプログラミング DirectXでゲームを作ってみよう ゲームプログラミング講座 ゲームプログラミングWiki マルペケつくろーどっとコム http://www5b.biglobe.ne.jp/~u-hei/ サラリーマンの俺が無料ソフトだけで3Dゲームを作るスレ まとめ ゲームつく

  • ithreads でスレッドプール - naoyaのはてなダイアリー

    マルチスレッドなサーバー実装を色々模索していて、Perlithreads で遊ぶ。ithreads は Linux の pthread にリンクさせた perl なら一応 NPTL で動いてくれるので、pthread アプリケーションの設計を試すのにも良い。 試しににやってみたのは、たとえば mod_perl とかで重い SQL でブロックするのが嫌なときとかにそれを別プロセスに丸投げしてやる、その丸投げされる側のサーバー実装。(やりたいことだけに関して言うと、TheSchwartz に似てる) クライアントとサーバーの IPC は UNIX ドメインソケット メッセージングのプロトコルは JSON サーバーはクライアントからのリクエストをバッファリングしたら、SQL を実行する前にクライアントとの接続を切断 この時点でクライアントは制御が戻る サーバーは内部ではフロントエンド /

    ithreads でスレッドプール - naoyaのはてなダイアリー
    mktkmr
    mktkmr 2008/04/15
    perlでSQLを非同期処理
  • 動画共有SNS"zoome"〜training2008

    mktkmr
    mktkmr 2008/04/09
    ディノの新人研修の動画。
  • エクストリーム・プログラミング - Wikipedia

    エクストリーム・プログラミング、XP(英: extreme programming)は、 ソフトウェア品質 を向上させ、変化する顧客の要求への対応力を高めることを目的としたソフトウェア開発プロセスである。アジャイルソフトウェア開発の一つとして[1][2][3]、短い開発サイクルで頻繁に「リリース」することを推奨することで、生産性を向上させ、新しい顧客の要求を採用するためのチェックポイントを導入することを意図している。 エクストリーム・プログラミングの他の要素には、ペアでのプログラミングや広範なコードレビューの実施、すべてのコードのユニットテスト、機能は実際に必要となるまでは追加しない、フラットな管理構造、コードのシンプルさと明快さ、時間の経過とともに問題がよりよく理解されたことでの顧客の要求の変化を期待する、顧客やプログラマーでの頻繁なコミュニケーションなどがある[2][3][4]。この方

    エクストリーム・プログラミング - Wikipedia
  • IT業界に来た新社会人に本音を言っておく - ブログは死なず、ただ放置されるのみ。

    今年もIT業界にたくさんの新社会人がやってきたと思います。 そんなみなさんに、一番最初に音を言っておこうと思います。思いついたことを無責任にぐりぐりと。 全文はこちら

    IT業界に来た新社会人に本音を言っておく - ブログは死なず、ただ放置されるのみ。
    mktkmr
    mktkmr 2008/04/02
    仕事は、覚えるんじゃなくて、ノートとペンを常に持ち歩いて記録してください。同じ事を2回聞かないためにはどうしたらいいか考えてください。
  • 404 Blog Not Found:perl - ワンライナーの書き方入門

    2008年03月30日19:45 カテゴリLightweight Languages一日一行野郎 perl - ワンライナーの書き方入門 まあ、ruby のコマンドラインオプションって、Perl由来ですから。 Rubyでワンライナーを書く方法のまとめ まぁ、Perlもあるしあんまり需要が無いのかも知れませんが。 というわけで、Rubyistにも役立つPerlのワンライナー入門です。 基中の基 コマンドとしてのperlは、スイッチがない場合、引数はスクリプト名として扱われます。 % cat hello.pl print "Hello, world!\n"; % perl hello.pl Hello, world! % コマンドライン中の文字列をスクリプトとして解釈させるには、-eを使います。 % perl -e 'print "Hello, World!\n"' Hello, worl

    404 Blog Not Found:perl - ワンライナーの書き方入門
    mktkmr
    mktkmr 2008/03/31
    ワンライナーメモ
  • プログラミングのスピードを上げる方法 - teruyastarはかく語りき

    http://q.hatena.ne.jp/1203667934 ソフトウェア開発やプログラミングのスピードを上げる方法はありませんか? プログラマーとして生きていこうと決めたのですが、いつも見積もりの3倍時間がかかってしまいます。 そのため いつもつらい思いをしています。 環境を良くしようとHHKLite2を使い、カスタマイズソフトでホームポジションから離さずにプログラミングしています。 マウスもゲーム用の高精度のものを使っています。 調べ物にもタブブラウザを使い、拡張し続けて効率化をしています。 DualCoreマシンを使いメモリもたくさん積み、障害がないように心がけがけています。 出始めのころから効率化のためにエクストリームプログラミングも取り入れていました。 単体テスト、リファクタリングも当然行いますが、余計に開発速度が落ちています。 しかし開発速度は効率化とは無縁だとすら感じてい