オセロAIを作り始めた日のこと あれは2021年4月のこと、今思い返せば偶然が重なって起きた出来事でした。 第一の偶然は、ゲームAI(ゲームを自動プレイするAI)世界4連覇の方になぜかゲームAIの初歩的な話を30分程度教わっていたことです。 第二の偶然は、Twitterの知り合いが「オセロソフトRTA」なる競技をやっているのを目にしたことです。なんじゃそりゃ、と思った私はすぐに、その競技が 「オセロで遊ぶプラットフォームをどれだけ早く作るか」を競うものだとわかりました。 面白い、やってみよう。 YouTubeでライブ配信しながら、私はオセロソフトRTAをやってみました。その時のライブはこちら。3時間で完成できれば良いと思っていたのですが、思ったよりも早く終わってしまいました。 オセロAIでも作るか。 こうして私のオセロAI制作が開始しました。 何をしたら良いかわからなかった オセロAIを作
概要 タイトルの通り、他言語から入門した人が最低限気にするべき、ネーミングルールをまとめました。 対象読者 Goの基本構文を理解している人を対象読者としています。 この記事で説明すること、説明しないこと 説明すること Goのファイル名、変数名などの名前付けに関するルールや慣例などを説明します。 説明しないこと 名前付け以外で気をつけるべきGoの書き方[1] がいくつかあります。 しかし、それらに関してはこの記事では説明しません。 筆者のバックグラウンド プログラマ歴はもうすぐ8年程で、Goの他には以下のような言語の経験があります。 JavaScript TypeScript PHP Ruby Java Scala Goは少し前に書いて、一時期書かない時期が続いていましたが、最近また書いています。 トータルするとGoの経験は1年半程度です。 意識すべき名前付けルール package名 利用し
この記事はECMAScript 2015の事始めとして、ライブラリをECMAScript 2015で書いて公開するというところから始めるのがいいのではという内容です。 ECMAScript 2015(ES2015)はES6とも呼ばれていてどちらも同じものを指しますが、この記事ではES2015に統一します。 ECMAScriptのバージョンについては次のページを参照してください。 ECMAScript · JavaScriptの入門書 #jsprimer 2018-12-27: 追記 textlint/textlint-rule-helperのmasterはTypeScriptの実装へ変換されています。 Babelの実装はhttps://github.com/textlint/textlint-rule-helper/tree/2.0.1から参照できます Babel から TypeScrip
The type for this book is set in 18px / 1.5 Adobe Serif, Sans, and Code. Buy Learn Python the Hard Way, 5th Edition When you buy Learn Python the Hard Way, 5th Edition directly from the author, Zed A. Shaw, you'll get access to the digital content for all 60 exercises, plus all 60+ videos that are normally sold separately. You'll also have access to direct help from Zed via Discord chat and live s
C is an M1 Garand standard issue rifle, old but reliable. C++ is a set of nunchuks, powerful and impressive when wielded but takes many years of pain to master and often you probably wish you were using something else. Perl is a molotov cocktail, it was probably useful once, but few people use it now. Java is a belt fed 240G automatic weapon where sometimes the belt has rounds, sometimes it doesn’
SonicGarden Study #11で放送された資料から一部スライドを抜いたものになります。 http://sonicgarden.doorkeeper.jp/events/13229 ----- 優れたプログラマだけが優れたソースコードを書くことができます。 では優れたプログラマになるにはどうすれば良いでしょうか。 自分の書いたコードを、優れたプログラマに指摘してもらうことが一番の近道です。それがコードレビューです。たった一人でコードレビューも受けずに、ただ書き続けてもクソコードはクソコードのままなのです。 そこで今回は、良いコードが書けるプログラマになるための、コードレビューを上手に実践する秘訣を話します。Read less
Kohei Ozaki (a.k.a. @smly) is a Software Engineer at Ubie. My specialties are around data and machine learning. I love to discover knowledge and hidden values in data.保険/金融/広告ほか様々な事業でデータ分析や研究開発などの業務を 10 年以上経験してきました。 現在はUbie株式会社でソフトウェアエンジニアをしています。またTURING株式会社でフェローをしています。 I am a Grandmaster of Kaggle competitions (an honor for top competitors with outstanding data science skills) with 19 gold medals
昨今アプリ開発を行う上でのUIアニメーションやデザインの重要性が非常に高まってきました。一方でアプリの質を保ちながら開発スピードを上げるためには、様々な工夫が必要です。 今回はDeNAの開発者である吉田正史さんに、開発事例をもとにどう現場の課題を解決し、効率を上げていったのかなどについて寄稿していただきました。 by 馬場美由紀 (CodeIQ中の人) 話に出てくるアプリの紹介 DeNA吉田です。 今回ご紹介するのは、実際に下記のアプリを開発する現場で直面した課題です。 RabbitCam RabbitCam Rabbit cam(ラビットカム)はアニメーションするスタンプやBGMを選び、合成して動画を作成するアプリです。 非常にかわいいスタンプをより、可愛くする細かい動きや、おしゃれに仕上げるための動画に対してのフィルタの色味など細かい調整を重ねました。 QuizNow QuizNow
本棚は自分の机のすぐ隣にあるのですが、なんとなく安心感とか勉強してる感とかを含め、思い立った時に手元ですぐ開いて調べたり暇つぶしにふと読みたい本ってありますよね。自分はインターネット、特にWebやインターネット基盤技術に関わる研究・技術者をやっているわけですが、自分の手元に置いておきたい本がやはりあります。 もちろん、手元に置くためのスペースは約20から30センチ程度なので、分厚い本を置くと数冊程度になってしまいますが、今日は「自分が現段階で持っている本のうち、キーボードのすぐ隣に置いておきたい本」8冊をなんとなく紹介したいと思います。 自分が手元に置いておきたい8冊 1. Linuxプログラミングインタフェース(6.5センチ) 分厚さ6.5センチと最強に分厚いですが、Linuxに関わるプログラミングをする際の辞書として手元においておく安心感は半端ないです。自分はミドルウェアの実装やそれに
Learn how to design great apps and games that integrate seamlessly with Apple platforms. Human Interface Guidelines Learn essential information about platforms, foundations, patterns, components, inputs, and technologies. The HIG offers guidance and best practices for designing exceptional user experiences across all Apple platforms.
Twelve Go Best Practices Francesc Campoy Flores Gopher at Google Best practices From Wikipedia: "A best practice is a method or technique that has consistently shown results superior to those achieved with other means" Techniques to write Go code that is simple, readable, maintainable. 2 Some code type Gopher struct { Name string AgeYears int } func (g *Gopher) WriteTo(w io.Writer) (size int64, er
最初にめどい言い訳をせねばならぬ俺は江島氏ともきょん氏とも面識はないですが、お二人ともが俺のことを知ってることを俺も知ってる程度には狭い業界であり。どちらかに肩入れしたいわけではないです。喧嘩したいわけでもないです。普段あまりここでは言及しないですが俺は今の仕事としてはテストを書いたりテストを実施したりする係をしてノリクチをしのいでおり、いわばテストは本業ですので、テストに言及することは今現在の同僚に対して意図しない受け取られ方をする可能性があるので困るので、それもあって普段はここではあまりテストの話はしないわけだが、だからと言って沈黙を破ってテストの話をするのが同僚に対して含みがあるというわけでもないです。とはいえ俺は大学等で真面目にソフトウエア工学の講義を受講したことがなく、経験と勘と昔取った杵柄だけで食ってるので、そういう意味では若干の後ろめたい気持ちもある。で、テストって何なん俺が
昨日は年始の挨拶ついでに ELPA について脈絡もなく突然書きましたが、引き続き近頃の開発環境についてもだらだらと書いてみよう。 Mosh mosh というと一部の人間はひげなんとかさんが開発しているモナー的なあれを思い浮かべるかもしれないがそうではなく、mobile shell のことである。 思い切り簡略化して言うと「快適なssh」。回線が不安定な所でもエコー遅延など全く気にせず使えるし、Mac をスリープさせて復帰させたときもリモートホストにそのまま繋がりっぱなしのように見せかけてくれたりする。 詳しくはこの辺を。 mosh: MITからモバイル時代のSSH代替品 - karasuyamatenguの日記 インストールはリモートとローカル両方に必要ですが、まあ大概パッケージがあると思います。EC2 の Amazon Linux でも yum レポジトリの EPEL を有効にすれば y
学校法人の信学会(長野市)は、プログラミングを必修科目とした日本初の広域通信制・単位制課程普通高校「コードアカデミー高等学校」を4月に開校する。クラウドを活用してオンラインで効率よく学習し、実践に耐えうるプログラミング技術を身につけることを目指す。 卒業に必要な74単位のうち20単位程度をプログラミング課目で取得するカリキュラム。未経験者でも初歩から学べるよう、1年目は基礎的な思考力を養うための簡単な言語を教材として設定する。2年目以降は興味に合わせたテーマを「マイプロジェクト」として定め、HTMLやCSS、JavaScript、データベース、Perl、Objective Cなどプロジェクトの実現に必要な技術を学んでいく。 学校生活全体をクラウド化し、ほとんどの学習がオンラインで完結するのも特徴の1つ。「Google Apps for Education」を全面導入し、カレンダーやメール、
技術評論社から表題のような本が出るようですよ。自分の記事も載ってます。 Web開発の基礎徹底攻略 (WEB+DB PRESS plus) 作者: 小飼弾,田籠聡,近藤宇智朗,並河祐貴,赤松祐希,井上誠一郎,ミック,天尋左石,和田裕介,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2013/07/23メディア: 大型本この商品を含むブログ (6件) を見る 何かというと、前に書いた記事 の再録なのですが! いちおう現在の事情にあわせて細部を手直ししております。というか、改めて読み直しても普通に今現在でも通用する内容で、おれ良い記事書いてんじゃーんとか思いました。 本ができて届いたので他の章もざっと目を通しましたが、やはりどちらかというと基礎的な内容が多いようです。大学を卒業したらあーんなWeb系企業で働くことが決まってて、コードもいちおうは書けるんだけどWebアプリケ
西尾泰和さん (@nishio)の新刊『コーディングを支える技術』をご恵贈いただきました。ありがとうございます。 コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB+DB PRESS plus) 作者: 西尾泰和出版社/メーカー: 技術評論社発売日: 2013/04/24メディア: 単行本(ソフトカバー)この商品を含むブログを見る 『達人プログラマー―システム開発の職人から名匠への道』という本で、こんなことが述べられています(手元に現物がないので「総論 複数のプログラミング言語を学ぶ意義」から孫引き)。 毎年少なくとも一つの言語を学習する - 言語が異なると、同じ問題でも違った解決方法が採用されます。つまり、いくつかの異なったアプローチを学習することにより、幅広い思考ができるようになるわけです。 先日、この話を思いだして「今年は何をやろうかなー」と考えていました。「去
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く