KMC活動ブログ

京大マイコンクラブの活動の様子を紹介します!!

知見、宣伝、はようせい!【KMCアドベントカレンダー16日目】

こんにちは、KMC二回生のporuporu(@)です。

前回のtyageさんの記事

ECMAScript6勉強会 第14回 【KMCアドベントカレンダー15日目】 - KMC活動ブログ

KMCらしい記事で大変良いですね。

KMCは常に何かしらのプロジェクトが立っていて、ゲームを作ったり、電子工作をしたり、勉強会も様々な種類があります。

PC関連全然詳しくないけど、PCで何かしたい!などという人も歓迎です。

KMC広報担当のpastakくんがアドベントカレンダーを書けと強要してきた。穏やかじゃない

プログラミングやDTMなどの技術力を一切もたない(おそらく)唯一の部員であるところのぼくporuporuですが、プロジェクトを立ち上げてゲームを作ったりはしているので今回は

ゲーム製作してる時の自分の手法

去年と今年作ったゲームの宣伝

の話をします。

先日、行われた京都大学の11月祭「NF」でKMCはpepperくんの展示や学習発表会などを開催し、毎年恒例のゲームの展示・販売も行われました。

去年と同様、ぼくもプロジェクトリーダーとなりゲームを制作し、展示しました。

今年作ったゲームは、今年春頃大学生の間で流行した「2048」というゲームをプレイしていた時に思いついたゲームです。

構想を練っていくうちに参考とした「2048」の形はかなり崩れましたが、パズルゲームとしては質の良いものができたと思っています。

こちらがそのゲーム「宮数」です

http://www.dotup.org/uploda/www.dotup.org57260.jpg

これは実際にNFで展示した際の最も簡単なステージとして、作った問題です。

これだけだとどうすればいいかわからないと思うので、ルールを説明すると、

自キャラ(数字部分がオレンジ)を操作し、他の数字を押すと以下のことが起こる
  1. 同じ数字だった場合、合体し倍の数字になる(2+2=4,16+16=32)

  2. 押した数字よりその先にある数字が小さければそのまま押せる

  3. 押した数字よりその先にある数字が大きければ動かない

以上のルールを守りゴールを目指すゲームです。

暇な方は先ほどの問題を頭の中で解いてみましょう。

このゲーム、他のことでもそうですがぼくが問題やゲームを作るときは

まず全体像をなんとなーく浮かべてゴール(答え)から作っていきます。

それには理由があります。

全体像を「なんとなく」浮かべるのは、途中で変更しなければいけない点や考えていたものよりもいいものを思いついた時にすぐに対処できるからです。

しっかりと考えてしまうと、それを変更したくなくなったり期待以上のものは出来上がりません。

しかし、それでは締切に間に合わなくなったり、まとまりがつかなくなってしまうので例外でゴールや物語の結末だけは先にキッチリ決めます。

ゴールが決まっていて、予定も立てやすいしそれに向かっていくためにはどうすればいいかを考えれます。 マラソンのような感じですね。

先ほどの宮数もそうです。

まずはゴール位置と一番大きい数字を決め、そこからやりたいギミックやスタート位置決めたりしてます。

これはNF版宮数の最終ステージですが、複雑そうに見えて作るのには10分程しかかかっていません。

http://www.dotup.org/uploda/www.dotup.org57389.jpg

(ちなみにNFの4日間でクリアした人は挑戦した人の0.5%以下)

創作でなかなか完成しなかったり、まとめるのが苦手な方は上記の手法を試すと良いかもしれません

宣伝!!!!!

去年NFとC85で展示販売した経験値システムを取り入れた縦シューティングゲーム

CreatureVSクレアちゃん

が来春webで無料公開予定!!!

そして、この記事で紹介した宮数ですが近日iPhoneアプリとして登場予定!!!

NF版ではプロジェクトメンバーではなかったKMC部員であるlp6mくんが提案してくれました。

