タグ

programmingに関するmkwtysのブックマーク (17)

  • Table of Contents · Game Programming Patterns

    Table of Contents Game Programming Patterns Acknowledgements Introduction Architecture, Performance, and Games Design Patterns Revisited Command Flyweight Observer Prototype Singleton State Sequencing Patterns Double Buffer Game Loop Update Method Behavioral Patterns Bytecode Subclass Sandbox Type Object Decoupling Patterns Component Event Queue Service Locator Optimization Patterns Data Locality

  • これからプログラミングを学ぼうとする君へ | Social Change!

    今や、あらゆる場面においてソフトウェアが重要になってきた社会の中で、プログラミングを学ぼうと考える人も多いだろう。プログラミングを身につける方法は、インターネットにはたくさん情報があるし、も多くある。開発環境も無料で使える。独学したい人には良い時代になった。始めるのは、とても簡単だ。 一方で、挫折する人も多くいることが想像できる。情報が多くありすぎて、学び方ひとつとっても様々なことを言っているし、チュートリアルのようなものをやってみても、じゃあ自分で作るなら一体どうすれば良いかわからない。どの言語を選べば良いか、頭でっかちになって始められない人もいるかもしれない。 プログラミングを手っ取り早く身に付ける方法などあるのだろうか。これは、正解のない問題だ。人によるし、作りたいものにもよる。身に付けたい動機にもよるし、そもそもが、どこまで出来たらプログラミングを身に付けたと言えるのだろうか。

    これからプログラミングを学ぼうとする君へ | Social Change!
  • The Outrageous Cost of Skipping TDD & Code Reviews

    The Color of Money — Chris Potter (CC BY 2.0)Update Jan 26, 2019: It has been brought to my attention that the claim “fixing a production bug may cost 100x more than fixing a bug at design time” is apocryphal. I still stand by the positive ROI and timesaving powers of TDD, but you should read this as a subjective opinion rather than scientific fact. Our industry is in great need of better data col

    The Outrageous Cost of Skipping TDD & Code Reviews
  • ペアプログラミングのやりかた -

    ペアプログラミングのやりかた - 目次 http://www.wikihow.com/Pair-Program 7つのステップ123 1. 作業を決める 2. 最初の目標を決める 3. パートナーを頼りにし、支えてやる 4. 喋る 5. お互い何をやっているか把握する 6. 喜ぶ 7. 交代する コツ http://www.wikihow.com/Pair-Program ペアプログラミングとは、二人が一つのキーボードでプログラミングをすること。 driverはキーボードを叩き、observer(あるいはnavigator)はdriverの書くコードを眺め、エラーや設計を吟味する。 7つのステップ123 1. 作業を決める 座る前に、1〜2時間程度で終わると確信できるはっきりした仕事を決める。 例:「引越しトラックのデータベースに『修理履歴』の機能をつける」 2. 最初の目標を決める 数

  • [第1回]ドワンゴのプログラミング教育、社会人向けにコンピュータサイエンスも教えたい

    ドワンゴは、インターネットを利用した通信制の高等学校「N高等学校」(N高)のカリキュラムの一つとして、プログラミング教育に取り組んでいる。N高のプログラミング教育の責任者である清水氏、N高生向けに無料で提供している課外授業のN予備校でプログラミング教育を担当する吉村氏、N高生向けの通学制コース「バンタン プログラマーズ・ハイレベル・ハイスクール」(PHH)の責任者である草野氏に話を聞いた。 N高のプログラミングの授業とPHHの関係を教えてほしい。 清水:N高は普通科の通信制高校だ。情報の授業はあるが、プログラミングだけをやるわけではない。プログラミングは、N予備校という課外授業として提供する形にしている。N予備校のプログラミングのカリキュラムは「プログラミングができるようにする」というスタンスだ。 これに対し、PHHはプロのプログラマーを養成することを目的とする。プロの現場で必要なチーム開

    [第1回]ドワンゴのプログラミング教育、社会人向けにコンピュータサイエンスも教えたい
  • 契約による設計の紹介 - Hatena Developer Blog

    こんにちは、チーフエンジニアの id:hakobe932 です。 はてなでは毎週、社内技術勉強会を開催しています。先週の勉強会では現在開催中のはてなインターン2016の参加者のみなさんもインターン生も参加して、いっしょに技術交流を行いました。 このエントリでは、そこで発表した、契約による設計の紹介をしたスライドを公開します。 契約による設計はBertrand Meyer氏によるオブジェクト指向入門*1という書籍で紹介されている考え方です。 オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング) 作者: バートランド・メイヤー,酒匂寛出版社/メーカー: 翔泳社発売日: 2007/01/10メディア: 単行(ソフトカバー)購入: 11人 クリック: 307回この商品を含むブログ (130件) を見る 契約による設計で

    契約による設計の紹介 - Hatena Developer Blog
  • 関数の話

    Supershipの社内勉強会で使ったやつ

    関数の話
  • 突如見知らぬ言語に出会ってしまった俺達は

    YAPC Hachioji 2016の資料です

    突如見知らぬ言語に出会ってしまった俺達は
  • メッセージベースによるゲーム駆動

    みなさま、こんにちは! Cygames Research 所属、エンジニアの和泉澤と申します。 ゲーム業界歴20数年。メガドライブの時代よりゲームプログラミング一筋です。 時折、幾つかの知見をご紹介させて頂けましたらと思います。 ゲーム制作における内部実装には、古今東西、様々な方法論が存在しています。 アクション、RPG、カードゲームやアドベンチャーゲーム等、そのジャンルにより採択される方法は多種多様でありますが、制作するゲームの持つ特徴を良く理解し、そのゲームに適した設計を行うことは、ある種、ゲームプログラミングにおける醍醐味とも言えましょう。 アクションならばこの実装方法、RPGならばこれ、等といったような一意の方法論は勿論在りません。しかしながら、ゲーム業界黎明期より無数に生み出されたゲーム制作の歴史の上に、効率的な方法論というものは、ある程度通例として積み上げられています。 極シン

    メッセージベースによるゲーム駆動
  • 筋の悪さ | tech - 氾濫原

    JS しか書いてないんだなって人は筋悪いものをありがたがっていたりする印象はある。しかし筋悪いものをありがたがるみたいなのはどこにでもいるので、JSがどうとかは直接は関係がないはずではあると思う。JSしか書いてない人とPHPしか書いてない人は似たようなもんで、単に広範囲の知識に興味がないだけな気がする。 それはともかく「これは筋悪そうだな」っていう感覚がどこからくるのかよくわかってないので、現時点で思いつく限り雑にメモしておく。 割の合わなさ 「これは何の問題を解決してるんだろう」と思ってドキュメント読んだりソース読んだりした結果、大したことを解決してなくて、その割に実装量が多いとか学習コストが高いと、筋悪いなあと思う。 フットプリントや学習コストに対して提供されるモノが「割に合わない」のは筋が悪く感じる。 将来性のなさ 「あ、これはただの流行だな」みたいな、5年後には消滅してるなというも

  • GitHub - evanw/thinscript: A low-level programming language inspired by TypeScript

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - evanw/thinscript: A low-level programming language inspired by TypeScript
  • Unix Philosophy と Node.jsのモジュールの作り方 - from scratch

    The Art of UNIX Programming 作者: Eric S.Raymond,長尾高弘出版社/メーカー: アスキー発売日: 2007/06/19メディア: 大型購入: 4人 クリック: 91回この商品を含むブログ (62件) を見る TL;DR Unix Philosophyにおいては、「一つのことをうまくやり、協調する仕組みを持つ」という事が大事 Node.jsのモジュールにおいても同じで、「一つのことをうまくやる、Stream APIで協調する」と良い 「一つのことをうまくやる」にはどうするのが良いのか、ということで substack のモジュール実装例 Simple と Easyの違い ちょっと今回長くて文字が多いので、最初と最後にまとめを用意しました。時間がない方はこれを読むだけでもいいかと。 Unix Philosophy さてさて、Unix Philosoph

    Unix Philosophy と Node.jsのモジュールの作り方 - from scratch
  • Emojicode

    Emojicode is an open-source, full-blown programming language consisting of emojis.Install Emojicode 1.0 beta 2 Visit the docsOr Stay in touch with Emojicode Conceptually BrightAs a multi-paradigm language Emojicode features object-orientation, optionals, generics, closures, and protocols. Lightning FastEmojicode compiles to native machine code using lots of optimizations that make your code fast.

  • 書籍「プリンシプル オブ プログラミング」を執筆しました - Strategic Choice

    「プリンシプル オブ プログラミング」というを執筆しました。少し先ですが、2016/03 下旬 発売予定となっています。 書籍紹介・目次 どのような? 構成は? どうして必要? どうやって説明? 読んでほしい人は? 書いた人は? 最後に どのような? ソフトウェア業界で高名な、よいコードを書くための「プリンシプル」を紹介します。 プリンシプルとは、プログラミングの指針となる「前提」「原則」「思想」「習慣」「視点」「手法」「法則」のことです。これらは、歴史の審査を受けて生き残った、よいプログラミングのためのエッセンス(「普遍的」「定説的」「質的」な知識)です。 構成は? プリンシプルを、7つのカテゴリに分けて説明しています。 第1章 前提 〜 プログラミングの変わらぬ真実 〜 第2章 原則 〜 プログラミングのガイドライン 〜 第3章 思想 〜 プログラミングのイデオロギー 〜

  • Hello from CodeRoad | CodeRoad

    Real CodingThe first tutorial platform to run in a real coding environment: VSCode. Real ProgressCodeRoad is built on Git. Push your progress to GitHub, share with peers or potential employers. CreateCodeRoad is built for creators. Contribute to the open source platform or build tutorials.

  • 「for やめろ」またはイベントループと nextTick() - Block Rockin’ Codes

    ものすごく遅レスですが、LLDiver で @esehara さんの LT であった話。 forやめろ、あるいは「繰り返し」という呪縛から逃れるために 簡単に言うと、 1~10 までを出力する方法を複数考えるというもの。 for, while, 再帰, goto etc.. と出て、途中で終わっちゃったので結論はよくわかりませんでしたが、 Node ではどれも使わずにできるな、と思ったのでちょっと例を出してみます。 ちなみに、タイトルでネタバレしている通りイベントループの話です。 そしてよくある「イベントループとは何か」「なぜ止めてはいけないのか」「process.nextTick() とは何か」「setImmediate() と何が違うのか」 などを解説する良い例だったので、書いてるうちに実はそっちがメインの解説となりました。 サンプルの実行結果は Node v0.11.13 です。(書

    「for やめろ」またはイベントループと nextTick() - Block Rockin’ Codes
  • コード内で「現時刻」を気軽に取得してはいけない | Nekoya press

    日付を扱う処理についていろいろまとめたついでに、わりと簡単なことだけど知らないと落とし穴にハマる系のネタを。 日頃いろいろな処理を書いていて、現時刻を扱うこともは少なくないはずです。ですが、これを適当にやっていると困ることが多々あります。 実行中に「現時刻」を元にした処理がい違う 例えばこんなコード。ログ集計とかやってるイメージです。 class Analyzer(object): def analyze(self): logfile = datetime.datetime.now().strftime('my_log_file.%H') self.save(self.analyze_logfile(logfile)) def save(self, result): now = datetime.datetime.now() self.result[now.hour] = result

  • 1