タグ

programmingに関するkitsのブックマーク (241)

  • アメリカ人のNullさん、名前のせいでウェブサイトに登録できない事案が発生

    アメリカ人のNullさん、名前のせいでウェブサイトに登録できない事案が発生2016.03.30 16:3528,975 渡邊徹則 だから名だって言ってるのに! アメリカはバージニア州に住む、一人の女性。旅行サイトでチケットの予約を試みたところ、何度やってもエラーになってしまうそう。そのエラーは決まって「お名前は必須項目です」というものなんです。 でも、毎回きちんと入力しているんですよ。「Jennifer Null」と。 Jennifer Nullさんが航空券を予約しようとすると、ほとんどのサイトでエラーとなってしまいます。彼女は仕方なく電話で予約をし、それは何の問題もなく完了したそうです。 そこで彼女は「なぜ私はサイトが使えないのですか?」と聞いたところ、「申し訳ございません。しかし、どうしようもありません」という回答しかもらえなかったとのこと。 実は「null」というのは、コンピュータ

    アメリカ人のNullさん、名前のせいでウェブサイトに登録できない事案が発生
    kits
    kits 2016/04/01
    なるほど。
  • 【76】コンピュータ将棋ソフト開発者になってわかったこと:守銭奴エンジニアが考えていること:エンジニアライフ

    こんにちは手塚規雄です。 第3回電王トーナメントに参加してきました。28チーム参加での22位で3勝5敗という成績でしたが、応募当時から思えば良い意味で信じられない結果に終わりました。半年前に電王戦をネタにコラムに取り上げた時には自分が開発することを想像していませんでしたし、応募も締め切り直前でした。そのために2ヶ月という短期間での開発と結果的になってしまったのです。 そもそも2ヶ月で将棋ソフトは作れるのか? とりあえず動くだけで良ければ作れますが、自分が思った通り作るには時間がたりませんでした。ではなぜ動かすだけなら簡単なのか? これは有名な「Bonanza」をはじめ多くの将棋ソフトが公開されています。特に今年の「Apery」の公開が一番大きな影響だったと思います。俗に言われるAperyチルドレンが今回の大会でも参加されていました。Aperyは比較的にソースコードが読みやすくという特徴もあ

    【76】コンピュータ将棋ソフト開発者になってわかったこと:守銭奴エンジニアが考えていること:エンジニアライフ
  • 本当に実用的なたったひとつのソートアルゴリズム - CARTA TECH BLOG

    コンテンツメディア事業部の新卒エンジニアがお送りいたします。 突然ですが、皆さんの好きなソートアルゴリズムはなんですか? 私は基数ソートのスマートでストイックな雰囲気に惹かれます。 とはいえ、普段の開発では「どのソートアルゴリズムを使うか」を意識することは少ないのではないでしょうか。 むしろ現実世界で「トランプが全部揃ってるか」を手作業で確認するときとかのほうが、実はソートアルゴリズムが必要なのかもしれません。 ということで(?)、そのような現実的な場面で、当に実用的なソートアルゴリズムを決める戦いが始まりました。 選手紹介 今回試したソートアルゴリズムは、独断と偏見で選んだ以下の5種類。 1 挿入ソート シンプル・イズ・ベスト!正直言ってベンチマークの噛ませ犬! 2 クイックソート 「クイック」の名前はダテじゃない!王者の貫禄を見せてやれ! 3 マージソート 安定感のある隠れた実

    本当に実用的なたったひとつのソートアルゴリズム - CARTA TECH BLOG
  • 「特異メソッド」は誤訳か - Qiita

    注意 この記事は当初,「Ruby の用語として,singular method を特異メソッドと訳したのは妥当でなかったのでは」というモチーフのもとに書いたものですが,コメントのやりとりを見ていただくと分かるように,英語を和訳したのではなく,日語の「特異メソッド」が先にあったようです。従って「誤訳か」という記事名は適切ではありませんでした。(2016年10月20日付記) ソフトウエア工学とやらを学んだこともなく,プログラミング用語に詳しいわけでもなく,英語が得意でもないので,的外れなことを書いているかもしれません。乞うご批判。 ほかのプログラミング言語でどうなのかは知らないので,Ruby だけを考えます。 追記(2021 年 8 月 4 日) 記事では Ruby における「特異メソッド」の英語として一貫して「singular method」を採っていますが,どうやら圧倒的に「singl

    「特異メソッド」は誤訳か - Qiita
    kits
    kits 2015/06/10
    コメントにて「日本語が先」との指摘あり。
  • レビューポエム “関数型プログラミングに目覚めた! IQ145の女子高校生の先輩から受けた特訓5日間” を読んで

    レビューポエム “関数型プログラミングに目覚めた! IQ145の女子高校生の先輩から受けた特訓5日間” を読んで 大阪天満橋のジュンク堂書店で購入しました。当は立ち読みですませる気だったんですが、買わないでレビューはフェアではないかなと思い……今は後悔しています。 僕はプログラミングをしてご飯をべていますが、関数型プログラミングの領分はまったく未経験です。 関数型の説明が適切かどうかの判断についてはできません。その上で、なぜ評価を低くしたのか、技術書的な側面とラノベ的な側面について分けて記述していきます。 技術書としてまず、最初の「人物紹介」に記載されている、書を通じての指南役である「サクラ」の説明に”プログラミング・スキルは、『神の目』と呼ばれる全能レベルにまで到達していると噂されるが、サクラのコードを読み解ける部員がいないため、真相は不明である”と記載があります。 他の人が読み解

  • if式 / if文 の条件節で、左辺に定数を書くべき言語はあるか? @ajiyoshi.gist

    gistfile1.md if式 / if文 の条件節で、左辺に定数を書くべき言語はあるか? @ajiyoshi.gist twitterからながれてきたこの話題。昔のCコンパイラは、if文の条件節で代入を書いても文句を言わなかったので、このようなコードに何の警告も出なかった。 #include<stdio.h> int main() { int x = 0; /* おそらく意図と違う。 x == 1 と書くべきであった これでは常に実行されてしまう */ if ( x = 1 ) { puts("残念"); } } 「これをこのように書けば、コンパイルエラーになり、ある種の誤りをコンパイラに見つけさせることができる」というのが、「老害」とされる人の主張である。 /* これはコンパイルエラーになる */ if ( 1 = x ) { puts("残念"); } もし使っている環境が「コンパ

    if式 / if文 の条件節で、左辺に定数を書くべき言語はあるか? @ajiyoshi.gist
    kits
    kits 2014/12/09
    「もし間違っても警告が出ます。警告を無視するのやめましょう」
  • [翻訳]なんでGoってみんなに嫌われてるの? - Qiita

    原文:http://npf.io/2014/10/why-everyone-hates-go/ 酔っぱらった勢いで訳出してるので、違ってたら修正リクエストください。 訳者の1行でわかるサマリ それって、Goのシンプルな言語哲学が、ML系言語好きのアイデンティティを挑発しちゃってるからじゃないの? なんでGoってみんなに嫌われてるの? いや、実際みんなって訳じゃないんだろうけど。最近、なんてGoをみんなそんなに批判的なのかって言うquoraの質問が出たもんで。(わるい、普段はquoraへのリンクを張らないんだけど、それがこの記事のきっかけだからね。)この質問への回答を見るまえにもう、僕には、次みたいなことが書かれていることがわかってた: Goは70年代に立ち往生した言語だ Goは40年間に及ぶプログラミング言語研究の成果を無視してる Goはブルーカラーの凡夫のための言語だ Go使いはJava

    [翻訳]なんでGoってみんなに嫌われてるの? - Qiita
    kits
    kits 2014/10/17
    「他の人がGoに夢中になると尊厳を傷つけられているように感じるからだ」
  • http://www.gembook.org/ages_of_python2.html

  • YAPC::Asia で「ウェブエンジニアのローレベルプログラミング」という発表をしました - 氾濫原

    ちょっと時間に対して話したいことが多すぎて、各分野での掘り下げが足りなかったとは思いますが、一通り下のほうまで盛りこみました。 電子工学について:自分は学校で電子工学を体系的に学んだことはありません。 YAPC 会期中はそこらへん歩いてます。

    YAPC::Asia で「ウェブエンジニアのローレベルプログラミング」という発表をしました - 氾濫原
  • JavaScript初級者から中級者になろう — uhyohyo.net

    このページの最終更新日:2019年7月4日 JavaScript。主にWebページを作るのに使われるほか、現在ではさまざまなところで活躍しているプログラミング言語です。 このページはJavaScriptの中級講座です。最新鋭ではないかもしれませんが、読み進めれば大抵のものを自分で作れるようになることでしょう。 言い訳とJavaScript歴史 / 問い合わせ 最近の更新2017/10/05 全ページを手直ししました。十六章第六回を追加。2017/11/9 十六章第二十一回・十六章第二十二回を追加。2017/12/2 十七章第三回・十七章第四回を追加。2017/12/3 十七章第五回・十七章第六回・十七章第七回を追加。概要コンテンツは第一篇と第二篇に分かれています。 JavaScriptは昔からWebページに動きを与えるものとして用いられてきましたが、第一篇ではそのような、昔からあるJav

    JavaScript初級者から中級者になろう — uhyohyo.net
  • 歌舞伎座.tech#4「コンピュータ将棋プログラミング」 (2014/06/21 18:30〜)

    新機能 技術カンファレンスをより見つけやすく、参加しやすくするための新機能「カンファレンス特集ページ」をリリースしました。「技術」や「テーマ」などのトピック別に探せるほか、直近開催予定のカンファレンスが一覧で確認できますのでご活用ください。詳しい機能説明や掲載方法についてはこちらをご確認ください。

    歌舞伎座.tech#4「コンピュータ将棋プログラミング」 (2014/06/21 18:30〜)
    kits
    kits 2014/06/03
    6/21 19:00 より。「ニコ生による配信を行います」
  • (情報系の)大学の学生はとても貴重な経験をしていることに気づかず、情報系でないプログラマー(僕)は情報系の学問的知識を、いつか求めるということ - nobkzのブログ

    どもです、nobkzです。昔からずっと考えていることを、うだうだ書きます。 「Prologなんて何でやるんだ!!!」 とある情報系の学生のつぶやきでした。僕は衝撃を受けました。 情報系の人間じゃない僕 ぼくは、福岡のIT系の勉強会に足をよく運び、また主催として開催したりしています。Technical RockstarsにCTOとして就任し、FLOWer言語をTechnical Rockstarsで開発しています。そしていまでは近日中に公開予定のBaaSを開発中であって、LispやHaskell、Prologなどを書いてたりしています。一日中プログラミングの事を考えて生活しています。 そのせいか、他人にはどうも僕が完全に情報系の人間の様に見られるようです。そして、大学では情報系の学部なんだろうと、小さいころからやって来たのだろうと。 しかし、実際は違うのです。僕は九州大学芸術工学部音響設計学

    (情報系の)大学の学生はとても貴重な経験をしていることに気づかず、情報系でないプログラマー(僕)は情報系の学問的知識を、いつか求めるということ - nobkzのブログ
    kits
    kits 2014/04/13
    「プログラミングの根底になる哲学の意義を感じるまで、プログラミングの実践が足りてないのです」
  • teacup. byGMO サービス終了のお知らせ|GMO MEDIA

    teacup. byGMO サービス終了のお知らせ teacup. byGMOは、2022年8月1日をもちまして、サービスを終了いたしました。 これまでteacup. byGMOをご愛顧いただき、誠にありがとうございました。心より感謝申し上げます。 今後とも、GMOメディア株式会社のサービスをよろしくお願いいたします。 2022年8月1日

    teacup. byGMO サービス終了のお知らせ|GMO MEDIA
    kits
    kits 2014/04/01
    「タグ: エイプリルフール」
  • アセンブリ (arm-linux-eabi) で富豪的にCGIブログ (blosxom) を作る。 - 氾濫原

    前文 たとえ全く使ったことがない言語であっても、それがスクリプト言語であれば1日もかからない内容をアセンブリ言語で実装するということは、時間リソースを大変富豪的に使うプログラミングである。 レポジトリ https://github.com/cho45/blosxasm-arm-linux-eabi 仕様 あまり仕様が多いとつらいので絞りに絞り以下だけ実装することにした インデックスでのリスト表示 パーマリンクページ表示 制限事項など たどるディレクトリは1階層だけに制限 エントリファイルサイズには制限はない テンプレートファイルサイズは4KBまで ファイル数に制限はない テンプレートはhtml 1種類のみ (flavour 機能はない) プラグイン機能もない 設計 せっかくなので覚えたことを使おうと以下のようにしてある。大変メモリとシステムコールを富豪的に使う エントリのファイル名などを持

    アセンブリ (arm-linux-eabi) で富豪的にCGIブログ (blosxom) を作る。 - 氾濫原
  • 電王戦,なんで勝てたんですか?――「ゲーマーはもっと経営者を目指すべき!」第15回は,「BM98」を開発した伝説的なプログラマー・やねうらお氏がゲスト

    電王戦,なんで勝てたんですか?――「ゲーマーはもっと経営者を目指すべき!」第15回は,「BM98」を開発した伝説的なプログラマー・やねうらお氏がゲスト 副編集長:TAITAI カメラマン:佐々木秀二 123→ 連載第15回めとなる,ドワンゴ・川上量生氏との対談企画「ゲーマーはもっと経営者を目指すべき!」。今回は,1990年代後半にネット上で一大ブームとなった「BM98」の開発者として知られ,最近では,ドワンゴが主催するコンピューター将棋大会「将棋電王トーナメント」(以下,電王トーナメント)でめざましい活躍を見せる,プログラマーのやねうらお氏がゲストです。 5歳からプログラミングを始め,学生時代はゲームの解析を趣味としていたというやねうらお氏ですが,そんな氏が「BM98」の開発に至った経緯,あるいは電王トーナメントへの参加を決めたいきさつなど,さまざまなことについて語ってもらいました。また,

    電王戦,なんで勝てたんですか?――「ゲーマーはもっと経営者を目指すべき!」第15回は,「BM98」を開発した伝説的なプログラマー・やねうらお氏がゲスト
    kits
    kits 2013/12/24
    いろいろすごいな。
  • プログラミング言語における正規表現リテラルの必要性について

    Twitterに書いたことのまとめです。 プログラミング言語の仕様の一部として正規表現リテラルを提供することの得失について、JavaScriptを例に説明します。 ■より簡潔なコード 言うまでもありませんが、正規表現リテラルを使った方が簡潔なコードになります。 (new RegExp("abc")).exec(s) // リテラルを使わない場合 /abc/.exec(s) // リテラルを使った場合 また、正規表現リテラルがない場合は、文字列リテラルとしてのエスケープと正規表現としてのエスケープが二重に必要になる結果、コードの保守性が低下します注1。 new RegExp("\\\\n"); // リテラルを使わない場合 /\\n/ // リテラルを使った場合 ■エラー検出タイミング 正規表現リテラルがない場合、実際にその正規表現が評価されるまで記述エラーを検出することができません。正規表

    kits
    kits 2013/12/18
    コードが簡潔、コンパイル時にエラー
  • 正規表現が構文として必要かどうかという話から

    FUJI Goro @__gfx__ dartVMはほんとに速くなったし、標準化はほんとに期待してる。あと正規表現さえ構文に組み込まれればサーバーサイドでも使えますよこれは。 2013-12-15 22:04:54 methane @methane @__gfx__ なんでサーバーサイドで使うのに正規表現が構文で必要なんですか…? PythonGo も正規表現構文無いけど不自由感じないし、むしろリテラルあるとシンプルな文字列操作で良い場面で正規表現を使う悪習が広まるので良くないと思うのですが。 2013-12-15 22:43:35

    正規表現が構文として必要かどうかという話から
  • 私が考える安全なプログラムを書くために必要なこと

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    私が考える安全なプログラムを書くために必要なこと
    kits
    kits 2013/12/13
    「入力値検証をしないと危険になる/特定文字列のエスケープをしないと危険になる、と教えることは、時に害悪であると思う」
  • 要素リストをループで回して addEventListener するみたいな、よくあるサンプルを断罪してみる - hogehoge @teramako

    function setButtonHandler () { var buttons = document.querySelectorAll(".hogeButton"); for (var i = 0, len = buttons.length; i < len; ++i) { (function(n) { buttons[i].addEventListener("click", function() { alert(n); }); }(i)); } } って感じのコードってあるじゃないですか。JavaScript で陥りがちな落とし穴を解決するみたいな感じで。 でも、これって当は良いコードじゃないよね。 (function(n) {.... }(i)) が格好わるいっていうか、毎回即時関数実行かよっていうね click のハンドラーも同じコードなのにループ数分生成しちゃってるよねー

    要素リストをループで回して addEventListener するみたいな、よくあるサンプルを断罪してみる - hogehoge @teramako
  • 呼ばれていないけど、私もコードゴルフしてみました: Days on the Moon

    集え変態プログラマ!JavaScriptの最短コードに挑んだコードゴルフ大会 in Code 2013 | DX.univ 呼ばれてないけど、ボクもコードゴルフしてみたよ - latest log Code 2013 というイベントで出されたというコードゴルフのお題「JavaScript でデジタル時計」を見ているうちに、自分でもやりたくなったので挑戦してみました。 基方針 出力が複数行にわたるなら 1 行ずつ処理していくのが素直な手ですが、このお題においてはそれだとひとつの文字に対する処理が細切れになってしまいます。 そこで、ある文字の出力処理をまとめてやってしまいましょう。行ごとにではなく列ごとに処理を進めていくのです。 20 分 方針が決まれば早速コーディング。以前、渋谷から 10 分のゴルフ場で似たようなお題「banner」に取り組んだときは三十六進数表記を使いましたが、とりあえ