タグ

programmingとあとで読むに関するMukeのブックマーク (14)

  • Effective Scala

    Effective Scala Marius Eriksen, Twitter Inc. marius@twitter.com (@marius) [translated by Yuta Okamoto (@okapies) and Satoshi Kobayashi (@scova0731)] Table of Contents 序章 書式: ホワイトスペース, 命名, インポート, 中カッコ, パターンマッチ, コメント 型とジェネリクス: 戻り型アノテーション, 変位, 型エイリアス, 暗黙 コレクション: 階層, 使う, スタイル, 性能, Java コレクション 並行性: Future, コレクション 制御構造: 再帰, Return, forループと内包, require と assert 関数型プログラミング: 代数的データ型としてのケースクラス, Option, パターンマ

    Effective Scala
  • 新卒ソフトウェアエンジニアのための技術書100冊 - クックパッド開発者ブログ

    こんにちは、技術部 高井です。 春といえば、フレッシュマンの季節ですね。このブログを読む方の中には、明日からエンジニアとして新社会人になるという方もいらっしゃるのではないでしょうか。クックパッドでも新しい仲間を迎えるための準備をしていたところで、その準備の一環として「新卒ソフトウェアエンジニアのための技術書100冊」というものを作成しました。 この100冊は、職業ソフトウェアエンジニアとしてキャリアを積むにあたって、読むべき技術書に悩んだら、まずはこのリストから選ぶとよいのではないでしょうかという提案です。 リストに多少の趣味や主張がはいっているのは、まあご愛嬌ということでお許しいただければとおもいますが、職業プログラマとして知っておくべき知識を網羅できるように心がけました。古典と呼ばれる名著についてはできるだけ取りいれ、独習が難しい難解なコンピュータサイエンスの教科書は避けています。これ

    新卒ソフトウェアエンジニアのための技術書100冊 - クックパッド開発者ブログ
  • エレベーターゲームで学ぶプログラミング『Elevator Saga』 | 100SHIKI

    初心者向けとは言いがたいが、なかなかおもしろかったのでご紹介。 Elevagtor Sagaではエレベーターのシミュレーションを通じてプログラミングを学べるサイトだ。 レベルごとに課題が与えられて、独自のアルゴリズムを組むことでクリアーしていく。 APIなどはサイトで公開されているのでそれを組み合わせればいいだろう。 自分なりのコードを組んで「Start」ボタンを押すとグラフィカルに結果がわかってなかなか楽しい。ちょっと難しいかもしれないが興味がある人は是非どうぞ。

    エレベーターゲームで学ぶプログラミング『Elevator Saga』 | 100SHIKI
  • Rubyで実装して楽しむ古典データ構造再入門(平衡木編) - hama_duのブログ

    Competitive Programming Advent Calendar 2014 7日目です。 今回は古典的なデータ構造をRubyで実装してみます。 まず通常の木、二分木からはじめ、その次に二分探索木、そして二分探索木に少し機能を加え高性能にした平衡二分探索木を扱います。 冒険の地図 木 二分木 二分探索木 平衡二分探索木 ランダム挿入二分探索木 Treap 基 木(Tree) 以下の図は木の例です。一番上にある頂点(丸)を根と呼びます。各頂点に直接ぶら下がっている頂点たちをまとめて子と呼びます。子を持たない頂点を葉と呼びます。 頂点同士は辺(棒)で結ばれています。木には、辺によってループができないという特徴があります。 木の性質 木には素晴らしい性質があります。各頂点の子を根と考える(上の部分は無視する)と、それぞれの子も木になっているという点です。それらの木のことを部分木と呼

    Rubyで実装して楽しむ古典データ構造再入門(平衡木編) - hama_duのブログ
  • ご注文は機械学習ですか? - kivantium活動日記

    先日書いたOpenCVでアニメ顔検出をやってみた - kivantium活動日記の続編です。アニメ顔を検出するところまではうまくいったので、今度はキャラの分類をやってみようと思います。環境はUbuntu 14.10です。 ひと目で、尋常でない検出器だと見抜いたよ まずは分類に使う学習用データを用意します。投稿から半年以上経つのにまだランキング上位に残っている驚異の動画ご注文はうさぎですか? 第1羽「ひと目で、尋常でないもふもふだと見抜いたよ」 アニメ/動画 - ニコニコ動画を使います。 動画のダウンロード Ubuntuならaptで入れられるnicovideo-dlというツールを使います。 sudo apt-get install nicovideo-dl nicovideo-dl www.nicovideo.jp/watch/1397552685その後avidemuxでOP部分だけの動画を

    ご注文は機械学習ですか? - kivantium活動日記
  • プログラミング初心者が中・上級者になるための近道

    初心者と中級者、上級者の違いとは何でしょうか? 初心者は、 知識が少ない 開発したソフトウェアの数が少ない 中級者・上級者はその逆で、 知識が多い 開発したソフトウェアの数が多い その結果生まれる実質的な差は、 「初心者はかんたんなものしか作れないけど、中級者・上級者は難しいものを作れる!」 ということです。ですから、初心者が中上級者になるには難しいソフトウェアを作るのに役立つ知識を身につければ良いわけです! 難しいソフトウェアとは、 ロジックが複雑で難しい 規模が大きい 性能要件が厳しい 納期が短い など、いろいろな難しさがあります。 これらのハードルに対抗する知識・技術について紹介します。 規模が大きいソフトウェアを作るための技術 規模が大きいソフトウェアを作るための技術には、以下のようなものがあります。 モジュール分割 アプリケーションアーキテクチャ フレームワーク プログラミング作

    プログラミング初心者が中・上級者になるための近道
  • 最近のWindowsの開発環境のセットアップ - 純粋関数空間

    周囲にWindowsユーザがめっきり減ってきた昨今ですが、 Windowsユーザの皆様はいかがお過ごしでしょうか。 Windows8は使えないだの、 シェルがしょぼいからあれだのと言われることも多いですが、 圧倒的にたくさんのPCで安心して動かせるOSとして、 私個人としてはとても便利に使っています。 Let’snoteのCF-S10Dという2年ほど前の機種を使っているのですが、 ようやくPanasonicのWindows8サポートがこの機種までやってきたので、 Windows8に入れ替えることにしました。 実は発売当初にもWindows8を入れていたのですが、 Let’snoteを快適に使うには必須の、「くるくるホイール」が使えなかったり、 謎の認識されないデバイスがあったりだったので、 Windows7に戻していました。 というわけで、セットアップついでにそのときの記録を書いておこうと

  • Rubyで開発するときに入れておきたい三種のRubyGems - KAYAC engineers' blog

    「つくるための三種の神器」というテーマで続けている「777ブログウェイ」! 9日目となる日は「Rubyで開発するときに入れておきたい三種のRubyGems」と題して、定番の RubyGems を3つご紹介します。 1. bundler「bundler」は、アプリケーションが依存するgemを管理するツールです。今やgem管理のデファクトスタンダードです。 「gem install hoge」のようにコマンドで gem をインストールしていくと、あれよあれよとグローバルな領域にどんどん色んなgemが…それも複数バージョン混在していきます。そして、いずれは、このアプリケーションで必要なgemはどれだっけ…バージョンはいくつだっけ…といった具合に、どんどん依存関係が分からなくなってきます。ここで活躍するのが「bundler」です。 使い方はいたって簡単。1) bundler のインストールgem

    Rubyで開発するときに入れておきたい三種のRubyGems - KAYAC engineers' blog
  • PHP: The Right Way

    ようこそ 時代遅れの情報がウェブ上にあふれている。そんな情報を見たPHP初心者は戸惑ってしまうだろう。そして、まずい手法やまずいコードが広まってしまう。 そんなのはもうやめよう。PHP: The Right Way は気軽に読めるクイックリファレンスだ。PHPの一般的なコーディング規約、 ウェブ上のよくできたチュートリアルへのリンク、そして現時点でのベストプラクティスだと執筆者が考えていることをまとめた。 大事なのは、 PHPを使うための正式なお作法など存在しない ってこと。 このサイトの狙いは、はじめて PHP を使うことになった開発者に、いろんなトピックを紹介すること。 経験豊富なプロの人にとっても、これまで深く考えることなく使ってきた内容について、新鮮な見方を伝えられるだろう。 このサイトは、決して「どのツールを使えばいいのか」を教えるものじゃない。 いくつかの選択肢を示して、それぞ

    Muke
    Muke 2012/12/18
    こういうのは凄く助かるねぇ
  • jQuery Mobileでスマホサイトを作ろう!国内外で制作されているサイトやjQuery Mobileについて | jQeryMobileでサイトをつくろう

    jQuery Mobileとは? jQuery Mobileは、jQueryをベースとした、「スマートフォン向けフレームワーク」です。 もっと簡単に言うと、「スマートフォン向けコンテンツ制作の土台を作ってくれるソフトウェア」です。 スマートフォン向けの直観的かつ使いやすい、ネイティブアプリケーションさながらのページやUI※1が、瞬時にしてできあがります。開発者はわずかなHTMLJavascriptを書くだけです。 「UI」 ※1ユーザーインターフェースの略。jQuery MobileはわずかなHTMLの記述のみで、リストやボタン、ナビゲーションバーなどのスマホ向けUIを自動構築してくれる。 2010 年10 月にアルファ版がリリースされ、2011 年11 月ついにjQuery Mobile 1.0正式版が公開されました。現在も、jQuery の開発者であるJohn Resig 氏(@je

  • CoffeeScriptをおすすめしたいワケ

    programming notes. mainly about JavaScript / jQuery. [@Takazudo] [takazudo@gmail.com] Hint: alt + / 以下のエントリでも少し書いたけれども、 CoffeeScriptいいかも - Takazudo hamalogそれ以降、CoffeeScriptでJSを書き続けていて、やっぱCoffeeScriptいいなーと結構思ってる。自分にとってのCoffeeScriptがいいと思う一番の理由は、「オブジェクト指向的なコードが、ストレス無く書けるから」っていう点だと感じてる。例えば、以下のような動作をするUIがあり、 サンプルこのひとまとめのUIを管理するクラス的な物を作ろうとしたら、例えば以下のようになる。 var Hoge = function(el) { this.content = el.find

    CoffeeScriptをおすすめしたいワケ
  • 再帰的アルゴリズム

    このようにして3!が計算されます。 このような定義の仕方を再帰的定義と言います。 この階乗関数を Basic プログラムとして実現してみると,(Tiny Basic には階乗関数 Factorial が内蔵されていますから,実際にこのようなプログラムを書く必要はありませんが。) Function Kaijyou(n) If n = 0 then Kaijyou = 1 Else Kaijyou = Kaijyou(n-1)*n End if End Function となります。しかし,実は階乗関数は,再帰を使わなくても,次のように実現することが出来ます。 Function Kaijyou(n) F = 1 For i = 1 to n F = F * i Next i Kaijyou = F End Function このように再帰的プログ

  • UNIX的なアレ

    これはアルのメンバーを中心にお届けする、推しのコマをつかったアドベンカレンダー、16日目の記事です。 adventar.org "何者か" になりたい時代 SNSが一般化したことや、個人単位で活動するインフルエンサーやYouTuberが出てきたことにより、現代は多くの人が「何者か」になりたい時代になっている。 でもこの「何者か」になりたい欲求というのは、おそらく幼少のころには誰もが持っていた欲求なのではないだろうか?それはスポーツ選手かもしれないし、歌手かもしれない。でも、年齢を重ねるにつれて現実と向き合い続けることになり多くの人がそういった夢を気づかないうちに忘れてしまうことになる。 左ききのエレン / alu.jp alu.jp 「左利きのエレン」は、何者かになりたいまま広告クリエイターになった朝倉光一を主人公とした物語だ。多くの場合、こういった物語の主人公は「天才」であることが多いの

    UNIX的なアレ
  • JavaScript初心者におくる24のグレイトなtips - 三等兵

    私が作ったわけではなく海外の記事です。自分も学習してみました。 phpスポーツ啓発日誌や、コカトリスさんや、アイスクレアームパラダイスさんのような、品質の良い訳は私にはできませんので見出しは意訳もしくは誤訳、文章は無視して訳してません。かつ、私がいろいろコードや文章つけたしてます。内容的にはほとんどズレてはないと思いますが、適当なのでおかしいところがあるかもしれません。 うっとうしい場合は原文をどうぞ。 24 JavaScript Best Practices for Beginners 1. 等価演算子で==使うなよボケ===だろナスチン野郎 ひぃぃぃ。 ==|!= だとねー、型は自動に変換されるんすよねー。ねー。 s = '1'; i = 1; alert(s == i); // true alert(s === i); //false えーと、==は「わし、数値も文字列も中身が一緒だ

    JavaScript初心者におくる24のグレイトなtips - 三等兵
  • 1