タグ

programmingに関するaklaswadのブックマーク (27)

  • 【結果発表】女子大生プログラマの心を鷲掴みにした最強のコード8選 - paiza times

    2014年4月16日より開始したpaizaオンラインハッカソン(略してPOH![ポー!])Vol.2「女子大生とペアプロするだけの簡単なお仕事です!」ですが、2014年5月14日いっぱいをもって開催期間を終了いたしました。(コードの実行自体は引き続き可能です)。 今回のオンラインハッカソンも数多くご参加いただきありがとうございました! 今回はpaizaオンラインハッカソンVol.2のレポート、最終結果と、提出された各プログラミング言語毎の最速コード(女子大生プログラマ木野ちゃんの心を鷲掴みにした最強コード)についてお届けします。 ■言語別 最速・最遅実行時間結果 POH Vol.2上でも掲載していましたが、まずはテストケース7(大規模データ)の最速・最遅実行時間、提出数です。 言語 最速実行時間 最遅実行時間 通過数 / 受験数 Java 0.04 秒 5.98 秒 327 / 1364

    【結果発表】女子大生プログラマの心を鷲掴みにした最強のコード8選 - paiza times
    aklaswad
    aklaswad 2014/05/22
    最速だけでなくて、提出されたコードの日毎/言語毎の平均スコアや提出数の推移とかも公開してくれると嬉しいかも。
  • 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

    あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 この記事について この記事は新人向けの研修内容を再編集してお送りいたします。 ここで述べる内容はどのようにして現在のプログラミングスタイルが生まれてきたかを理解することで、よりよいプログラムを書くためのもので、正確なソフトウェア工学の歴史を学ぶためのものではありません。正確な歴史を把握したい場合は、原典をあたるようにしてください。 また、想定している読者は「よくあるオブジェクト指向プログラミングの学習」を既にし

    新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita
    aklaswad
    aklaswad 2014/05/14
    素晴らしい
  • 結婚の高速化と、使うプログラミング言語との相関性について勝手に考えてみた【連載:村上福之】 - エンジニアtype

    株式会社クレイジーワークス 代表取締役 総裁 村上福之(@fukuyuki) ケータイを中心としたソリューションとシステム開発会社を運営。歯に衣着せぬ物言いで、インターネットというバーチャル空間で注目を集める。時々、マジなのかネタなのかが紙一重な発言でネットの住民たちを驚かせてくれるプログラマーだ 世の中には、結婚できないと言っている女性が非常に多く、彼女たちは、自分磨きに多くの時間とお金を注いでいるようです。非常に驚いています。 そこで、僕が独断と偏見で考えた、「独身女性ができる限り早く結婚できる絶対的法則」をお教えしましょう。高速なプログラミング言語を習得した女性は、結婚も早いという法則、いや、妄想です。 つまり、JavaScriptRubyよりも、C/C++/アセンブラなどを書ける女性は結婚が早い、ということです。僕の周りには、「アセンブラがバリバリ書ける30代独身女性プログラマー

    結婚の高速化と、使うプログラミング言語との相関性について勝手に考えてみた【連載:村上福之】 - エンジニアtype
    aklaswad
    aklaswad 2014/01/30
    読みましたがどう読んでも意味不明です
  • 怠け者で愚かな人間ほど優秀なプログラマーに向いている理由

    By slworking2 優秀であり仕事を迅速にこなす人は、よく働き、頭の回転も早そうですが、プログラミングの分野においては話が別のようです。ブロガーのPhilip Lenssenさんによれば、優秀なプログラマーほど怠惰で愚かでなければならないとのことで、その理由について公開しています。 Why Good Programmers Are Lazy and Dumb http://blogoscoped.com/archive/2005-08-24-n14.html 怠け者のプログラマーは自分の仕事を減らしたいがために、便利なツールやソフトを作成することがあります。また、単調で、繰り返されるだけのコードを書かず、余分なものをそぎ落とす傾向があるとのこと。自分が楽をしたいがために生み出される努力から作り出されたツールは、生産性をあげるのに一役買ってくれるでしょう。 By dchrisoh ま

    怠け者で愚かな人間ほど優秀なプログラマーに向いている理由
    aklaswad
    aklaswad 2013/07/30
    use Perl::Tyda と $ go man まで思いついたけど後が続かなかった。
  • 「はてなスペース」を使ってみて、自分が「欲しいものを作れる人」で良かったと思った話 - ただのにっき(2013-01-18)

    ■ 「はてなスペース」を使ってみて、自分が「欲しいものを作れる人」で良かったと思った話 はてなスペースがオープンβに移行したので少し使ってみた。思えば昨年、Wassrの閉鎖にともなって「非実名でクローズドなコミュニケーションツールがない」と気づき、みずからMassrを作ったわけだけど、はてなも同じことに気づいたようですね……はっ、なんかちょうど10年前にも同じ流れがあったような記憶が!(→参考: はてなダイアリー10周年) 冗談はさておき、中央に掲示板、右カラムに関連する話題のニュースフィードというレイアウトはなかなかいいアイデアだと思った。「同じ話題で盛り上がる人たちの集まり」をうまく可視化している。UIも日常的にWebアプリを作ってる会社だけあってこなれているというか、奇をてらわず直感的に使いやすいし、日常で多用するツールとして必要なショートカットもうまく設けられている。TAB一発で投

  • アマチュアプログラマとしての死期 - マッタリプログラミング日誌

    アプリストアの台頭、クラウド化、タブレットスマホへのシフト、Windows8。 これらが、無料のソフト配布することを趣味とする人間にはつらい状況になっていること、そして自分が若くないためか、「アマチュアプログラマとしての死」を意識する機会が最近結構あります。 そもそも私がやりたいことは、麻雀を真剣に取り組んでいる人の相手ができるガチで強い麻雀アルゴリズムを作ることだったのですか、環境やUIの変更にあまりにも多くの時間を割かれてしまいなかなか肝心の思考アルゴリムの開発に手が回らなくなっていました。 実際Ver0.8からVer0.9へシフトしたときも2年近い時間をかけてしまいました。 死ぬまでの間にどれだけの時間を開発に費やせるかを考えたとき、もう、余計なことをしている時間は無いとも感じています。 次のメジャーアップデートに向けての作業は、私が来やりたかった思考アルゴリズムの刷新にすべてのエ

    アマチュアプログラマとしての死期 - マッタリプログラミング日誌
    aklaswad
    aklaswad 2012/10/07
    ふーむ。
  • 米国人からコーディングについての怒りのメールを頂戴した - その手の平は尻もつかめるさ

    "米国人からコーディングについての怒りのメールを頂戴した" の補足 - その手の平は尻もつかめるさ ↑の方で補足いたしました。(2012.09.04 追記) 最近、英語のメールでよく怒られます。moznion です。 海を隔てて共同作業しているアメリカ人から、僕のコーディングについてお叱りのメールを頂いたので、 自戒の念を込めて邦訳して記します。 書いてあることは「当然」とも言うべき内容ですが、僕はその「当然」も守れていなかったのかぁ〜と反省。 以下、邦訳(意訳)です。 1. 郷に入っては郷に従え 既にソースコードが存在しているって事は、そこには同時にコーディングスタイルも存在しているってことだ。 その既存のソースコードに手を加える場合、別のコーディングスタイルを導入してはならない。 もし君がバックエンドのソースコードを弄っているなら、バックエンドのコーディングスタイルで記述するんだ。 フ

    米国人からコーディングについての怒りのメールを頂戴した - その手の平は尻もつかめるさ
  • Stack Overflow発 プログラミングの隠語(ジャーゴン)30選

    お馴染みのCoding Horrorでプログラミングの隠語(ジャーゴン)についての記事が話題です。 このエントリの元になったのはStack Overflow上で行われた「あなたが新しく作ったプログラミングのジャーゴンはなんですか?(New programming jargon you coined?)」という質問です。この質問にはなんと386もの回答が寄せられ、その中でStack Overflowのコミュニティの投票で上位になった30のジャーゴンをリストにして解説したのがCoding Horrorの「Coding Horror: New Programming Jargon」という記事です。 下記がコミュニティによって選ばれたジャーゴンのリストです。 1. Yoda Conditions(ヨーダ条件式) 変数とリテラルを比較する際にリテラルを左辺に置く記述。スターウォーズのヨーダが「The

    Stack Overflow発 プログラミングの隠語(ジャーゴン)30選
  • 音を出すプログラムを書く時に参考にしている本とか - 音の鳴るブログ

    Kyoto.pm町家ハッカソンの懇親会のときに id:hitode909 に音を出すプログラムを書くときに参考にしているについて聞かれた。だいたいネットの情報で済ませているのでネットで済ませていると答えたのだけど、屋に行くとすぐにを買ってしまう癖があって、持ってはいるので書きます。下にいくほどプログラムと関係なくなっていきます。ほとんど読んでいないです。適当に列挙してみたら思ったより多かった。 C言語ではじめる音のプログラミング http://www.amazon.co.jp/dp/4274206505 ディレイとかコーラスとかのエフェクター。プログラムが書いてあるので分かりやすい。でもwavファイルを読み込んで加工して書き出すみたいな感じなのでリアルタイムに連続的に入力を加工したいときは工夫が必要。アルゴリズムは低速な感じ。 C/C++によるディジタル信号処理入門 http://

    音を出すプログラムを書く時に参考にしている本とか - 音の鳴るブログ
  • 全プログラマーが知るべきレイテンシー数

    Latency numbers every programmer should know — Gist L1キャッシュ参照 0.5ナノ秒 分岐予測失敗 5ナノ秒 L2キャッシュ参照 7ナノ秒 Mutexのロックとアンロック 25ナノ秒 メインメモリー参照 100ナノ秒 Zippy[Snappy]による1KBの圧縮 3,000ナノ秒 1Gbpsネットワーク越しに2KBを送信 20,000ナノ秒 メモリーから連続した1MBの領域の読み出し 250,000ナノ秒 同一データセンター内におけるラウンドトリップ 500,000ナノ秒 ディスクシーク 10,000,000ナノ秒 ディスクから連続した1MBの領域の読み出し 20,000,000ナノ秒 パケットを、カリフォルニア→オランダ→カリフォルニアと送る 150,000,000ナノ秒 Jeff Dean著(http://research.googl

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • サウンドプログラミング用のJavaScriptライブラリをつくっている - 音の鳴るブログ

    アイデア 例えば Cメジャー のコードは ド ミ ソ で構成される。 和音は加算で書けるので、 ド + ミ + ソ これを、lispよろしくこう記述する。 (+ ド ミ ソ) ドっていうのは、 (sin 523.25) みたいな感じで、523Hzのサイン波 みたいな感じ。位相や振幅も指定できるけど省略している。音色は sin でなくて tri とか saw とかでも良いし、サンプリングした音でも良い。 ピアノみたいな減衰音は、 (adsr 0 1000) こう書くとする。ADSRエンベロープで Attack が 0msec、Decay が 1000msec、Sustain と Release は省略。この場合、1000ミリ秒で減衰する。 振幅はかけ算で書けるので、さっきのコードと合わせて書くと (* (+ ド ミ ソ) (adsr 0 1000)) こう書ける。 詳細に書くなら (* (+

    サウンドプログラミング用のJavaScriptライブラリをつくっている - 音の鳴るブログ
    aklaswad
    aklaswad 2012/05/20
    すばらしい
  • この先生きのこるには

    ちょっとずつ複雑なことをやっていっているのですが、正直まだ自分で作っていくイメージがついていません。 加速と減速=イージングタイムラインパネルのフレーム数がでてるとこの下のスライダーでワークエリアの幅を操作できるグラフエディターというのが存在する。値グラフと速度グラフ。グラフを編集するときに触るのはハンドルだけイージングの速度が早くてコマが見える時はモーションブラーをかける(13:40)モーションブラーは色々ごまかせてしまうので最後につけたほうがいい。処理が重いから最初のほうでつけるとプレビューのときにしんどいとかもある(ただプレビューのときだけオフにするとかもできる)

    この先生きのこるには
  • デザイン、コード、マルチスキルの世界と私たち

    比較は実はナンセンス デザイナーはコードが書けたほうが良いのか? ハイブリッドなのか専門家なのか・・・長く議論されてきているトピックのひとつです。Webデザインの分野でもデザイナーは HTML / CSS / JavaScript くらい出来た方が良いのでは?という意見がありますし、最近では UI デザイナーが Object-C や Java を学んだほうが良いのでは?という意見もあります。 デザイナーがコードの領域に踏み込めるようになることで、インタラクションや画面遷移など、見た目だけでなく細かい動きの制御の設計に直に触れることが可能になります。コードから物事が見れるようになることで、初めて視覚化・具体化できるアイデアもあるでしょう。では、コードも書けるハイブリッドデザイナーのほうが優れているのかといえば、答えは「YES」であり「NO」でもあります。多くの技能をもつということは、何でも屋

    デザイン、コード、マルチスキルの世界と私たち
  • 動かない時計と遅れる時計 - Radium Software

    Photo: Darren Hester Word Aligned - Stop the clock, squash the bug ルイス・キャロル「牧師館の雨傘」(The Rectory Umbrella) より 1年に1回しか正しい時刻を指さない時計と,1日に2回だけ正しい時刻を指す時計,どちらの方がいいでしょう? あなたはこう答えます ― 「間違いなく後者だ」 いいでしょう。それでは,私はふたつの時計を持っています。ひとつはまったく動いていません。もうひとつは1日あたり1分ずつ遅れていきます。あなたはどちらの方がいいでしょうか? あなたはこう答えます ― 「遅れる方だ,疑いなく」 それでは,よく考えてみてください。1日あたり1分遅れる方は,再び正しい時刻になるまで12時間,つまり720分遅れなければなりません。したがって2年に一度しか正しくならないということになります。 それに対し

  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    aklaswad
    aklaswad 2008/10/30
    MTプラグイン書いてたら就職できました。
  • Makefile.PLを書こう

    今日で株式会社ソフリットが設立されて1年です。また「会社を作って1年たったまとめ」を書こうかとも思ったんですが、あんまり面白くならなかったので、今年覚えたことのうちでいちばん重要そうなことをまとめようと思います。それは「Makefile.PLを書こう」ということ。 ではさっそく、これからHoge.pmというperlモジュールを書くとしましょう。 [danjou@guido] $ mkdir Hoge [danjou@guido] $ cd Hoge ここでおもむろにMakefile.PLを書き始めます。 [danjou@guido] $ vim Makefile.PL use inc::Module::Install; WriteAll; とりあえずこれだけ書いて保存します。そしてperl Makefile.PLとして実行します。 [danjou@guido] $ perl Makefil

  • iPhoneタッチ機能、ジェスチャ機能のプログラミング方法 - SitePen | エンタープライズ | マイコミジャーナル

    iPhone 3Gが発表されたことで、日でもiPhoneからWebアプリケーションにアクセスできるようになった。こうなってくるとより優れたユーザエクスペリエンスの実現のために、WebアプリケーションやWebページをiPhone対応にカスタマイズさせたくなる。もっとも重要なポイントのひとつは、これまでマウスイベントとして処理していた内容を指によるタッチイベントに変更することだ。1ポイントを指し示すマウスと異なり、iPhoneのタッチでは2箇所までポインティングが可能で、それらを組み合わせて回転や大小化指示を実施できる。 そこでNeil Roberts氏がSitePenに公開したドキュメントTouching and Gesturing on the iPhoneを紹介したい。同氏は開発と実験を通じてこの新しいイベント処理をわかりやすくまとめている。新しいAPIに対する同氏の困惑も含めて話がま

  • c - *sとs[]の違い : 404 Blog Not Found

    2008年04月04日03:00 カテゴリTips c - *sとs[]の違い これ、結構tricky。 The C Programmming Lanugage K&R 「 *s 」と「 s[] 」の違い - IT戦記 コメント欄にある「K&Rの5.3を読めばわかる」かというと多分わからない。それどころか P. 100 char s[]; and char *s; are equivalent; なんて書いてあるから余計わからなくなると思う。 なのだけど、すっごく簡単な覚え方がある。 答えは sの値を変更できるか 要するに char *s = "pointer"; printf("%s\n", ++s); はOKだけど、 char s[] = "array"; printf("%s\n", ++s); はNGということ。GCCなら error: wrong type argument to

    c - *sとs[]の違い : 404 Blog Not Found
    aklaswad
    aklaswad 2008/04/04
    トラックバックにもあるが、エキスパートCプログラミングに非常にわかりやすく書いてある。読み物としてもとても楽しい本なので是非読むべし。http://www.amazon.co.jp/dp/4756116396
  • リファレンスの循環参照によるメモリリークを Scalar::Util::weaken で解決する - naoyaのはてなダイアリー

    Perl のガベージコレクション(GC)の実装にはリファレンスカウント方式のGCが採用されています。リファレンスカウントというのは、あるデータ構造やオブジェクトがあった際、それらを参照するリファレンスの数を内部で換算して、その数が 0 になったらメモリから実体を破棄するという仕組みです。(JavaRubyなどの他言語のGC方式については 'PerlJavaRuby における GC アルゴリズム' あたりを。) リファレンスカウント式GCは、仕組みがシンプルで分かりやすい利点を持つ反面、相互参照が原因で参照を切ることができずにオブジェクトが解放されず、結果メモリリークを引き起す場合があるという欠点も持っています。 このメモリリークはバッチスクリプトや CGI のように、一度の実行で Perl のプロセスそのものが終了するプログラムではあまり問題になりませんが、デーモンプログラム、あるい