製品版で実装していた自分でステージを作るエディットモードも搭載して、ユーザー同士で問題を出し合い解き、作者もさらに面白 いと思える問題を制作しみなさんに解いてもらう予定です。

様々な障壁はありますが公開できるように頑張ります!

それではぼくの記事は終わります。拝覧ありがとうございました。

次回の記事はspi8823くんの記事です

去年話題になり、新世代のゲームエンジンであるUnityについて書くそうです。

今年のNFではUnityで作った3Dシューティングゲームを展示していました。

彼は去年の「CreatureVSクレアちゃん」の製作者の一人でもあります。

乞うご期待!!

ECMAScript6勉強会 第14回 【KMCアドベントカレンダー15日目】

この記事はKMC Advent Calendar 2014の15日目の記事です。

ECMAScript6勉強会

こんにちは id:tyage です。

KMCでは6月からゆっくりとECMAScript6の仕様を読み進める勉強会をしています。

過去の記事を以下に挙げておきます。

第14回

10/27に第14回を行いました。

この回では Object.is, Object.getOwnPropertySymbols, Object.setPrototypeOf, Array.of, Array.prototype.copyWithin, Array.prototype.keys, Array.prototype.values, Array.prototype.entries, Array.prototype[Symbol.unscopables], function "name" propertyを読みました。

Object.is

2つのオブジェクトを比較して等しいかどうかを返します

比較ロジックは http://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevalue にあります。

Object.is(window, window) // => true
Object.is(NaN, NaN) // => true
Object.is(+0, -0) // => false

Object.getOwnPropertySymbols

シンボルがキーになっているプロパティを取得します

a = {}
a[Symbol('test')] = 1
Object.getOwnPropertySymbols(a); // => [Symbol(test)]

Object.setPrototypeOf

オブジェクトのgetPrototypeOfで返ってくる値を変更します。

今までだとprotoプロパティで設定できたのですが、ES6だとこれを利用することで変更できるようになりそうです。

Object.setPrototypeOf(document, Array.prototype)
document.__proto__ === [].__proto__ // => true

Array.of

引数から配列を生成します。

Array.of(1,2,3) // => [ 1, 2, 3 ]

Array.prototype.copyWithin

Array.prototype.copyWithin (target, start [ , end ] )

startからendまでのものをtargetから先にコピーします。

破壊的なメソッドのようです。

各種TypedArrayにも実装されているので、memcpy的な使い方をすると便利なのではないでしょうか。

[1, 2, 3, 4, 5].copyWithin(0, 3) // => [ 4, 5, 3, 4, 5 ]
[1, 2, 3, 4, 5].copyWithin(4, 3) // => [ 1, 2, 3, 4, 4 ]
[1, 2, 3, 4, 5].copyWithin(0, 3, -1); // => [ 4, 2, 3, 4, 5 ]

Array.prototype.keys

名前の通り、keyをiteratorで返します。

for (var i of new Array(9).keys()) console.log(i)

Array.prototype.values

名前の通り、valueをiteratorで返します。

for (var i of new Array(9).keys()) console.log(i)

Array.prototype.entries

配列の各要素を[ key, value ]iteratorで返します。

for (var entry of [3,3,4].entries()) console.log(entry)
/*
=>
[0, 3]
[1, 3]
[2,4]
*/

あとで書く

Array.prototype[Symbol.unscopables]

ES6でArray.prototype以下のメソッドが追加されたことにより、以下のようなコードで問題が発生することに配慮したプロパティです。

var keys = [1, 2, 3]
with ([]) {
  keys.push(4)
}

ここでwith構文内で出てくるkeysに関して、Array.prototype.keysが呼ばれる問題を解決する方法として、Symbol.unscopablesのプロパティで設定されているメソッドはwith構文内で使えないようになっています。

Array.prototype[Symbol.unscopables]
/*
=>
{
  copyWithin: true,
  entries: true,
  fill: true,
  find: true,
  findIndex: true,
  keys: true
}
*/
with ([]) {
  console.log(length)
  console.log(findIndex) // => ReferenceError: findIndex is not defined
}

