タグ

関連タグで絞り込む (202)

タグの絞り込みを解除

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

  • データ・サイエンスのプログラミング言語はRからPythonに置き換わる | readwrite.jp

    これまでデータ・サイエンティストの選ぶプログラミング言語はRだったのだが、急激にPythonに置き換わろうとしている。 このシフトの理由はいくつかあるようだが、第一にはPython自体が汎用的で比較的学びやすい言語であるのに対し、Rが習得するにあたってやや複雑であることがあげられるだろう。 データにますます依存しつつある現代社会とデータに飢えたサイエンティストにとっては「簡単さ」こそが鍵となるのだ。 Rは実際にはプログラミング言語ではないRを覚えることに苦労する人が多い理由として考えられるのは、Rが実際にはプログラミング言語ではないからかもしれない。R専門家のジョン・クックいわく、Rとは「統計のためのインタラクティブな環境」であり、厳密にはプログラミング言語ではないのだ。彼はさらに「Rをプログラミング言語だと考るのではなく、Rがプログラミング言語を内包しているのだと考えた方が良いと分かった

    データ・サイエンスのプログラミング言語はRからPythonに置き換わる | readwrite.jp
    legoboku
    legoboku 2013/11/30
    「 これはどのマーケットにも言えることだが、パワフルだが複雑なツールよりも、既に知られているものや覚えやすいツールが結局普及していくことになるのである。」
  • コーディングを支える技術――成り立ちから学ぶプログラミング作法

    2013年4月24日紙版発売 2014年12月10日電子版発売 西尾泰和 著 A5判/264ページ 定価2,717円(体2,470円+税10%) ISBN 978-4-7741-5654-5 Gihyo Direct Amazon 楽天ブックス honto ヨドバシ.com 電子版 Gihyo Digital Publishing 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 書は,プログラミング言語が持つ各種概念が「なぜ」存在するのかを解説する書籍です。 世の中にはたくさんのプログラミング言語があります。そしてプログラミングに関する概念も,関数,型,スコープ,クラス,継承など,さまざまなものがあります。多くの言語で共通して使われる概念もあれば,一部の言語でしか使われない概念もあります。これらの概念は,なぜ生まれたのでしょうか。書のテーマは,その「なぜ

    コーディングを支える技術――成り立ちから学ぶプログラミング作法
    legoboku
    legoboku 2013/04/10
    気になる本!「言語設計者の視点に立ち,複数の言語を比較し,そして言語がどう変化してきたのかを解説」
  • 例題で学ぶ微分方程式

    多項式回帰やロジスティック回帰など、最近ではデータマイニングや機械学習などでもごく普通の手法として使われる微分方程式について、生態系モデルのシミュレーションを通じて直観的に理解するための入門書。生物の発生モデル、クジラの回遊モデルなどの実例について、Mathematicaによるシミュレーションを通じて理解を促します。なお書はEbookのみの販売となります。 書のサンプル(PDF) ダウンロード まえがき 第1章 はじめに:微分方程式とは 1.1 常微分方程式と相図 1.2 微分方程式の数値解法 第2章 基礎編:生物モデルで理解する微分方程式 2.1 ロジスティックモデル 2.1.1 ロジスティックモデルが形成する美しい曲線 2.1.2 定性的な解の捉え方 2.2 2種生物の競合モデル 2.2.1 平衡点の解析 2.2.2 解軌跡 2.2.3 ヌルクラインによる解析 2.3 マグロは絶滅

    例題で学ぶ微分方程式
    legoboku
    legoboku 2013/04/04
    mathematicaでシミュレーションやる方法とか解説してるそう。直感的な理解を促す意味で良さそうやな。
  • 変数に型がないということの利点について考える - Perl入門ゼミ

    Perl › 読み物 PHPPerlRubyPythonなどのスクリプト言語に対して、変数に型がないということを否定的にとらえる人もいるかと思います。特にC言語やJavaなどの静的言語を使ってきた人にとっては、型がないということが不安材料として目に映ることが多いのではないかと思います。 けれども、型がないということは、当に素晴らしいことです。型がないことによって、たくさんの面倒から解放されるからです。 どのような型の値でも代入できる まず基的なこととして変数に型がなければどのような型の値でも代入できるということです。つまり、受け取るときに、どのような型の値を受け取るのかを意識する必要がありません。 my $str = 'Hello'; my $num = 1; my $nums = [1, 2, 3]; my $person = {age => 2, name => 'taro'

    変数に型がないということの利点について考える - Perl入門ゼミ
  • TechCrunch | Startup and Technology News

    Yellow, an asset financier for solar energy and digital devices in Africa has raised $14 million series B funding in a round led by Convergence Partners with participation from the Energy Entrepreneur Fisker, the electric carmaker founded by the Danish auto designer Henrik Fisker, is gearing up to enter the Chinese market where competition is increasingly cut-throat, following in the footsteps of

    TechCrunch | Startup and Technology News
    legoboku
    legoboku 2013/02/27
    アメリカさんはやりますな!
  • FPGAとArduinoとRasberryPIの違いと、FPGAを勉強する理由 - きしだのHatena

    はたから見てると、FPGAとArduinoとRasberry PIって、なんか小さくてデバイス挿して使ってて似たもののように見えるかもしれません。 そんな中、どこが違うの?って思ってる人もいるかと思ったので、それぞれの違いと、そしてそこから得られる技術者としての知識をまとめてみます。 まあ、得られる知識として「それぞれのデバイスの使い方と周辺環境」ってのはありますが、それは当然として。「それぞれのデバイスの使い方と周辺環境」を得るメリットがわかる比較としてまとめたいと思います。 根底は「なんで最近FPGAをやってるか」っていうことの説明なので、そういうバイアスがあると思ってください。 FPGAというのはチップの種類なので、実際にはDE0などのFPGA評価ボードとの比較ですが。中でもDE0-nanoは大きさや価格を考えると、豪華なArduinoくらいの位置づけとして出してきたようにも見えます

    FPGAとArduinoとRasberryPIの違いと、FPGAを勉強する理由 - きしだのHatena
    legoboku
    legoboku 2013/02/19
    「いま、CPUを使った処理に限界が見えるようになってきました。そこでCPUを使わずに処理を書く必要性が出てきています。」そこでFPGA扱う仕事が増える訳ですか。
  • http://landoflisp.com/

    legoboku
    legoboku 2013/02/09
    日本語翻訳書の表紙に衝撃を受けたけど、原著ははんぱなかったな。
  • ARM、HSAの取り組みについて説明 ~Mali-T600シリーズでHSAの機能を先取り

    legoboku
    legoboku 2013/01/25
    もっとGPUを使おうという流れあって、でも別プロセッサ的になると保守性下がるし、もっとCPUとも透過的に扱える仕組みが必要と。
  • オブジェクト指向プログラミングの教え方? | システム設計日記

    技術者仲間で話していたら、4月入社の新人に、オブジェクト指向プログラミングをどうやって教えたらよいか?、という話になった。 想定している言語は Java。 ■動物・犬・モデルの説明から ■基用語の説明から:「カプセル化とは」「継承とは」... ■サンプルコードから: System.out.println( "hello world" ) ... どのパターンでもうまくいかなかったので、今度の新人研修では何か工夫したいね、という話。 結論から言うと「これだ」というアイデアがでたわけではないが、話の内容は、いろいろ興味深かったのでメモ書き。 Java はオブジェクト指向の言語なの? Java は、ある意味 C言語の仲間。ある側面はほとんど同じ言語。 ・int, long (プリミティブなデータ型) ・配列操作 ・if/for/return ここだけ見れば、C言語のまま。つまり命令型、手続き

    legoboku
    legoboku 2013/01/11
    技術の発展を追体験しながら、後で名前を教えるパターン?
  • コード・シンプリシティ

    Bugzillaプロジェクトの主任設計者の実体験に基づいた、ソフトウェアの簡潔性を保つさまざまな知見をまとめた書籍。「なぜ簡潔性が大事なのか」「変更の価値を計るための方程式」「コードの簡潔性と複雑性」といったトピックについて、事実、法則、ルール、定義などを示しながら解説します。直接的なコードの書き方だけでなく、ソフトウェアプロダクト全体にわたるコードの健全性を保つためのヒントとなるでしょう。なお書はEbookのみの販売となります。 まえがき 1章 はじめに なぜ簡潔性が大事なのか ソフトウェアデザイン 2章 なぜソフトウェアを作るのか 実際のアプリケーション 3章 未来 ソフトウェアデザインの方程式 デザインの品質 見えない結末 4章 変更 プログラム変更の実例からわかること 3つの間違い インクリメンタルな開発とデザイン 5章 不具合とデザイン 故障でなければ…… 何度も同じことを繰り

    コード・シンプリシティ
    legoboku
    legoboku 2012/11/16
    「Bugzillaプロジェクトの主任設計者の実体験に基づいた、ソフトウェアの簡潔性を保つさまざまな知見をまとめた書籍。」
  • Ruby から Java へのシフトで大統領選を乗り切った Twitter

    Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...

    Ruby から Java へのシフトで大統領選を乗り切った Twitter
    legoboku
    legoboku 2012/11/16
    「Ruby on Rails の検索フロントエンドを,同社が Blender と呼ぶ Java サーバにリプレースすることを発表したのだ。これによって検索待ち時間は 1/3 にまで減少した。」
  • 継続インテグレーションは強みではなくなった: 柴田 芳樹 (Yoshiki Shibata)

    Subversion/Gitなどを使用したソースコード管理、Jenkinsを使用した継続的インテグレーション、様々なxUnitフレームワークを使用した自動テストなどをソフトウェア開発組織として実践することは、今日では、その開発組織の技術的な強みではありません。 それらを実践しないことが、ソフトウェア開発組織の「弱み」なのです。また、組織としてそれらの実践を推進しない、あるいはサポートできないマネージャも「弱み」となります。さらに、大規模なソフトウェア開発組織においては、それらのためのインフラ整備をプロジェクトごとに立ち上げなければならず、サポート部門が存在しないことも弱みとなります。※1 ※1 プロジェクトを始めるごとに、ソースコード管理やJenkins用のサーバの調達、OSから様々なツールのインストールを一通り行うためには、それなりの時間を要します。したがって、バックアップをも含めて環境

    継続インテグレーションは強みではなくなった: 柴田 芳樹 (Yoshiki Shibata)
    legoboku
    legoboku 2012/11/02
    作業を自動化してもっと人間が創造的な作業に注力することは当たり前にやってしかるべきだけど。全くそうなってない現場は多いな。
  • 眠る開発屋blog|最新オンラインカジノのニューカジノ情報

    もしもこの世から「残業」が完全になくなったら 3年ぐらい前に読んだを思い出した。 1980−90年代の話ですが、残業について、 「時間外・休日労働の弾力的運用が我が国の労使慣行の下で雇用維持の機能をはたしている」(1985年労働基準法研究会報告)とか、「我が国の労働慣行の実情に合うような上限設定が可能かどうか定かでない」(1992年同報告)と、雇用維持の為のコストとして恒常的な長時間労働を是認する考え方が主流でした。 需要の低下に応じて、生産水準を下げなくてはならなくなっても、バッファがあるから解雇せずに大丈夫でしょ、という。。。 まぁ、 ところが、その後、労働法政策が内部労働市場の雇用維持から外部労働市場における移動促進に徐々にシフトしていったにもかかわらず、この長時間労働哲学には疑問が呈されないまま21世紀に至っているのです。 と著者は問題視しているわけだけど。 話変わって、最近友人

    legoboku
    legoboku 2012/11/02
    見通しの悪いソースコードだけ残されても保守に困るけどな。
  • なぜ、いま「セキュアコーディング」なのか?

    なぜ、いま「セキュアコーディング」なのか?:もいちど知りたい、セキュアコーディングの基(1)(1/2 ページ) 多くのソフトウェアが脆弱性を抱えたまま出荷され、不正アクセスや攻撃の脅威にさらされているいま、セキュアな開発に関する技術や経験を有するプログラマがいっそう求められるようになりました。この連載ではC/C++言語を例に、セキュアコーディングで特に重要となるトピックスを紹介していきます。 ソフトウェアセキュリテイをめぐる状況 今月から数回に渡って「C/C++セキュアコーディング」の連載を担当させていただくことになりました、JPCERTコーディネーションセンター(JPCERT/CC)、脆弱性解析チームの久保と戸田です。よろしくお願いします。第1回目の記事は久保が担当します。 まず始めに、連載のタイトルにもある「セキュアコーディング」とは何なのか、言葉の整理も兼ねて、あらためて考えてみ

    なぜ、いま「セキュアコーディング」なのか?
    legoboku
    legoboku 2012/10/26
    「ソフトウェアの欠陥を出荷後に見つけて修正すると、仕様策定や設計段階に見つけて修正する場合の100倍のコストがか掛かる」
  • ピクサー社・手島孝人氏からの推薦コメント『C++のためのAPIデザイン』 | SBクリエイティブ

    10月30日刊行予定『C++のためのAPIデザイン』につきまして、米ピクサー・アニメーション・スタジオ 手島孝人氏から推薦のコメントを頂きましたので、ここに一部抜粋してご紹介致します(全文は書をご参照ください)。 ■推薦のことば(一部抜粋) APIデザイン。あまり聞き慣れない言葉です。このは何か特殊な分野に関するC++のTipsを集めた参考書の一つなのでしょうか? いいえ、それは違うようです。 すでに世の中にC++プログラミングの参考書は数えきれないほどありますが、もし今、初心者の新人プログラマに参考書を渡すとしたら何だろう、と考えてみました。もちろん皆さんいろんなご意見があるかと思いますが、私ならまずは『ロベールのC++入門講座』、そして次に『Effective C++』を薦めるかと思います。まずはこれらで基を学ぶとして、問題はその次です。『Modern C++ Design』や難

    ピクサー社・手島孝人氏からの推薦コメント『C++のためのAPIデザイン』 | SBクリエイティブ
    legoboku
    legoboku 2012/10/18
    “本書の著者はこの「コードのセンスの善し悪し」が、実は「APIのデザイン問題」であると見極め、最も重要な開発言語であるC++をターゲットに本書をまとめあげました。”
  • node.js で「サラリーマンの朝」をプログラムしてみる

    先日の「node.js と thread hog の話」には、たくさんのコメントをいただいたが、やはり「イベント駆動型」のプログラミングには抵抗がある人も多いようだ。そこで、JavaScript の無名関数を使ったイベント駆動型のプログラミングの可読性が悪くないことを示すために、「朝7時に目覚まし時計をかけて眠りにつき、朝ご飯をべ終わったら会社に行く」という典型的な「サラリーマンの朝」をイベント駆動型のJavaScriptで記述してみた。 注目して欲しいのは、素早く出来る「着替える」「顔を洗う」などの動作は割り込み不可な動作なので、通常のプログラミングと同じようにシーケンシャルに実行するが、時間のかかる「朝ご飯をべる」「駅まで歩く」などの動作は割り込み可能な状態で実行し、"complete" のイベントを受けてから次の動作に移る点だ。 ちなみに、目覚まし時計は 「スヌーズボタン」付きな

    legoboku
    legoboku 2012/10/18
    JavaScript の無名関数を使ったイベント駆動型のプログラミングの可読性が悪くないことを示すために、典型的な「サラリーマンの朝」をイベント駆動型のJavaScriptで記述してみた。
  • node.js と thread hog の話(3)

    [前回までの話へのリンク] ・node.js と thread hog の話(1) ・node.js と thread hog の話(2) では、なぜ今頃になって HTTP Server の c10k 問題(もしくは、thread hog 問題)が顕在化したのだろう。 当時(90年代の終わり頃)と比べて、もっとも大きく変わったのはCPUの性能である。クロック数は、数百MHzから数GHzへと一桁増えたし、マルチコア化もしている。CPU 性能だけ見れば、当時の数十倍の能力が出てしかるべきである。 しかし、実際の人生はそう簡単ではない。サーバーのパフォーマンスはCPU性能だけが決めるわけではないからだ。そこで、ボトルネックの一つとして注目されはじめたのが、thread の数なのである。 前回述べた様に、thread 一つあたり 2MB~8MB のスタック領域を仮想メモリ空間に確保しなければならな

    legoboku
    legoboku 2012/10/17
    node.js の貢献「本来記述が煩雑になりやすい非同期処理をJavaScriptの無名関数を利用して書きやすく・読みやすくすることにより、イベント駆動型のプログラミングを多くのプログラマーにとって手の届くものにした」
  • プログラマの実力は経験だけであがらないことがレベル格差につながる - きしだのはてな

    プログラマというのは、道具に慣れることが、実力があがることにならないのですよね。だから、勉強せず業務経験だけだとレベルが低いままということになってしまう。 Javaを10年さわり続けて、Strutsを5年さわり続けても、それだけでは、与えられた画面を手際よく作成できるようになるだけで、たとえばStrutsすらよりよく使えるようになるわけではなかったりする。 Javaにしても、「volatileってなんですか?」という問いに、まあ知らないのはしかたないとしても、解説を見ながらですら答えられない可能性がある。 プログラムの反復生産は、プログラミング能力の向上にあまりつながらない。設定や記述に慣れるだけだ。そして、この「慣れ」というのには「難しいからそもそも実装を回避する」というようなものも含まれる。実力の向上は、作業ができるレベルで止まってしまう。 プログラマとしての実力をあげるための勉強が自

    プログラマの実力は経験だけであがらないことがレベル格差につながる - きしだのはてな
    legoboku
    legoboku 2012/10/11
    “レベルの高いプログラマというのは、よりよくコンピュータリソースを扱えるプログラマだと言えるので、「どのように作るか」ではなくて「どのようにコンピュータを動かすか」という分野の勉強をする必要がある。”
  • Programmer Time Translation Table – Passion for Coding

    An experienced project manager I used to work with claimed that he took the programmers’ time estimates, multiplied by pi and converted to the next time magnitude to get the true number. 1 day converts to 3.14 weeks. He had learned the hard way that programmers are bad at estimating times. To get a more precise conversion, I’ve created a translation table for programmers’ time estimations, trying

    Programmer Time Translation Table – Passion for Coding
    legoboku
    legoboku 2012/10/08
    "Finally count the time spent and compare that to the estimate. Also compare what you actually had to do to your own definition of done. That way you’ll improve both your understanding of all the details involved in a task, as well as improve your estimation skills."
  • リヴァイアサンに斬鉄剣 | quipped

    NO科学者の茂木健一郎さんが、日教育システム、特にペーパーテスト偏重の入試のシステムを批判している記事を読んだ。有名人の嘯くデタラメなど黙ってやり過ごすべきなんだろうが、いくつか僕の心に近いところで支離滅裂なことを言われて腹が立ったので、なるだけ冷静に説明したい。 ちなみにこのエッセーのタイトルだが、彼が引き合いに出しているリヴァイアサンが、Thomas Hobbesのものだとは考えられないので(だって説明が無茶苦茶なんだもん)、多分ファイナルファンタジーの召喚獣の方だと空気を読んだからだ。グングニルで刺してもいいけれど。 まず、茂木さんは、まつもとゆきひろさんに謝るべきだと思う。ご人も仰っているように、まつもとさんは、入学試験を受け、一定の点数を取り、筑波大学情報学群へと進学されたはずだ。それがモギイズムにかかると、こう曲解される。 ここで茂木氏は、オブジェクト指向スクリプト言語「

    legoboku
    legoboku 2012/10/06
    “何かに没頭できるというのはかけがえのない経験だし、是非してほしいと思っている。でも、何かに深く没頭することと、幅広い見識を身につけることは、二者択一ではない。”