タグ

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

  • OpenDataStructures.jp

    オープンソース版 Open Data Structures 日語訳の PDF ファイルを以下で公開しています。最新のソースコードは GitHub のリポジトリ https://github.com/spinute にあり、適宜こちらの PDF ファイルに反映しています。 以下のものは C++ 版です(Java 版はこちら、疑似コード版はこちらにあります)。 目次 訳者まえがき 書の読み方 訳者謝辞 なぜこのを書いたのか 謝辞 第1章 イントロダクション 効率の必要性 インターフェース 数学的背景 計算モデル 正しさ、時間計算量、空間計算量 コードサンプル データ構造の一覧 ディスカッションと練習問題 第2章 配列を使ったリスト ArrayStack:配列を使った高速なスタック操作 FastArrayStack:最適化された ArrayStack ArrayQueue:配列を使ったキュ

    OpenDataStructures.jp
  • コードレビューのベストプラクティス | POSTD

    Wiredrive では、私たちはかなりの数のコードレビューを行います。しかし、ここで働き始める前には私はコードレビューなどしたことがありませんでした。今回は、私がコードレビューをする時に何に注目するようにしているかや、私の考え出したベストなコードレビューのやり方をお話したいと思います。 コードレビューとは、簡単に言うと2人以上の開発者で問題を引き起こしそうなコードの修正について話し合うことです。コードレビューをすることのメリットについては多くの記事で語られており、知識を共有できること、コードのクオリティが上がること、開発者が成長できることなどが挙げられています。しかし、レビューを行う上で、どのように進めていくかという具体的なことについてはあまり多く語られてないように私は思いました。 レビューで何に注目するか アーキテクチャ/デザイン 単一責任原則 : 1つのクラスは変更する理由が2つ以上

    コードレビューのベストプラクティス | POSTD
  • ディープラーニングの有名ライブラリ5種を最短距離で試す半日コース(TensorFlow, Chainer, Caffe, DeepDream, 画風変換) - その後のその後

    「いつか勉強しよう」と人工知能機械学習/ディープラーニング(Deep Learning)といったトピックの記事の見つけてはアーカイブしてきたものの、結局2015年は何一つやらずに終わってしまったので、とにかく一歩でも足を踏み出すべく、質的な理解等はさておき、とにかく試してみるということをやってみました。 試したのは、TensorFlow、Chainer、Caffe といった機械学習およびディープラーニングの代表的なライブラリ/フレームワーク3種と、2015年に話題になったディープラーニングを利用したアプリケーション2種(DeepDream、chainer-gogh)。 (DeepDreamで試した結果画像) タイトルに半日と書きましたが、たとえばTensorFlowは環境構築だけなら10分もあれば終わるでしょうし、Chainerなんてコマンド一発なので5秒くらいです。Caffeは僕はハ

    ディープラーニングの有名ライブラリ5種を最短距離で試す半日コース(TensorFlow, Chainer, Caffe, DeepDream, 画風変換) - その後のその後
  • Ask Slashdot: What's the Harm In a Default Setting For Div By Zero? - Slashdot

    Posted by timothy on Thursday June 18, 2015 @05:03PM from the as-long-as-it's-a-big-zero dept. New submitter CodeInspired writes: After 20 years of programming, I've decided I'm tired of checking for div by zero. Would there be any serious harm in allowing a system wide setting that said div by zero simply equals zero? Maybe it exists already, not sure. But I run into it all the time in every lang

    twisted0517
    twisted0517 2015/06/22
    数学的に正しいかどうかとプログラム言語として扱いやすいかどうかは別で考えたいところだなぁ
  • プログラミングという名の地獄

    「よ~Bro、おまえはラクでいいなあ。俺なんか週4700時間労働でモルドール(LORの闇の国)にねじ回し1でトンネル掘ってきたとこだぜ~」 ラップトップより重いもの週2回以上持ち上げる肉体労働に就いた友だちはみなこう言って羨ましがる。 言ってることは正しい。モルドールは嫌だ。そりゃキーボード指で叩くよりトンネル掘る方が肉体的には辛いよね、蟻ん子じゃないんだから。でもそれ言うなら自分だってストレス、狂った現場って意味じゃ決して負けてないと思うのだ。 ウェルカム・トゥ・プログラミング。 プログラミング・チームはどこもクレイジーな人々がつくったクレイジーな人々の集まりである エンジニア・チームに入る自分を想像してみて欲しい。期待に胸膨らませて、頭にはアイディアが次から次へと湧いてくる新人君だ。たぶん大学も出たばかりで、世界はクリーンで美しいデザインで成り立ってると思ってる。目的、経済、力、すべ

    twisted0517
    twisted0517 2014/06/30
    「TODO: FIX THIS IT'S A REALLY DANGEROUS HACK BUT I DON'T KNOW WHAT'S WRONG(やるべきこと:この危険極まりないハックを直せ。原因は全くわからんが)」
  • ある中級プログラマの告白 | POSTD

    私は中級レベルのプログラマです。 基を理解するのは得意です。過去の失敗をきちんと分析できるくらい経験を重ねていますし、もっと知るべきことは山ほどあることも分かっています。 特筆すべきは、自分で身につけるべきことを知ったうえで、それを吸収しようと積極的かつ精力的に取り組んでいる点でしょう。 プログラマとしての能力は平均的なものに過ぎないと、心から納得するまで時間がかかりました。今では、よく理解できないままに誰かの意見を受け売りする必要など感じていません。知らないことがあっても、それを他人に悟られるのは怖くありません。 でも以前は違いました。信じられないかもしれませんが、私はかつてプログラミングの達人だったのです。 自分の能力を誤って評価していたのは、比較的孤独な環境でスキルを学んだためでしょう。当時はコンピュータを持っていることさえ、ちょっと特別なことでした。使い方を知っているとなれば、な

    ある中級プログラマの告白 | POSTD
  • プログラミング環境としてのExcel

    萩谷先生の「Excel でプログラムを書く」という原稿が話題に挙がっていたので、僕の知る範囲で、研究の文脈をちょっとご紹介します。 プログラミング環境としての Excel という考え方は、文字列ベースの開発環境に慣れた人にはちょっと頓狂に聞こえるかもしれませんが、Microsoft Research Cambridge のSimon P. Jones 氏 (2003-2004 年あたりに関連研究)など、MS の中の人もかなり自覚的に極めようとしてきた節があります。最近の例だと、Excel 2013 から導入されたFlashFillという機能もプログラミング言語の研究が背景にあります。 Excel に限らず、関数をサポートするスプレッドシートは関数型プログラミングを可能にするデータフロー言語の一種です。データフロー言語というと、ノード間の依存関係が有向辺で結ばれた Visual Progra

  • neue cc - HttpClient詳解、或いはAsyncOAuthのアップデートについて

    すっかり忘れていたわけではないですが、ちょっとかなり前、3/30のRoom metro #15にて、HttpClient詳解という、HttpClientについてのセッションを行いました。 HttpClientは、使えば使うほど、もうWebRequestやWebClientに戻りたくないわー、という非常に秀逸な、完全にこれからのスタンダードになる代物なので、きっちり習得しましょう。 或いは非同期の落とし穴について、ということで、async/awaitでも顕在の、いや、async/awaitだからこそ現れるデッドロックの問題と回避方法についても紹介しています。はまる時ははまっちゃうんですよねー、これ、何気に地味に実は。それなりに痛い目みました、私も。 PCL版のRC HttpClientは現在.NET 4.5とWindows Store Appsのほうに標準搭載されていますが、それ以外でも使う

  • かつて、私の隣にSQLの魔女がいた

    今日プロジェクトの打ち上げがあったのだが、とあるサプライズ……三ヶ月前に寿退社した先輩との再会に思わず涙ぐんでしまい、ひどくばつが悪い思いをしている。今も顔の火照りが抜けてくれない。アルコールは抜けたのに。彼女はかつてSQLの魔女と呼ばれていた。 今から遡ること一年前、私は辞令を貰い、二年目にして事業部ごと変わるという波乱をようやく乗り切って、業務系のSEの仕事内容、特にWebのアプリレイヤーについてOJT形式で学んでいた。そこで先生にあたる方として付いたのが、ちょうど手待ちだった先輩である。初めてお会いした時の先輩に対し、私は正直ちょっと物足りなく感じていた。 初日に行ったPCのセッティングでは、これやってと先輩から資料を渡されたのだが、外部にネットが繋がらない。先輩に相談して弄ってもらったのだけど繋がらず、今日は社内ネットで我慢して、と言われてから二日後、資料が古かったことが判明。 与

    かつて、私の隣にSQLの魔女がいた
    twisted0517
    twisted0517 2013/05/19
    いい師匠とのめぐり合わせって運だよなぁ
  • ★★★★★★★★★★簡単なゲームを作ってJavaScriptを学べる

    簡単なゲームを作ってJavaScriptを学べるWebサービス 戦車を例題通りに動かしたりHelloWorldを例題通りに動かしたりと ブラウザ内で全て学習出来ます 説明などは英語ですが、これからJavaScriptを学ぶ方は 程よい英語力も付くかと思いますよ JS Dares リンク先はこちらから まずはHello Worldから手始めにやってみるのが 良いと思います 左側に説明と問題がありますので 右側の入力部分に記述していきます HelloWorldの正解はこの様になっています 120ポイントもらえました!! 問題は少しずつ難しくなっていきます 間違うと左側の様に赤くなるのでチェックしながら 学習出来ます 戦車を動かす簡単なゲームもありますので JavaScriptがどんな物か、概要を知る事は出来ると思います

    ★★★★★★★★★★簡単なゲームを作ってJavaScriptを学べる
    twisted0517
    twisted0517 2013/05/01
    これすげー面白いな
  • nabokov7; rehash : key-value store に特化したWAFとか、key-value store のみでランキングを効率よく管理する方法とか

    November 15, 200912:12 カテゴリプログラミングネタ key-value store に特化したWAFとか、key-value store のみでランキングを効率よく管理する方法とか 同僚が新しい WAF(Webアプリケーションフレームワーク) を作っていて、その中で使うデータクラスの O/Rマッパーを何にするかで迷っているようだったので、こう叫んでおいた (心の中で)。 O/Rマッパーなど、SQLもまともに扱えない軟弱者があみだした不格好な補助輪にすぎない ! Webアプリケーションが重い理由の8割はO/Rマッパーのせいだ ! 漢なら SQL 直書きが当たり前 ! そうでなければ時代の流れに沿って key-value store 専用に設計すべき ! まあそんなこと言っても、現実には作業効率とか考えたら使うけどね、O/Rマッパー。 そんなことより、key-value

    twisted0517
    twisted0517 2013/04/06
    面白い / 「これってRDBのインデックスを自前で実装してるのと変わらんよね」www
  • プログラミング言語を彼女に例えた文が的確すぎると話題に:ハムスター速報

    プログラミング言語を彼女に例えた文が的確すぎると話題に Tweet カテゴリ☆☆☆☆☆ 0 :ハムスター2ちゃんねる 2013年3月14日 15:00 ID:hamusoku 質問:メジャーなプログラミング言語とそれらの役割を、素人でも分かるように教えてください。 PHP は、あなたが高校時代のある夏、不器用ながらも付き合った初めての彼女です。もっと真剣な関係を築こうとしてはいけません。この子は複雑な問題を抱えています。 PerlPHPのお姉さんです。あなたからしたらちょっと年上かもしれませんが、90年代は人気者として鳴らしていました。Larry Wall と長い間付き合っているので、今は理想も低くなったし、かなりのブッサイクになりました。彼は「お前らが何を言おうと知らん、俺は彼女を愛している!」と言います。そんな人は彼だけです。 Ruby はスクリプティングファミリーの中でも

    twisted0517
    twisted0517 2013/03/19
    >>5「おう、basicとかいうのが無いぞ 学校で無理矢理ヤらされたんだが」老衰で死んだ
  • なぜ国内でPerlが急速に萎んだのか

    2005年 Railsの襲来2005年に突如現れたRailsによって国内でRuby利用者が急増したのがPerl滅亡への第一歩となった。書きやすさに作者がとことんこだわって作られたRubyの魅力を一度知ってしまうとPerlの古くさく読み辛く書き辛い文法に誰もがうんざりし始める。 2007年 JavaScriptブームAjaxで再発見されたJavaScriptのブームもPerl終焉に若干ながら貢献している。ブラウザというPerlが全く手を出せないジャンルの王者JavaScriptの持つ華やかさに誰もが憧れ、そして手元のPerlの古くささに反吐が出始める。不器用で不細工なところも含めて愛していた女房とつつましく送っていた人生に、突然ぴちぴちのボイン女子大生が転がり込んで来たようなものである。 スマホ/ソーシャルゲームバブルiPhone市場が格的に立ち上がり、Perlとは全くの無関係であるスマホ

    なぜ国内でPerlが急速に萎んだのか
  • 3、40年前からCOBOLのシステムを支えて来た技術者が数年内に続々引退、コボラーの需要が急上昇へ|ピカピカニュース2ch

    3、40年前からCOBOLのシステムを支えて来た技術者が数年内に続々引退、コボラーの需要が急上昇へ 2013年02月17日10時30分  カテゴリ: コメント数(1) Tweet 1: ユキヒョウ(福岡県) 2013/02/16(土) 21:51:47.32 ID:4fNr5IVt0 BE:4821811889-PLT(12001) ポイント特典 1980年代には「COBOLは衰退するので、ほかのプログラミング言語に移行しなければならない」 などと言われた。実際に1970~1990年代に書かれた細かなCOBOLプログラムのほとんどは新しい システムと新しい技術に置き換えられている。しかし、銀行、保険会社、製造業、小売チェーン、 医療機関といった大企業のミッションクリティカルなシステムは依然として大昔にCOBOLで書かれた コードによって運営されている。多くの企業はこれらのシステムを何度も入

    twisted0517
    twisted0517 2013/02/19
    >>63 「書いたプログラムが理解できないから問題なんだよ 負の遺産ってやつさ。どう見ても意味の無いコードとかが平気で今も使われてる」ほんとこれ。言語明瞭意味不明の極地みたいなコードが山ほど
  • Loading...

  • 同期・非同期処理に関するアーキテクチャ - プログラマの思索

    同期・非同期処理に関するアーキテクチャで良い記事があったのでメモ。 【元ネタ】 ITシステムで見られるシーケンス データベースコンサルタントのノウハウちょい見せ ダメな設計は、シーケンスが階段状ではなく、一つのオブジェクトに全ての処理を任せる「責任が肥大化したオブジェクト」がある。 特に初心者が、設計を考えずにいきなりプログラムを書いたり、システムを作ってしまう場合によく見られる。 この設計では、スパゲティコードになりやすく、一つのプログラムが千行を超えて保守しにくかったり、スケールアップや性能要件で壁にぶつかる時が多いだろう。 Webシステムは基は、上記記事の「三角形」シーケンスに相当する。 メッセージを階段の図のように渡して、処理の結果を受け取るイメージ。 オブジェクト指向の権限移譲では、この設計手法がよく使われる。 MVC2モデルと呼ばれるように、Webシステムはオブジェクト指向と

    同期・非同期処理に関するアーキテクチャ - プログラマの思索
  • ITシステムで見られるシーケンス データベースコンサルタントのノウハウちょい見せ

    各種インフラ技術(OS、ストレージ、ネットワーク)やオラクル製品といった話題を取り上げます。著者は小田圭二、「門外不出のOracle現場ワザ」、「絵で見てわかるOracleの仕組み」、「絵で見てわかるOS/ストレージ/ネットワーク」などの著作もあります 今回は、ITシステムで見られるシーケンスの紹介です。 「オンラインゲームを支える技術」で紹介されていた3つのシーケンスは、ITシステムでもよく見られます。まずはこれを載せます。 投げっぱなしのシーケンスは、応答待ちしなくて済むので、楽です。ただし、きちんと処理が終わったか把握することはできません。 三角形は、リクエストに対しての応答の形(例:Webページのリクエストに対するWebページの送信)となるため、イメージしやすいかと思います。処理が完了したかどうかも把握できます。 ぎざぎざは、三角形の変形のため、割愛します。 ●中継方式のシーケンス

  • リアルなWindows風ツリービューが実装できるjQueryプラグイン「dynatree」:phpspot開発日誌

    dynatree - Dynatree is a JavaScript dynamic tree view plugin for jQuery with support for persistence, keyboard, checkboxes, drag'n'drop, and lazy loading. - Google Project Hosting リアルなWindows風ツリービューが実装できるjQueryプラグイン「dynatree」。 次のようにまるでWindowsのインタフェースじゃないか、といってしまう人が多数なツリービューが実装できます。 Ajaxによる動的ローディングやコンテキストメニュー、ツリービュー横のチェックボックス等、機能はそろっています。 また、ドラッグ&ドロップでアイテムを移動できるあたりも素晴らしいところです 何かと便利なUIなので、実装する際には1つの

  • PSR-0, 1, 2を日本語に翻訳してみました|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

    PSR-0, 1, 2を日語に翻訳してみました はじめまして。onoと申します。 このたび唐突にPHP-FIGのPSR内容を日語に翻訳してみました。 1. PSRとは 一言で表すと、PHPの標準コーディング規約です。 それならもう色々あるよねってお話なんですが、 PHP-FIG(PHP Framework Interop Group)というグループには各フレームワークだったりライブラリだったりの関係者が参加しています。 SymfonyだったりZFだったりPEARだったり。 そんな豪勢なメンバーが共通点を見つけながら、ルールを組み立てていきましょう!という背景のもと、共通内容を整理した規約集がPSRということになります。 1-1. 公開します 今回PSR翻訳してみましたが、様々なツッコミを恐れずに公開することにします。 PSR-0 – オートローディング規約(原文) PSR-1 – 基

    PSR-0, 1, 2を日本語に翻訳してみました|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
  • 新標準PSRに学ぶきれいなPHP

    今風のPHPコードを書くのに役立つ規約、PSRを見てみよう. 動画などはこちら http://blog.candycane.jp/archives/1614

    新標準PSRに学ぶきれいなPHP