タグ

programmingに関するk1LoWのブックマーク (32)

  • 言語処理100本ノック 2015

    言語処理100ノックは,実践的な課題に取り組みながら,プログラミング,データ分析,研究のスキルを楽しく習得することを目指した問題集です 実用的でワクワクするような題材を厳選しました 言語処理に加えて,統計や機械学習などの周辺分野にも親しめます 研究やデータ分析の進め方,作法,スキルを修得できます 問題を解くのに必要なデータ・コーパスを配布しています 言語はPythonを想定していますが,他の言語にも対応しています

  • プログラマの為の数学勉強会

    2013年 プログラマの為の数学勉強会 資料 第1回:イントロダクション 第2回:浮動小数点数・極限・微分 第3回:微分法の応用・多変数関数の微分法 第4回:微分法の応用(続き)・方程式の数値解法 第5回:微分方程式の数値解法・積分法 第6回:数値積分法・積分法の応用 第7回:行列・ベクトル・ガウス消去法 第8回:行列式・逆行列・連立一次方程式の直接解法 第9回:線型空間・線型写像・固有値固有ベクトル(その1) 第10回:線型変換・固有値固有ベクトル(その2)・内積空間 第11回:連立一次方程式の反復解法・二次形式・多変数関数の極値・重積分 第12回:確率論入門 第13回:情報量・エントロピー・重要な確率分布・大数の法則・中心極限定理 第14回:擬似乱数の生成法・推定 第15回:検定 第16回:検定の続き, 回帰分析 第17回:回帰分析の続き 第18回:ベイズ統計

  • JavaScript イディオム集

    JavaScriptでは、初見の人にはさっぱりわからないけれども、ある程度慣れた人は当たり前に使うイディオムが結構たくさんあります。知ってしまえば何てことはないので、私の知っている限りのイディオムとその意味を解説します。 (7/3追記: twitter等で教えていただいた内容を追加しました) +v (数値化) var v = "123"; console.log(+v + 100) // 223 console.log(v + 100) // 123100 vを数値化する方法では最もメジャーです。parseFloat(v) に比べて高速なのに加えて、parseFloatとは細かい挙動が異なります(例えば空文字列の場合、parseFloatならば NaN になりますが、 +v の場合はゼロになります)。必ず数値になることが保証されており、文字列などで数値化出来ない場合はNaNが返ります。 v

  • 技術的負債を管理する

    日付2013-5-18(Sat) 書いた人おかざわ (id:yujiorama) 書いた理由技術的負債はいつ読んでも面白いんだけどそろそろ普通に向き合いたくなったので。 技術的負債を管理する 技術的負債は悪いものとみなされている。避けるべきものであり、できるだけ早く支払うべきものなのだ。 あなたもそう思うだろうか?私たちはそうは思わない。最初に技術的負債と財政的負債を比較して、戦略の設計とステークホルダーにおける類似点について驚くべき点があることを説明する。それからコード中の技術的負債を識別するための様々な可能性について一覧にする。それらはきっとあなたが対処しなければならないものだ。 最後にプロジェクト技術的負債を返済するために取りうるいろんなやり方について述べる。あなたが返済したほうがよいのか、負債を変換するほうがよいのか、ただ注意を払うだけでよいのかを考える時にきっと役に立つだろう。

  • 「よりよいコードを求めて命名について頭をひねる会」のログ

    http://www.zusaar.com/event/438105 アプリケーションを作る英語 の著者の西野さんを交えて、クラス名とかメソッド名とか変数名とか命名で困っている課題を1つ以上持ち寄りみんなで一緒に検討する勉強会をしました。 「アプリケーションを作る英語電子書籍 http://tatsu-zine.com/books/english4app 紙 http://www.amazon.co.jp/gp/product/4844332848/ はじめに:西野さんからちょっとお話 The Art of Readable Code から第2章と第3章 第2章:名前に情報を詰め込むようにする どういう情報をつめこむか。 明確な言葉を選ぶ get は不明確らしい getPage(url) -> FetchPage(url) や DownloadPage(url) 特色のある(color

    「よりよいコードを求めて命名について頭をひねる会」のログ
  • Lightweight Language Planets : 公開資料

    当日使われたスライドのうち、許可いただいたものを公開しています。 基調講演 「JavaScriptプログラマのための全方位的完全武装ガイド」mala メタプログラミングの光と闇 イントロダクション:柴田淳 Perl:牧大輔 Ruby:角征典 Python:小泉守義 Haskell:山和彦 Node.jsとは何だったのか イントロダクション: 「Node.jsとは何だったのか?」竹迫良範 Perl: 「AnyEvent と Coro の復習」竹迫良範 JavaScript: 「10分でわかるNode.js」清水俊博 Python: 「Twistedとかgeventとか」おおたに Ruby: 「EventMachineとは何だったのか」 なひ 「常識を覆すソートアルゴリズムSleep sort」竹迫良範 「Node.jsで学ぶマルチスレッドプログラミング」竹迫良範 JavaScript八面六

  • jstudyで「JavaScriptとLisp」ってタイトルのLTしました - あと味

    昨日、jstudyの第一回目のイベントがめでたく開催されました。 Twitterで見かけて、速攻で申し込んだんですが、せっかくだからLTしたいなと思い、稚拙ながら「JavaScriptとLisp」というタイトルでLTをさせていただくことができました。 発表するまで、ネタとしてどうなんだろうと不安でしたが、予想外に反応があったので良かったです。 jstudyの感想 jQuery、Dojo、JavaScriptの設計手法 x 2、ECMAScript5の仕様、jsdo.itの紹介、iPadJavaScriptJavaScriptの高速化手法、JavaScriptで昔を懐かしむなどなど、JavaScript好きにはとっても楽しいひと時を過ごすことができました。 LTに立候補していた人があまりいないように思いましたが、実際には11名?の方が発表し、最初から最後まで飽きることなく楽しめました。

    jstudyで「JavaScriptとLisp」ってタイトルのLTしました - あと味
  • デザパタ140文字

    尾野(しっぽ) @tail_y 今なんとなくデザインパターンを見てたけど、どうしてこういう説明って、厳かで分りにくく書かれるんだろうね。噛み砕いて書くと、正確性に欠ける!って怒られるんかな。 2010-04-22 08:29:36 尾野(しっぽ) @tail_y いや、一番いけないのは、デザインパターン完全に理解しないで語るのは恥ずかしいとか、使いこなせないなら使っちゃ駄目とか、そういう雰囲気があるのがいけないんですよ!そんな高尚なものにしてしまうから、解説まで高尚になっちゃって、一部の天才だけのものになっちゃうんですよ。 2010-04-22 08:53:45

    デザパタ140文字
  • あなたのスキルで飯は食えるか? 史上最大のコーディングスキル判定

    あなたのスキルで飯はえるか? 史上最大のコーディングスキル判定:makeplex salon(1/2 ページ) この問題ができたから優秀な人材とは限らないけれど、できない人は“ほぼ確実に”優秀ではない――プログラマーの皆さまの実力を計るコーディングスキル判定問題を用意しました。あなたはこの問題が解けるでしょうか? 新年度が始まり、新たに社会人となった読者の方も多いかと思います。あるいは、転職で心機一転がんばろうという読者もおられるでしょう。 あなたがもしプログラマーやSEといった職種であれば、ぜひ面白い仕事を手がけていただきたいと思いますが、そもそも開発分野で当に面白い仕事とは何かを考えたことはありますか? その答えを論ずる前に、少し前に話題となったトピックを取り上げたいと思います。それは、岡嶋大介氏の「人材獲得作戦」についてです。ご存じない方のために少し補足しておくと、岡嶋氏は、株価

    あなたのスキルで飯は食えるか? 史上最大のコーディングスキル判定
  • Bash基礎文法最速マスター - いろいろ解析日記

    Bashの文法一覧です。他の言語をある程度知っている人はこれを読めばBashの基礎をマスターしてBashを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1.基礎 echo文 echo文です。 echo "Hello world" コメント コメントです。 # コメント 変数の宣言 変数の宣言です。 # 文字列変数 declare str # 数値変数 declare -i num # 配列変数 declare -a array スクリプトの実行 スクリプトを実行するにはコマンドラインで次のようにします。 bash script.sh 出力結果をファイルに書き出すにはリダイレクトを使います。 bash script.sh > file.txt 文法チェック 事前に文法チェックを行うには、次のようにします

    Bash基礎文法最速マスター - いろいろ解析日記
  • 知れば天国、知らねば地獄――「探索」虎の巻

    いよいよ今回から、具体的なアルゴリズムの紹介に入っていきます。今回は、プログラミングにおける重要な概念である「探索」について考えます。グラフに変換し、探索する、という流れを知るとともに、そのグラフを効率よく探索する方法について紹介します。 今後紹介していくアルゴリズムについて お待たせしました! 「最強最速アルゴリズマー養成講座」という連載タイトルのとおり、今回の連載からいよいよ具体的なアルゴリズムの紹介に入っていきたいと思います。 しかし、それを読んでいただく前に、1つ注意してもらいたいことがあります。連載第3回でもお伝えしたように、「問題を、既存の適当なアルゴリズムに当てはめる」という考え方は、非常に危険である、ということです。 筆者の経験上、TopCoderでRedCoder以上を目指すのであれば、回答時間短縮のために、いままでのパターンを利用するのも方法の1つなのですが、連載では

    知れば天国、知らねば地獄――「探索」虎の巻
  • Modern PHP Programming 入門 @ PFI 社内セミナー - 肉とビールとパンケーキ by @sotarok

    バイトとしてお世話になっている,PFIで,「モダンPHPプログラミング入門」について,社内セミナーでお話してきました. 約一時半,Ustもながしつつ,社員の皆さんから質問をうけつつ.長々と,しゃべってしまいました. 対象者は,PFIの社員さんのように 他のプログラミング言語を知っている 「PHPって,HTMLの中に <?php とかって書くやつでしょ?」とか未だに思ってる 昔触ったことあったけど最近のPHPしらない みたいな人.そんな内容です. テンプレート言語と言われるPHPですが,プログラミング風の機能もたくさんついているんだぁ!ということを感じていただければ嬉しいです(w Modern PHP Programming @ PFI SeminarView more documents from sotarok. Ust の録画: Ustream.tv: ユーザー preferred:

    Modern PHP Programming 入門 @ PFI 社内セミナー - 肉とビールとパンケーキ by @sotarok
  • SSAW08 » processing 2 - Processingでオブジェクト指向プログラミング

    授業内容 Processingや、ActionScript 3、JavaC++、Objective-C、PythonRubyなど現在使われているプログラミング言語の多くに共通する構造があります。それは、プログラミングの対象を「もの = オブジェクト (Object) 」の集りとして捉え、そのオブジェクトが相互にメッセージを送りあうことで大規模なプログラムを構築していくという、オブジェクト指向プログラミング (OOP) という考えかたです。 格的なプログラムを作成できるようになるには、このオブジェクト指向という考えかたの理解がおおきな要素となります。今回は、Processingを題材に、このオブジェクト指向という考えかたについてじっくりと学んでいきます。 講義スライド Ssaw08 0930View SlideShare presentation or Upload your own.

  • Processing 「ライブの音と同期させる」 - FLASH+α

    Processingで作ったやつを音に合わせて動かしたいなーということでやってみました。 まずProcessingは標準で音は扱えないのでどこかのすごい人が作ったライブラリを使用。 今回はProcessingのサイトにも紹介されている「Minim」を使ってます。 サンプルもついてくるので、その中の「getLineIn」を参考に(てかコピペ)ラインに入力したサウンドを取得します。 安物のオーディオインターフェイスもどきにiPodから音楽を入力させて、それをUSBでPCにつないでます。 できたものをプロジェクタで映してみました。 (音汚いけど気にしない・・・) 色は今はランダムなので、音域で変わるようにしたいなあ。 これをMotionDiveとかの映像にビデオミキサーで重ねて使います。 ちなみに今年の忘年会はこんな感じでいこうと思ってます。(気) DJをやるT島が流す音に合わせたり、社長とか

    Processing 「ライブの音と同期させる」 - FLASH+α
  • Shibu's Diary: 「ソースコードをきれいに書く唯一の方法」は4つある

    渋日記@shibu.jp 渋川よしきの日記です。ソフトウェア開発とか、ライフハックを中心に記事を書いていきます。 taken by Manuel_Marin なんとなく書いたら、アクセス数が10000件超えたソースコードをきれいに書くための方法の記事。r-westさんの「きれいなソースコードを書くために必要な、たったひとつの単純な事」と、uwiさんの「誰がためのきれいさ?」と、フォローのトラックバックまで頂きました。僕のも含めてそれぞれスタンスが違いますが、どれが正しいとか、どれが一番いいかというのはないと思っています。人によってどっちがいいかは別れるはずです。人によっていちばん苦労がなくて、モチベーションがあがる方法がそれぞれの人にとっての正解である、というのが僕の考えです。 モチベーションマネージメントというのがよく言われるけど、「モチベーションを上げろ」と言われて上がる人なんていませ

  • 各言語におけるtrue/falseまとめ - 昼メシ物語

    たとえば PHP で、 if ($hoge) { ... } とか書いてあったら、 $hoge がどんな値のときに if の中身が実行されるのか即答できますか。 こういう書き方は多くの言語で可能ですが、言語によって何が真で何が偽になるのかが異なるので、それぞれまとめてみました。 C言語 C言語には bool 型が無い。 0 (int) だけが偽となり、それ以外はすべて真となる。 NULL 定数は stddef.h で以下のように ((void*)0) と定義されているため、偽値として使える。 意見が分かれそうなところですが、個人的にはNULLを偽値として使用するは好きじゃないです。 #ifndef __cplsuplus #define NULL ((void*)0) #else #define NULL __null #endif C++ C++になると bool 型が出てくる。C と同

    各言語におけるtrue/falseまとめ - 昼メシ物語
  • Fibers & Cooperative Scheduling in Ruby - igvita.com

    By Ilya Grigorik on May 13, 2009 Continuations have been a part of the Ruby API for quite some time, but for a variety of reasons have not seen much practical use: early Ruby 1.8 implementations suffered from serious memory leak problems, which were consequently mostly resolved, and the somewhat academic nature of the concept didn't help either. However, with the production versions of Ruby 1.9 ou

    k1LoW
    k1LoW 2009/05/23
    Eventmachine Fiber
  • プログラマーの開発速度は「はまる」時間の長さで決まる : 小野和俊のブログ

    プログラミングを始めてから今日に至るまで、 様々なタイプのプログラマーと開発を共にしてきたが、 驚くべき速度で高い品質のソフトウェアを作り上げるプログラマーには、 一つ共通の特徴があるように思える。 それは、「はまる」時間が極端に短い、ということである。 風のプログラマー」を指向しており、開発速度を重要視している。 例えば平成14年未踏ソフトウェア創造事業「PICSY」では、 発表直前に知人でプロジェクトリーダーの鈴木健にレスキュー隊として呼ばれて 2,3日でGUI全般と、クライアント/サーバー通信部分の設計と実装を終わらせたのだが、 このときなどは、大体の要件を口頭で聞いた後は、 ほぼまったく手が止まらずコードを書き続ける感じで開発をしていた。 「はまる」時間の長さは開発速度に直結するわけだが、 プログラマーが「はまる」場合にはある程度の傾向があると思うので、 今日は「はまる」プログラマ

    プログラマーの開発速度は「はまる」時間の長さで決まる : 小野和俊のブログ
  • コードポケット - アプリケーションをささっと作るコツ - (ひ)メモ

    誰に教えられたのでもないのですが、ぼくは冬眠前のリスのようにコード片を溜め込んでいます。 コード片とは、ライブラリにするほどまとまった大きさではない、数行〜十数行のコードのことで、溜め込んだコード片は、アプリケーションやツールを作るときに使っています。 例えば「Perlでメール送るのどう書くんだっけかな」とか「Pythonでファイル開いて全部読むのどう書くんだっけかな」とかというときに、溜め込んだ中からコード片をさっと取り出してコピペした後、なじむようにちょっと修正して使っています。 コードポケット コードを溜め込んでいるディレクトリをぼくは「コードポケット」と名付けていて、コード片を取り出すことを「ポケットからコードを取り出す」と呼んでいます。先日、知り合いが似たようなことを実践していて、その人は「コードスケッチ」と呼んでました。いい名前ですね。 ぼくの場合、コードポケットは ~/lan

    コードポケット - アプリケーションをささっと作るコツ - (ひ)メモ
    k1LoW
    k1LoW 2009/04/22
    code pocket
  • Practical Scheme

    Shiro Kawai まだ下書き Schemeの特徴をあげるときに、「継続」や「call/cc」が出て来ないことはない。 でも、R5RSのcall/ccの項をいくら読んでも、どうもよくわからない。 call/ccを使えばC言語のbreakみたいなのとか、コルーチンとかいう スレッドもどきとかが書ける、というのはわかったけど、一体そういうのが書けて 何が嬉しいのか、そこんとこがピンと来ないんだ。 今、そこにある継続 プログラミングの世界の概念には、禅の公案のようなものがある。 それを説明する文章はほんの一文なのに、最初に目にする時、 その文は全く意味をなさない、暗号のように感じられる。 だがひとたびその概念を理解すると、 その概念の説明は確かにその一文で説明されているのがわかるのだ。 そんな、「分かれば分かる」という禅問答の中でも 「継続」は最も謎めいたものの一つと言えるだろう。 文献を紐

    Practical Scheme