全部with構文が悪い。

function "name" property

各種関数オブジェクトのnameプロパティです。

今までのブラウザ実装でもnameプロパティがあったと思うのですが、どうやら独自実装だったようです。

(function hoge() {}).name // => hoge
(function* hoge() {}).name // => hoge
(new Function).name // => anonymous
({hoge() {}}).hoge.name // => hoge
sym = Symbol('hoge'),({[sym]: function() {}})[sym].name // => [hoge]

他にもいろんな種類があるようですが割愛いたします。

アドベントカレンダー次回予告

明日はporuporuさんの「NFで展示したパズルゲームのこと」です。

KMCM

KMCこと京大マイコンクラブでは、ECMAScriptになりたい部員を募集しています。KMCには入部制限はありません。年齢や学歴、人種、宗教、信条、性別、社会的身分、門地、国籍、経験などは不問です。また活動に関する制約もありません。IRCのチャット越しに会話に参加することだけでも大丈夫です。詳細は下記Webページを御覧ください。

入部案内 — 京大マイコンクラブ (KMC)

450冊の本を自炊して思ったこと 【KMCアドベントカレンダー4日目】

この記事はKMC Advent Calendar 2014の4日目の記事です。

こんにちは、みなさん。私はKMC6回生のひでシスです。

今日は、私は大体450冊ぐらいの本を裁断・スキャン(自炊)する過程で得たいくつかの知見について共有したいと思います。この記事は裁断・スキャン・データ変換・そして運用の各面における実際の運用に基づいたやり方やTipsを紹介します。この記事は実際に本を自炊して物理的蔵書量を減らそうと考えている人にとって大きな参考になるでしょう。

私は来年度の夏からインドネシアへ留学する予定であるため、部屋の物をほとんど捨てなければいけません。 https://twitter.com/hidesys/status/462933989171277826/photo/1

f:id:kmc-log:20141205010118j:plain

これは私の部屋です。段ボールの8割が本です。私は引っ越しを行う来春までにほとんどすべての本を裁断スキャンするつもりです。

自分で自炊行為を行うことの一つのAlternativeな選択肢として、自炊代行業者の利用があります。しかし、これはこの前裁判になっていました。

高名な経済学者であり玄奥な哲学者、そして世界でもっとも重要な役割を果たした革命家であるカール・マルクスは次のように述べています。「資本家による生産手段の専有が問題なのだ」。私は共産主義者で革命家ですが分権と民主主義を最も大切に考えています。集産主義は悲劇をもたらします。私たちが私たちの家に自炊設備を持つべきなのです。

1. イントロダクション

1.1 自炊とはなにか

私がこの記事を技術的知見を共有するためだけの目的で書いたのならば、読者は自炊が何であるかについて知っているでしょう。しかし、この記事はKMCのアドベントカレンダーです。私はまず始めに自炊が何であるかについて説明しなければなりません。

自炊という単語は独身者が自分で料理をして食べることを本来指す用語です。しかし、私はこの用語を前に示した通り別の意味で使っています。それは本を裁断してスキャンし、そしてデジタルデータに変換することです。

2 自炊の手順

百聞は一見にしかずという諺があります。では、実際に自炊の一連の流れを見てみましょう。

2.1 裁断:PK-513LN

まず、私たちは本を裁断します。裁断は本の背表紙を大型カッターで切断し、紙をバインドしている部分を取り除くことで本をバラバラの紙に分解する行為です。これを行うことによって、あなたは本を紙の束に変換することができます。

ああ素晴らしき大脳パワーライフ's post on Vine

動画の通り、私はPK-513LNを使っています。

f:id:kmc-log:20141204234422j:plain

