タグ

Programmingとprogrammingに関するtuto0621のブックマーク (101)

  • Essential Math for Games Programmers

    As the quality of games has improved, more attention has been given to all aspects of a game to increase the feeling of reality during gameplay and distinguish it from its competitors. Mathematics provides much of the groundwork for this improvement in realism. And a large part of this improvement is due to the addition of physical simulation. Creating such a simulation may appear to be a daunting

  • Rustを学びシステムレベル言語を理解すること - ワザノバ | wazanova

    https://www.youtube.com/watch?v=ySW6Yk_DerY Rustについては「Rustのあれこれ」で少し触れましたが、Yehuda Katzが、Skylightの一連のブログとGoGaRuCo2014の講演で、「ハイレベル言語のプログラマーがシステムレベルの言語を学ぶチャンス」という観点で紹介しています。 主なポイントとしては、 プログラミング言語の特性は変わることがないとか、プログラミング言語のパフォーマンスと生産性は常にトレードオフであるという考え方は、JavaScriptにおいて、生産性が少し改善されつつ同時にパフォーマンスが大きく向上してきたという事実から、必ずしも正しくはない。 Rustは、セグメンテーション違反が起きないという意味での安全性と、どこにメモリを置くか直接コントロールできる仕様を両方兼ね備える。 Rustを学ぶということは、ハイレベル言

    tuto0621
    tuto0621 2014/11/08
    BorrowingとLending便利だ。C++のRAIIをさらに洗練させた感じ
  • インタラクティブ・プログラミング勉強会 第1回 乱数 | fladdict

    巷では、スマホは「手触り」が重要・・・って話が持ち上がりつつあるが、使い易さと気持ちよさを両方できる人材が不足している。広告Flash業界で培われたインタラクションのノウハウは、だんだんと失伝しつつあり、ビジュアルや動きをちゃんとコーディングできるスマホ系の人材なかなかいない。新しく勉強するパスもほとんどない。 そんなわけでTHE GUILDの社員研修として勉強会をすることに。目標は1年ぐらいでこの程度のモリモリ動くものを作れるようにすること。で、2年目に動きや手触りに、合理性や必然性、使い易さを付加できるとこまでもっていく。 第1回はインタラクティブの根幹となる乱数について。 1: 乱数とは ランダムな値を返す関数、機能。 乱数はインタラクティブ・プログラミングの根源。静的な絵とは根に異なる、永遠に定着しない絵を作り出す。 インタラクティブなプログラミングでは、知識以上にその応用力が問

    インタラクティブ・プログラミング勉強会 第1回 乱数 | fladdict
    tuto0621
    tuto0621 2014/11/04
    正規分布。ofrubyで作ってみようかな。
  • 名著『リーダブルコード』を解説者と一緒に読み解こう 〜3章 誤解されない名前〜|オンライン動画授業・講座のSchoo(スクー)

    リーダブルコード入門 プログラム経験のある方が、リーダブルコード(※1)を書くために必要な考え方を学ぶ事ができます。 今回は、名著「リーダブルコード」の解説者である須藤先生と一緒に「3章 誤解されない名前」を読みながら、よい名前のつけ方について学びます。 ■ 対象者 プログラミング経験者で、リーダブルコードを書きたい方 変数や関数の命名に自信が持てない方 自分のコードを他の人にとっても読みやすいコードにしたい方 ■ 関数や変数で『誤解されない名前』を付けられるようになろう プログラミングを行うと、変数や関数に名前付けする機会が沢山あります。 でも名前のつけ方って、まわりの人に聞いてもなかなか明確な答えを教えてもらえませんよね? 「うーん、自分も難しいなぁと思っているんだよねぇ」 「ケースバイケースだからなぁ」 「今回はA案の方がいいかなぁ」 でも、ベースとなる考えを持っていれば、よい名

    名著『リーダブルコード』を解説者と一緒に読み解こう 〜3章 誤解されない名前〜|オンライン動画授業・講座のSchoo(スクー)
  • 新鋭の言語: この5年を振り返る

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    新鋭の言語: この5年を振り返る
    tuto0621
    tuto0621 2014/10/23
    一番簡単な解釈は、 “ある言語が親しみにくければ、その言語がいかにリッチな機能を持っていようが関係ない”ということだと思います
  • 書類仕事を追いかけて - steps to phantasien

    大きなコードベースの真ん中あたりをさわっていると、仕事の大半はリファクタリングに費やされる。機能を足そうと書くコードも 8 割リファクタリングで新緑は 2 割。失敗して捨てるものも多いから、かける時間は 9 対 1 くらいかもしれない。 それどころかリファクタリング自体がプロジェクトにもなりうる。「今四半期はこの腐ったコードどもをなんとかするのが目標」というように。私もいま大きなリファクタリング、あるいはリアーキテクティング、の手伝いをしている。仕事時間のほぼすべてがリファクタリングに費やされる。今の勤務先で通用する唯一の特技がリファクタリングな私にとってこれはたぶん適職だ。 リファクタリングにコーディングの大半を捧げる人は他にもいる。 プログラマ相手の管理職をエンジニアリング・マネージャと呼ぶ。ほぼ全員プログラマ出身。現場に近いマネージャは多くがコードも書く。ただ血気盛んな人を除くと新機

    tuto0621
    tuto0621 2014/10/21
    リファクタリングばかりするのは借金(技術的負債)の返済に明け暮れるようなもの。負債を返し自由を手に入れたら何か意味のあることに使いたい。ついでに少しは新しい事がしたい。
  • 文系プログラマでもコンピュテーションをアンダースタンディングできた!!1 - 書評『アンダースタンディング コンピュテーション』 - Kentaro Kuribayashi's blog

    タイトルは煽りです。 『アンダースタンディング コンピュテーション―単純な機械から不可能なプログラムまで』をご恵贈いただきました。ありがとうございます。 アンダースタンディング コンピュテーション―単純な機械から不可能なプログラムまで 作者: Tom Stuart,笹田耕一(監訳),笹井崇司出版社/メーカー: オライリージャパン発売日: 2014/09/18メディア: 大型この商品を含むブログ (2件) を見る 書の扱う計算理論と呼ばれる分野には、前職の同僚たちがそういうのに詳しかったこともあってずっと興味を持ってはいたものの、いくつかの教科書的なを繙いては読み進めずに挫折することを繰り返していました。その意味で、監訳者あとがきの「これなら私でも読める」という言葉は、自分自身の思いでもあると感じました(もちろん、笹田さんの「私でも」と、僕のそれとではおおいに異なることはいうまでもあり

    文系プログラマでもコンピュテーションをアンダースタンディングできた!!1 - 書評『アンダースタンディング コンピュテーション』 - Kentaro Kuribayashi's blog
    tuto0621
    tuto0621 2014/09/24
    本書の次に読むもの
  • iPhone 6 Screens Demystified | PaintCode

    Few days ago, Apple introduced iPhone 6 Plus. The new iPhone substantially changes the way graphics are rendered on screen. We've made an infographic to demystify this. 320 × 480 375 × 667 414 × 736 320 × 480 750 × 1334 1242 × 2208 1080 × 1920 3.5″ 4.7″ 5.5″ iPhone 6 Plus has screen with lower pixel resolution than the image rendered in previous step. Before the image can be displayed on the scree

    iPhone 6 Screens Demystified | PaintCode
  • uilang

    a minimal, ui-focused programming language for web designers clicking on ".try-it" toggles class "hidden" on ".info-box" Try It Getting Started Insert uilang.js in your page, write some uilang as shown above in a simple <code> element and use CSS to show, hide and animate things. Download 1KB Build Interfaces Create popovers, tabs, galleries, overlays and more using a language specifically designe

  • iPadで動くオープンソースのビジュアルプログラミング環境「Pyonkee」が熱い | ソフトアンテナ

    iPad用の格的なビジュアルプログラミング環境「Pyonkee」が公開されています。MITメディアラボの有名なビジュアル開発環境Scratch 1.4を元に開発されたアプリで、ソースコードもGitHubで公開されています。 ピョンキー カテゴリ: 教育 価格: 無料 基的な操作方法 Scratchは楽しくプログラミング言語を学習するために開発されたビジュアルプログラミング環境なので、初心者でも楽に始めることができるはず…と思ったのですが、慣れないとちょっととまどうかもしれません。 基的な操作は、左側でいろいろなパーツを選んで、真ん中のScriptエリアに配置して、緑のアイコンを押して実行といった感じ(上の画面はシミュレーターなので英語表記になっています)。 操作方法がよくわからないという場合「日語版Scratchのつかいかた」がとても参考になります。 ソースコードも参考になりそう

    iPadで動くオープンソースのビジュアルプログラミング環境「Pyonkee」が熱い | ソフトアンテナ
  • Python 2.7.x と 3.x の決定的な違いを例とともに | POSTD

    Pythonを始めたばかりのユーザーの多くが、どちらのバージョンを使えばいいのか迷っています。私の答えは、「気に入ったチュートリアルに書かれているバージョンにしましょう。そして、あとで違いを調べてください」という言葉につきます。 それでは、新しいプロジェクトを始めるときにはどちらを選べばいいのでしょうか? 使おうとしているライブラリを全てサポートしているなら、2.7.x系と3.x系のどちらを使ってもよいでしょう。そうはいっても、この2つのメジャーバージョンについて大きな違いを見ておくのは良いでしょう。どちらかのみでコードを書いたり、プロジェクトに使おうとしている時によくある落とし穴を避けられるからです。 __future__ モジュール Python 3.x で導入されていて Python 2 で使えないキーワードについては、 __furute__ モジュールをインポートすることで Pyt

    Python 2.7.x と 3.x の決定的な違いを例とともに | POSTD
  • プログラミングが楽しいと思えないのは悪いことなのか

    ここ半年ほど、「プログラミングを職業とすることの意味」を考え続けています。私自身は職業プログラマではないので、プログラマ向けの各種サービスを取材して、何とか手がかりをつかもうとしています。これまでに、技術情報共有サービス「Qiita」、競技プログラミングサイト「topcoder」、技術者が企業を気軽に訪問できるきっかけを提供する「Wantedly」、技術者が得意なスキルをアピールできる「Forkwell」、プログラミングの実力を測定できる「CodeIQ」や「paiza」を取材しました。 そうした取材の成果は、折に触れてITproや日経ソフトウエアにまとめています。具体的には、ITproの「『プログラマの役に立つものを提供していきたい』、情報共有サービス『Qiita』の挑戦」や「『60万人の一流プログラマ』が『成功率93%のSI』を実現するtopcoder」といった記事です。このテーマの集大

    プログラミングが楽しいと思えないのは悪いことなのか
    tuto0621
    tuto0621 2014/07/31
    結局、大人ができるのは「子供がプログラミングに触れる機会を増やすこと」でしかありません
  • オブジェクト指向は禁止するべき - きしだのHatena

    プログラムがまだ不慣れな人が「プログラムちょっとわかるようになったけど、まだぜんぜんオブジェクト指向とかできてません」のように言ったり、ちょっと慣れた人が「このソース、ぜんぜんだめ。オブジェクト指向ができてない」にようなことを言ったり、まるで、オブジェクト指向ができてるかどうかがよいプログラムかどうかを表すことになってるようだ。 Javaのアルゴリズムのに、「Javaなのにオブジェクト指向ができていない」のような書評がついているのを見たときには、お前は何を求めてるんだと思ったりもした。 そのようなオブジェクト指向は、窓から投げ捨てるべきだ。オブジェクト指向はプログラムのよしあしの基準にならない。 むだにHogeインタフェースとHogeImplクラスがあったり、むだにnewするだけのcreateメソッドがあったり、どこで値が設定されてるかわからないオブジェクトがひきまわされてたり、ソースコ

    オブジェクト指向は禁止するべき - きしだのHatena
    tuto0621
    tuto0621 2014/07/21
    後半が本番。「再代入や状態変更がない変数を除くと、残る変数は状態を管理するものになる。プログラムにおいて、管理する状態が少なければ少ないほどえらい。」
  • igaiga diary - スパイスライフで働くエンジニアが嬉しく思っている9つのこと

    _ スパイスライフで働くエンジニアが嬉しく思っている9つのこと スパイスライフに入社してから半年ほどが経ち、私が入った当時2人(邦明率100%の頃)だったエンジニアも現在社員だけで7人、フリーランスの方をあわせて9人にまで増えました。 どうやって集まったのかを考えてみると、Rails寺子屋や邦明.rbなどのなんらかのコミュニティ活動で知り合った人がほとんどです。エンジニアの採用が難しいこの時代にいい人達に集まってもらえて、コミュニティへの感謝の想いは強まるばかりです。かつては私がコミュニティに育ててもらっていたのが、今はひっぱる側として、人の成長を通じてコミュニティに貢献できていると良いなと思っています(もちろん、私も今でも成長させてもらっています)。 さて、スパイスライフのエンジニアはどのような生態で生息しているのでしょうか。部長の職権を振りかざして「エンジニアの働き易い環境つくり」を進

    igaiga diary - スパイスライフで働くエンジニアが嬉しく思っている9つのこと
    tuto0621
    tuto0621 2014/07/17
    クラウド補助金制度
  • Rubyベストプラクティス -プロフェッショナルによるコードとテクニック - それはBooks

    tuto0621
    tuto0621 2014/07/10
    y() メソッドが使えるようになる。
  • Big Sky :: Rob Pike のプログラミングに関する5つの掟

    « git で pull-request を clone する設定が覚えられないので alias 書いた。 | Main | Vim で peco する「veco」書いた。 » 掟1 プログラムが時間を費やす箇所がどこにあるのかは知り得ない。ボトルネックは意外な場所で発生するため後知恵で批判してはならないし、ボトルネックがどこにあるか証明出来るまではスピードハックを入れてはいけない。 掟2 測定しよう。測定し終えるまでは、さらにはコードの一部分が残りのコードの支配的な量とならないならばチューニングを行ってはいけない。 掟3 凝ったアルゴリズムは、n が小さいときに低速となり、通常 n は小さい。凝ったアルゴリズムは大きな定数を有する。n は頻繁に大きくなり得ることを知るまでは凝ったアルゴリズムを得てはならない。 (n が大きくなる場合であっても、まず掟 2 を行いなさい) 掟4 凝ったアル

    Big Sky :: Rob Pike のプログラミングに関する5つの掟
    tuto0621
    tuto0621 2014/07/09
    凝ったアルゴリズムは、n が小さいときに低速となり、通常 n は小さい
  • すべてのプログラマが読むべき記事10選 | POSTD

    Javaプログラマやソフトウェア開発者として、私は「プログラマが知っておくべき…」というタイトルが付く記事から、多くのことを学びました。そういった記事は、特定のトピックに関する有益かつ詳細な情報を数多く与えてくれましたが、探し出すのが非常に困難でもあったのです。知識を探求する中でとても役に立つ記事を見つけたら、参考として何度も読み返せるようにブックマークしてきました。こういった記事を読むことは、どのプログラマにとっても有益になると思うので、私が集めた「 すべてのプログラマが知っておくべきこと 」を皆さんと共有する為にこれを書きました。 ここで紹介する記事は私が個人的にブックマークしたものです。「メモリ」、「Unicode」、「浮動小数点演算」、「ネットワーキング」、「オブジェクト指向設計」、「時刻」、「URLエンコード」、「文字列」などといった代表的なトピックについて載っています。このリス

    すべてのプログラマが読むべき記事10選 | POSTD
    tuto0621
    tuto0621 2014/07/01
    すべてのプログラマが知っておくべきレイテンシの数値が、よい
  • 最高のプログラミング言語(または私は如何にして心配するのを止めてコードを愛するようになったか) | POSTD

    常に世界のどこかで誰かが、この世で一番のプログラミング言語は何かというトピックで投稿し、忘れ去られた言語のすばらしい一面や、新しい言語の有用性を主張しています。どうやら、その順番が私に回ってきたのかもしれません。そろそろ私も、プログラミング言語についての自分の考えを皆さんにお伝えしようと思います。 始めに少し言い訳をさせてください。30以上の言語で開発した経験があり、他の人が書いた多くのコードと悪戦苦闘をしてきた開発者でもない限り、「自分の意見には客観性がある」とはとても言えないと思います。そんなわけで、このトピックを取り上げる他の多くの人と同じように、私の意見も偏っています。多くの言語に精通した開発者がこの話題自体を不毛だと感じるのは、このせいかもしれませんね。 要約: すばらしい言語 早速、このブログ限定ということで、私が考える”すばらしい言語”を発表しましょう。 アセンブリ言語: マ

    最高のプログラミング言語(または私は如何にして心配するのを止めてコードを愛するようになったか) | POSTD
    tuto0621
    tuto0621 2014/06/28
    色々網羅しててすごいけど過激なこと狙って発言しすぎ。Rubyがキラーアプリケーション/フレームワークが出なければ無名ってそれどの言語でもそうじゃないかと。CとUnixしかり、iOSとObjective-Cしかり。というかObjc
  • Ruby on Rails チュートリアルをやってみる 〜1日目〜 - おんがえしの blog

    目次 もうすぐ連休も近づいてきて何をやろうかなと思っていたのだけど、Railsチュートリアルをやってみることにした。今までSinatraでWebアプリを作ることが多かったので一回Railsの流儀を覚えたい。ラズベリーパイにゲーム機を載せるのとどっちがいいかな、と思っていたけど今回はこちら。 Ruby on Rails チュートリアル: 実例を使ってRailsを学ぼう - 達人出版会 最後までいくとマルチユーザー、認証あり、データベース付きで動くTwitterっぽいアプリケーションが出来るらしい、楽しみ。 第一章はRuby, Rails, GitHub, Heroku のセットアップ作業が主になった。(最大の難関と言ってもいいかもしれない) コマンドラインツールのインストール まず XCode コマンドラインツールが古かったので更新。 Mac での Xcode コマンド ライン ツールのイン

    Ruby on Rails チュートリアルをやってみる 〜1日目〜 - おんがえしの blog
  • はじめてのGo言語 - おんがえしの blog

    pt(monochromegane/the_platinum_searcher)を改造してみたくなり(つまりはWindowsでも動くagが欲しくて)、久しぶりに新しい言語が覚えたくなったのでGo言語をはじめてみました。 以下、最初にひっかかった所を含めてメモ。 インストール $ sudo port install go (or brew install go) 続いてGOPATHの設定。ソースコードやライブラリが置かれる場所だと理解している。 $ export GOPATH=$HOME/Documents/gocode 定まったら.bashrcに追記しておく。 Mercurial のインストール go get (ライブラリをインストールするコマンド) は Git や Svn や Mercurial 等をライブラリ提供者側が選択出来るらしい。で、Google製のライブラリは Mercuria

    はじめてのGo言語 - おんがえしの blog