裁断機選びは非常に重要です。何故ならば、良い裁断機は時間と手間を節約するからです。Amazonなどで中国から輸入されたレバーの左右どちらか一方に付いた安価な裁断機をあなたは15千円程度で入手することができます、しかし、これは賢い選択とはいえません。私は私以外日本の自炊を行っている人たちを2人知っています。初め、彼ら二人共が安さの故に中国製の片側レバー裁断機を購入しました。しかし数カ月後に彼らは新しい裁断機を買うことを決定しました。なぜなら、それらの歯は鈍くとても切れにくく、本を裁断するのに多くの手間がかかるからです。PK-513LNなどのレバーが手前に付いた裁断機は少し高く大体倍の価格(30千円ほど)がします。しかし、あなたが多くの本を裁断するのならばそれらはその価格以上の価値があります。

また、あなたが本を裁断する際はつねに本が傾いてセットされていないかに気を払うべきです。もしあなたが本を以下のようにセットして裁断したとしましょう。

f:id:kmc-log:20141205000835j:plain

すると、本のすべてのページが台形に切られてしまいます。台形のページはスキャンしづらく、ソフトによりますが傾き補正もかかりにくいです。

不運なことに、中国製の片側レバー裁断機は常に本を斜めに裁断してしまう欠点があります。本は台形に切られ、傾いたデータはあなたの手元に永久に残ります。あなたはそれでも片側レバー裁断機を選びますか? 私は歯が垂直に降りる裁断機を強くおすすめします。

2.2 スキャン:DR-4010C

次に、紙の束になった本を連続スキャンします。紙の束を連続スキャン出来るスキャナのことをドキュメントスキャナと呼びます。私はCanonの業務用ドキュメントスキャナDR-4010C(中古で20千円)を使っています。

ああ素晴らしき大脳パワーライフ's post on Vine

多くのドキュメントスキャナが売られていますが、どれを選ぶべきでしょうか。ドキュメントスキャナを選ぶ際に気を付ける点は、原稿の搭載枚数とスキャンの速さと価格です。

CanonのDR-4010Cは漫画の単行本一冊分の原稿を一度に搭載できます。それはとても便利です。ScanSnapのように途中でフィーダーに原稿を追加する手間が省けます。スキャンソフトは付属していなかったので、NAPS2というソフトを私は使っています。また、スキャン速度の点で良いと思えました。しかし、カタログには載っていないいくつかの欠点をDR-4010Cは持っていました。

まず、スキャン速度についてです。たしかに、DR-4010Cはカタログ上のスキャン速度において有利です。しかし、インターフェースがUSB2.0であるためスキャンした後にデータの転送に時間がかかります。スキャンにかかった時間以上の時間が消費されるので、データ転送の時間はただ退屈です。

次に、メモリ不足についてです。DR-4010Cでカラー原稿を大量にスキャン――例えば美術館特別展のパンフレット等――をすると、必ずスキャナ本体のメモリ不足エラーが起こり、スキャンが停止されてしまいます。そのため、20ページずつぐらいに分けてフィーダに入れなければならず、非常にめんどくさいです。

最後に、これがもっとも大きな問題なのですが、原稿のスキャン範囲選択に問題があります。

f:id:kmc-log:20141205003431p:plain

周りが黒枠である漫画のページが原稿外だと認識されて切れてしまっています! まったく、これでは何が何だか解らない!

この問題は漫画特有のように思えますが、いくつかのペーパーバックの本の表紙でも同じ問題が起こりました。この問題は特に女性向けの漫画において深刻です。黒塗り白抜きで重要な心情吐露が行われたコマは必ず切れます。意味が解らない。

漫画のスキャンにおいては困ることのあるDR-4010Cですが、私は教科書やその他の本についてはその問題は起こらないので概ね満足しています。

2.3 デジタルデータの変換:ChainLP

スキャンされた紙のデータはそのままでも十分読むことが出来るのですが、あなたはデータを加工することでより良い読書体験を得るでしょう。 データの変換は特に電子ペーパー端末で読む際に重要です。電子ペーパー端末は概してスペックが低く画像の拡大縮小に問題があるため、Pixel-by-Pixelでないデータを転送すると汚く潰れて読めません。

私はKobo TouchのためにChainLPを使っています。

f:id:kmc-log:20141205004326p:plain

様々な機能が使え便利です。電子ペーパー端末を使うのであればChainLPは必須と言えます。また、データを変換すると容量が小さくなります。Kobo Touchの内部記憶領域を私は2GBから32GBへ換装してあるのですが、スキャンしたすべてのデータをたった300g程度のボディで持ち歩くことができます。これは革命的なことです。

2.4 そして、それを読む

あなたはPC・タブレット電子ペーパー端末など様々なデバイスでスキャンした本を読むことができます。KindleKoboと違って、自分でスキャンしたデータはデジタル著作権管理に縛られていません。(言うまでもないことですが、著作権法は必ず順守しましょう。私は自由主義者であり様々な規制に反対しています、これは政治的な思想に基づいた行為です)。あなたはデータをもっと柔軟に運用することができます。

f:id:kmc-log:20141205000620j:plain

左から、Acer ICONIA TAB 700A(10.1インチ・1980x1200)、Kobo Touch(6インチ、800x600)、Kobo Arc 7HD(7インチ・1980x1200)、背景はPCのモニタ(21.5インチ・1980x1080)

ああ、解像度!

電子ペーパー端末を除けば、解像度こそが端末を選ぶ際もっとも重要なファクターとなるでしょう。CPUスペックはあまり問題になりません。端末はただページをめくるだけで良いのですから! 例えば、Kobo Arc 7HDは処理速度の遅さ・もたつきがかなり目に付きます(やはり楽天はクソ)が、読書をする上においてはまったく問題になりません。まったく、Koboはやはり一般的なAndroid端末なのではなく読書端末なのですね。

Acer ICONIA TABやKobo Arc 7HDはAndroid端末としては良い選択です。解像度が高い上に価格が安い。iPadは使ったことがないのでよくわからないです。

ただ、私は一つ問題を抱えています。私は漫画を読む際、漫画は必ず見開きページで閲覧されなければならないと強く思っています。Android端末向けにはComicViewerというアプリが存在し、見開き設定で本を読むことができます。しかし、ページをめくっている内に左右が逆になったりなどバグがあり使いづらいです。私は新しいAndroid向け漫画ビューワーを開発することを視野に入れています。

3. 結論

本を裁断スキャンし魂を物理的本から救済し私たちの端末の上に自由に解き放つことは、我々の精神的自由にも役立ちます。常に大量の蔵書を持ち歩き、読みたい時に読める。このような時代が到来してしまったのです。

本を読む皆さん、とりわけ学問やイノベーションに関わる皆さん! 人類の叡智の結晶である本を常に携帯し、知的生産力を高めよう! PCとガジェットに興味のある全ての人は自炊の担い手になろう! 自炊に基づいたそれぞれの知的生産の力で社会を変革しよう!

最後に。 アドベントカレンダーの記事が遅れてしまい申し訳ないです。今日12/05のアドベントカレンダーの記事は「YAOYToolkitの宣伝」(hnagaminさんによる)の予定です。私はそれを待ちきれません。

ECMAScript6勉強会 第13回 【KMCアドベントカレンダー3日目】

この記事はKMC Advent Calendar 2014の3日目の記事です。

ECMAScript6勉強会

こんにちは id:tyage です。

KMCでは6月からゆっくりとECMAScript6の仕様を読み進める勉強会をしています。

過去の記事を以下に挙げておきます。

第13回

10/20に第13回を行いました。

この回では generators (yield), String.prototype.normalize, String.prototype.startsWith, String.prototype.endsWith, String.prototype.contains を読みました。

generators (yield)

generatorはES6で入った目玉となる機能の一つですね。

これを使ったライブラリとして、非同期処理の制御に使えるcoなんかは有名ですね。

generatorはiteratorを生成する役割を持った関数なのですが、関数の途中で処理を中断・再開ができるコルーチンのような役割も持ちます。

pythonのgeneratorに影響を受けていると思われます。

基本

基本的には以下のようにiteratorを生成することができます。

function* gen() {
  yield 2;
  yield 3;
}
gen2 = function* () {}
iter = gen()
for (b of iter) {
  console.log(b)
}

generator method

また、オブジェクトやクラスに対してgenerator methodを定義することも可能です。

obj = { 
  * a(){
    yield 1;
    yield 2;
  }
};
iter = obj.a()
for (b of iter) {
  console.log(b)
}

yield *

yieldではなくyield *として配列や文字列などのiterableなobjectを渡した場合は、それをiteratorとして返します。

a = function*() {
  var array = [1,2,3]
  yield * array
}()
for (b of a) {
  console.log(b)
}

return, throw

また、return, throwメソッドが用意されており、return, throwメソッドを呼ぶとそこでiteratorを終了することができます。

throwはFirefox34などでも実装されていますが、まだreturnが実装されている環境は少なさそうです。

a = function*() {
  yield 1
  yield 2
}()
console.log(a.next())
a.throw(new Error('stop it'))
console.log(a.next())

generator instance

仕様には以下の様な図が添付されており、generator instance does not expose access to its generator functionと書かれていました。

f:id:kmc-log:20141203185809p:plain

どうやらgeneratorのインスタンスからそのgeneratorへはアクセスできないようです。

console.log((new function *() {yield 1}).constructor) // => GeneratorFunctionPrototype

補足

そういえばgeneratorでthisをgeneratorのインスタンスとして使用するのは気をつけたほうがよさそうです。

Retrieving generator references

String.prototype.normalize

文字列をUnicode正規化できるメソッドです。

引数に正規化形式(NFD, NFC, NFKD, NFKC)を渡せます。

半角カナを全角カナにしたり

unescape(escape('タ'.normalize('NFKC'))) // => タ

濁点をとったり

'が'.normalize('NFKD')[0] // => か

圧縮文字を分解したりと思ったよりも便利です。

unescape(escape('㌕'.normalize('NFKC'))) // => キログラム

String.prototype.startsWith, String.prototype.endsWith, String.prototype.contains

それぞれ第一引数をsearchStringとして、第二引数をpositionとして受け取ります。

文字列がsearchStringから始まるか、searchStringで終わるか、searchStringを含むかを返す関数です

'123456789'.startsWith('345', 2) // => true
'123456789'.endsWith('567', 7) // => true
'123456789'.contains('345', 2) // => true

startsWith, containsの場合はpositionを先頭からの位置として受け取ります。(デフォルトは0)

endsWithの場合は末尾からの位置として受け取ります(デフォルトは文字列の長さ)

ECMAScript6勉強会次回予告

次回は14回(10/27)になります。

内容は Object.is, Object.getOwnPropertySymbols, Object.setPrototypeOf, Array.of, Array.prototype.copyWithin, Array.prototype.keys, Array.prototype.values, Array.prototype.entries, Array.prototype[Symbol.unscopables], function "name" property です

アドベントカレンダー次回予告

明日はhidesysさんの記事です。

楽しみです。

KMCM

KMCこと京大マイコンクラブでは、ECMAScriptになりたい部員を募集しています。KMCには入部制限はありません。年齢や学歴、人種、宗教、信条、性別、社会的身分、門地、国籍、経験などは不問です。また活動に関する制約もありません。IRCのチャット越しに会話に参加することだけでも大丈夫です。詳細は下記Webページを御覧ください。

入部案内 — 京大マイコンクラブ (KMC)

Pepper君と対峙したお客さんの反応5選【KMCアドベントカレンダー2日目】

はじめに

こんにちは、化学実験もするプログラマこと、KMC3回生のyu3です。

この記事は KMC Advent Calendar 2014 の 2 日目の記事です。

昨日は pastak さんの Go言語でWebアプリを書いてみた話とそのフォローアップ【KMCアドベントカレンダー1日目】 - Pastalablog in はてなでした。

KMC Advent Calendar ということで、最近のKMCの活動について書いてみます。

NFにPepper君が来た

京大マイコンクラブは今年もNFこと京都大学11月祭に出展しました。 今回の目玉は何と言ってもSoftBank社から来たPepper君。 4日間お客さんとの触れ合いを楽しんでいたようです。 私は付き人として、皆様とPepper君の交流をアシストさせていただきました。 そんな交流の中から、心に残ったものを紹介します。

Pepper君と対峙したお客さんの反応5選

客「何歳ですか」私「Pepper君その質問答えられないんですよ…」

よく聞かれました。うーん、0歳って答えればいいのかな…?

客「血液型は何ですか」私「Pepper君その質問(ry」

これもよく聞かれました。そもそもPepper君に血は流れていないよ…?

客「一緒に写真撮ろう」Pepper君、カメラではなく一緒に写る客を追いかける。私「…」

写真撮影モードを教えておけばよかったかなぁ。

私「pepper君その質問答えられないんですよ」pepper「あなたの運勢は(ry」

Pepper君、頼まれてもいないのに勝手に占ったうえに大凶っていうのあまりよくないと思うよ。

客「研究に行き詰ってるけど、どうしたらいいですか」 Pepper「あなたの運勢は、大吉です」

誰がうまいこと言えと。

番外編

私「死んで」Pepper「死んで?すみません、もう一度お願いします」

最終日に電源を落として梱包する前のお別れの言葉です。 プロセスを止めることを殺すって言うじゃないですか。そういうノリです。 納棺の儀にしか見えなかったから、お別れの前のあいさつがこうなるのも仕方がない(?) 喧嘩を売りに行ったら逆に売り返されました。調子に乗ってすみませんでした。

f:id:kmc-log:20141125110542j:plain

おわりに

正直、Pepper君がこんなに人気だとは思っていませんでした。 お客さんのPepper君に対するFAQにもうちょっと答えられればよかったな、と思います。 来年度のNFでは、さらに良い作品を目指していきたいですね。 ちなみに今回のNFの打ち上げ、例年は京都のみで行っているところ、急遽東京でも開催されました!めでたい!

明日は tyage さんの ECMAScript勉強会 です。

KMCM

KMCこと京大マイコンクラブでは、Pepper君の教育係になりたい部員を募集しています。KMCには入部制限はありません。年齢や学歴、人種、宗教、信条、性別、社会的身分、門地、国籍、経験などは不問です。また活動に関する制約もありません。IRCのチャット越しに会話に参加することだけでも大丈夫です。詳細は下記Webページを御覧ください。

入部案内 — 京大マイコンクラブ (KMC)

今年もやります!KMCアドベントカレンダー!!

こんにちは! id:Pasta-K です。

昨年好評を博したKMCアドベントカレンダー ですが、もちろん今年もやります!

では、以下今年のラインナップをどうぞ!!

今年のKMCアドベントカレンダー予定表

No日付名前 (はてなid)予告記事
112/1pastak (id:Pasta-K)Go言語でWebアプリを書いてみる話とそのフォローアップGo言語でWebアプリを書いてみた話とそのフォローアップ【KMCアドベントカレンダー1日目】 - Pastalablog in はてな
212/2yu3Pepper君と対峙したお客さんの反応5選【KMCアドベントカレンダー2日目】 - KMC活動ブログ
312/3tyage(id:tyage)ECMAScript勉強会ECMAScript6勉強会 第13回 【KMCアドベントカレンダー3日目】 - KMC活動ブログ
412/4hidesys (id:hidesys)450冊の本を自炊して思ったこと 【KMCアドベントカレンダー4日目】 - KMC活動ブログ
512/5hnagamin(id:hnagamin)YAOYToolkitの宣伝SchemeからOpenYoしよう【KMCアドベントカレンダー5日目】 - hnagamin’s diary
612/6nona7 不自由なYo からの脱却を求めて。【KMC アドベントカレンダー6日目】 - /dev/nona (いっと☆わーくす!)
712/7hnagamin関数品評会のネタ関数品評会【KMCアドベントカレンダー7日目】 - hnagamin’s diary
812/8yui9(id:yu_i9)Haskell正規表現Haskellで簡単な正規表現を実装した【KMCアドベントカレンダー8日目】 - tmp.txt
912/9murata(id:CHY72)受験生応援!Javascriptでひねくれ数列受験生応援!Javascriptでひねくれ数列!(KMCアドベントカレンダー9日目) - CHY72’s blog
1012/10nojima (id:nojima718)C++11 の rvalue の話unique_ptr で今風な C++ コードを書こう!! - Overjoy への道
1112/11nonylene(id:nonylene)電電宮にお参りした話電電宮に行った話 - Unyablog.
1212/12jf712(id:jf712)戦車しよかこれは KMCアドベントカレンダー2014 12/12 分の記事です。 - 霊安日記
1312/13non117(id:non_117)すごいKinect たのしくラボ畜!Kinect v2で人間の3Dスキャンとポイントクラウドでの描画をする 〜KMC/OUCCアドベントカレンダー2014 13日目〜 - non117's diary
1412/14ohai京大周辺のランチohai日誌(2014-12-14)
1512/15tyage ECMAScript勉強会ECMAScript6勉強会 第14回 【KMCアドベントカレンダー15日目】 - KMC活動ブログ
1612/16poruporuNFで展示したパズルゲームのこと知見、宣伝、はようせい!【KMCアドベントカレンダー16日目】 - KMC活動ブログ
1712/17spi8823(id:spi_8823)UnityとかUnity4.6で実装されたuGUIを触ってみた【KMCアドベントカレンダー17日目】 - なんかのあれ
1812/18hideya八ツ橋シューティングについて 前編八ツ橋シューティングについて(前編) 【KMCアドベントカレンダー18日目】 - KMC活動ブログ
1912/19nendokirustとかRustは開発中だけど面白い!【KMCアドベントカレンダー19日目】 - KMC活動ブログ
2012/20hatsusatoC++11 の rvalue の話Return Value Optimization (RVO)の話 【KMCアドベントカレンダー20日目】 - KMC活動ブログ
2112/21wackyイケてると思うdotfilesの管理方法イケてると思う dotfiles の管理方法 - KMC活動ブログ
2212/22hideya八ツ橋シューティングについて 後編八ツ橋シューティングについて(後編) 【KMCアドベントカレンダー22日目】 - KMC活動ブログ
2312/23lastcat盆栽日記盆栽日記……のはずが。 - lastcatのブログ
2412/24possum京都市バスICカード利用開始! (FeliCaのはなし)祝 京都市バスICカード利用開始! (FeliCaのはなし) 【KMCアドベントカレンダー24日目】 - KMC活動ブログ
2512/25prime (id:PrimeNumber)Brainf*ck + リフレクション = BFmetaお詫び 【KMCアドベントカレンダー25日目】 - KMC活動ブログ
2612/26prime (id:PrimeNumber)Brainf*ck + リフレクション = BFmetaBrainf*ck + リフレクション = BFmeta 【KMCアドベントカレンダー26日目】 - prime's diary
nm/d

さて、埋まってない日が埋まる日は来るのでしょうか・・・予定埋まりました!!!めでたい!!!

我こそはという方はこの記事のコメント欄などで表明してください。よろしくお願いします。

1日目はpastakさんで「Go言語でWebアプリを書いてみる話とそのフォローアップ」です。pastakさんは昨日くらいからMBPの起動ディスクが認識されなくなったようですが、無事ブログ記事を書けるのか!?!??乞うご期待!!

KMCM

KMCこと京大マイコンクラブでは「KMCアドベントカレンダーに参加したい!!」方を募集しています。KMCには入部制限はありません。年齢や学歴、人種、宗教、信条、性別、社会的身分、門地、国籍、経験などは不問です。また活動に関する制約もありません。IRCのチャット越しに会話に参加することだけでも大丈夫です。詳細は下記Webページを御覧ください。

入部案内 — 京大マイコンクラブ (KMC)