※本記事は自分が運営するブログに転載しています 株式会社LITALICOでWebエンジニア(Rails)を担当しています、@YudaiTsukamotoです。 この記事は『LITALICO Advent Calendar 2016』16日目の記事です。 はじめに 私は学生時代は情報工学の専攻でもなければ、趣味でプログラミングをやっていたわけでもなく、 社会人になってWebエンジニアとして初めてまともにプログラミングを勉強し始めました。 入社するまでに独学で勉強の真似事をしてはいましたが、そもそもどうやって勉強していいのか全然わからず、本を読んで写経をして何故だか理由はよくわからないが動作してしまうミニブログを眺めては、ため息を付いて挫折を繰り返しておりました。 そんな初心者だった自分が、Webエンジニアとして食べていくために本気で努力して身につけたノウハウを、 「プログラミング勉強を加

プログラマには、複雑な正規表現が通った瞬間、エレガントな手順でワンライナーを書き上げた瞬間、ずっと巣食っていたバグの原因がわかった瞬間など、圧倒的な達成感とともに脳汁がだくだく出る瞬間があります。 この、難問に対してハッキリと正答が出せるおもしろさというのはとてもゲーム的なんですが、じゃあそれをゲームにしてしまおうというのが今日紹介するSteamで今月から早期アクセスを開始した『SHENZHEN I/O(深セン I/O)』です。 http://www.zachtronics.com/shenzhen-io/ http://steamcommunity.com/app/504210 この土日、普段だったら後回しにはしないPSVRもP5も放置して、これしか遊んでません。本来だったら、これを更新する時間はPSVRの感想エントリに充てるはずだった時間です。それほどの作品なので、是非1人でも多くの人
将棋プログラムは、人工知能を学ぶのにぴったりな題材です。コンピュータに将棋の指し手を考えさせるには、第2回で説明した昔ながらの記号処理的人工知能から最近の機械学習まで、幅広く使う必要があるためです。それよりも何よりも、将棋という題材は楽しく盛り上がります。 前回までは、人工知能の定義や分類、向く仕事と向かない仕事、人工知能の歴史を見てきました。今回からはいよいよ人工知能のプログラミングとして、将棋プログラムをつくってみることにします。 様々なゲームの中から将棋を選んだのは、将棋が日本人に親しまれているほか、本将棋からミニ将棋まで幅広い種類があり、適当な難度の将棋を選択できるからです。たとえばミニ将棋であれば、研修の中でプログラミングできる難度です。後日、ミニ将棋を使った研修の事例を紹介する予定にしています。将棋自体のルールはここでは紹介しませんが、将棋が他の盤上ゲームと比べてどのようなゲ

どうも、まさとらん(@0310lan)です。 今回は、Webサービスなどを開発する際に、ユーザーの管理や識別などで必要になる「ユーザー認証」機能を、できるだけシンプルに作ってみたいと思います。 利用するのは、さまざまなバックエンド機能を提供するGoogleの【 Firebase 】です! 非常に多機能なサービスですが扱いはとてもシンプルで、簡単なコードを覚えてしまえば誰でも活用できるはずです! 自分でサーバーを用意する必要もなく、基本的な機能は無料で使えるので今すぐ始められるのも特徴と言えるでしょう。 ■始め方! 今回は、「メールアドレス」と「パスワード」でログインする一般的な「ユーザー認証」ページの作成に挑戦してみましょう! そこで、まずはFirebaseにアクセスして新規にプロジェクトを作成します。 好きな「➀プロジェクト名」と、自分の「➁国名」を指定します。 すると、プロジェクト

フロントエンドのパラダイムを参考にバックエンド開発を再考する /TypeScript によるGraphQL バックエンド開発

コンテンツ 第1章 基本的な用語 第2章 オブジェクト指向開発 第3章 設計の問題 第4章 オブジェクト指向設計の原則 第5章 単一責任の原則 第6章 Visitor パターン 第7章 LSP、DIP、ISP 第8章 パターン技術 第9章 ユースケース 第1章 基本的な用語 クラスとオブジェクトの違い 第2章 オブジェクト指向開発 オブジェクト指向開発 オブジェクト指向分析 機能外要求 User インタフェース Student クラスとTeacher クラス Student クラスのソースコード Teacher クラスのソースコード 演習2-1 UserLocator クラスのソースコード 演習2-2 演習2-2 の解答 Teacher.java UserLocator.class 第3章 設計の問題 演習3-1 演習3-1 の解答1(返却値を利用した方法) 演習3-1 の解答2(条件分岐
レトロ・スタイルのクリエイティブ・ツール『PICO–8』のさらなる普及のために、このAUTOMATONで、PICO–8を使った開発を解説する連載をすることになりました。連載初回の今回は、まずPICO–8というものについてご説明したいと思います。 自己紹介 はじめまして、三原亮介と申します。非ゲームのプログラマーをしながら、iOSのローグライクゲーム『Gesuido』を開発しています。また、レトロ・スタイルのクリエイティブ・ツール『PICO–8』の大ファンであり、日々小さなゲームなどを作って遊んでいます。 このたび、PICO–8のさらなる普及のために、このAUTOMATONで、PICO–8を使った開発を解説する連載をすることになりました。連載初回の今回は、まずPICO–8というものについてご説明したいと思います。 第1回: PICO-8って何? 第2回: プログラムで絵を描こう 第3回: ア

はじめに 数理情報工学実験第二という演習で、Raspberry Piをつかって何かを作ることになりました。そこでAMATERASUという自動ノート取り装置を作ったので紹介します。 そもそもRaspberry Piって? Raspberry Pi3 Model B ボード&ケースセット (Element14版, Clear)-Physical Computing Lab 出版社/メーカー:TechShareメディア: エレクトロニクスこの商品を含むブログ (3件) を見る これです。安くて小型で色んなセンサーをつけて遊べるコンピュータです。今回はカメラモジュールを使いました。 自動ノート取り装置とは 自動ノート取りの目標は、講義を撮影した動画*1を処理することで、ノートの代わりとして使える画像を出力することです。具体的には次のgifのような画像を次々出力していくのを目標にしています。黒くな

なにこれすごい。 Kiteはお使いのエディターやターミナルと連動するプログラミングサポートツールだ。 これを横でたちあげておくと「この命令はこういう意味だよ」「そこ間違ってるし」「サンプルコードはこちら」といったことを教えてくれるのだ。 秀逸なので自分が使っているツールをそのまま使える点だ。 まだリリース前だが、是非サイトのデモムービーを見てほしい。あなただけのプログラミングパートナー、というキャッチがとても素晴らしい。

DIコンテナ使ってるけど、アノテーションってなんなの!って聞かれて、作ってみたらわかるよと答えてみたので、自分でも作ってみました。 よくわかった。 「DIコンテナ使うと何がいいの?」ということも、作ってみるとわかります。あと「DIって何がいいの?」に関しては、「DIはちょっとコードを書くのが楽になるだけで、それだけあっても仕方ない、大事なのはコンテナ」と答えるようにしてますが、コード比率からもそれがよくわかります。 続編としてWebフレームワークも作っているので参考まで。 作って理解するWebフレームワーク - きしだのHatena まずはコンテナを作る とりあえず1ソースの状態で。 こんな感じで、管理する型を登録できるようにします。 staticMap<String, Class> types = new HashMap<>(); static void register(String

What to expect at Meta Connect 2025: 'Hypernova' smart glasses,AI and themetaverseMeta Connect, the company's annual event dedicated to all things AR,VR,AI and themetaverse isjust days away. And once again,it seems likeit will be a big year for smart glasses andAI. Instagram fixed an issue that caused posting multiple Stories totank your reachInstagram fixed a bug that made posting multi
2016 - 03 - 20 だからみんな、Vimになれば良いのに… シェアするTwitterGoogle+Pocket 春分の日 は.vimrcを編集する日 皆さんは テキストエディタ は何を使っていますか。メモ帳?秀丸 ? GNUEmacs ?私はVim です。鬱が開けて 春分の日 で季節の変わり目なので、.vimrcを装い新たに編集することにしました。Vim の プラグイン 管理にはneobundleを使っていたのですが、neobundleが オワコン になることがアナウンスされていたのでVim -Plugに乗り換えました(dein.vim にはしませんでした)。 ついでに Gmail とかTwitter とかもVim で読めた方がいんじゃね?と思って.vimrcの全面的な書き換えに着手。.vimrcが680行くらいになりました。はてなブログ や WordP

12月、私は PuPPy(the Puget SoundPython users group)の会合でQ&A セッション を行いました。そこでようやくPython 3が誕生した理由と、string/bytesに関する全てを説明しました。Python 3が作られた理由をユーザはもう知っているはずだと思っていたので、私はこの説明で称賛を得たことに、ちょっと驚きました。後で考えてみると、Pythonに詳しい人もそうでない人も含めて大多数の人が、その理由を探すように言われたり、好奇心からその理由を探し当てられるなどと考えた私が愚かでした。ですから、このブログの記事で、Python 3が存在する理由をわかりやすく説明します。後方互換性の全くない unicode / str / bytes の仕様変更は、Python 3のコードの移植の中でも本当に難解な部分ですので、私たちがその仕様変更を選択した理

Linuxでテキストデータを扱うときに、コマンドをパイプで繋げるだけでいろいろな処理ができて面白いのですが、綺麗に整理されていない気がするのでまとめてみます。ここでは、cat, paste,join, grep, head, tail, cut, awk, sed, tr, sort, uniq, wc を取り上げます。 ファイルを縦に結合 ファイルを縦に結合します。 コマンド 説明 cat file1 file2 ... file1, file2, ... を縦に結合 cat file | ... としてファイルの中身をパイプに流すのにもよく使います。 ファイルを横に結合 ファイルを横に結合します。あまり使わない?*1 コマンド 説明 paste file1 file2 .. file1, file2, ... を横に結合join file1 file2 file1 と file2

プログラムを独学で勉強している初心者です(2ヶ月くらい) ちょっとした疑問があり、質問させていただきます。 プログラムのサイトなどには、変数などの名称には英語を使うべきと書かれています。 これはなぜなのでしょうか? はっきり言って、この風習があるために勉強で困っています。 勉強のためにサンプルコードなどを見ていても、英単語が並んでいると、 どれがプログラム特有の命令で、どれがプログラム記述者が自由につけた変数名なのかが わかりにくいのです。 変数は変数であることがはっきりわかったほうが便利だと思うのです。 プログラムに慣れている人にはそんな必要ないのでしょうが… 自分でコードを書く時には、あとから自分でわからなくならないように 変数名には必ず「h_」をつけるようにしています。 h_speed とか h_count とか。英語にするべき理由と、初心者のうちだけでも変数がわかりやすくするよう

17歳にして世界で初めてiPhoneのSIMロックを解除し、その後も脱獄(ジェイルブレイク)界隈で名を上げ、プレイステーション3を誰よりも早くハッキングしてソニーに訴えられるなど、天才プログラマーにして伝説的なハッカーとして知られるジョージ・ホッツ氏が、なんと1カ月で市販車を改造し、自動運転車に仕立て上げました。世界中の自動車メーカーやIT企業がこぞって参戦している自動運転車の開発競争に天才がたった一人で殴り込みをかけるとこうなるようです。 George Hotz Is Taking on Tesla by Himself http://www.bloomberg.com/features/2015-george-hotz-self-driving-car/ ホッツ氏が開発した自動運転車が実際に自動運転する様子は以下のムービーで確認できます。 Meet the 26-Year-Old Ha

はじめに 開院準備 昔むかし/ レベル差/教育/ ネットワーク/ 情報集め/ 隠すことについて/ プログラムコンテスト/ ドキュメント/ 楽するように/ 手抜きと下手の違い/ 開院 第1部 外来 第1章 普通の初心者 最初から充実した(!?)プログラムが登場 関数を短くし、コメントを改善する 上手になる秘訣/ プログラムの紹介/ 何だ、このプログラムは!!/ 短くするには/ コメントについて/ 無駄な努力をやめよう/ 名前/ 気になる個所/ 修正プログラム/ 課題/ まとめ 第2章 これでもプロ 売りものであるにもかかわらず、超きたない! 構造的な欠陥の指摘〜引数、ポインタの活用 プログラムの紹介/ 「超」基本的問題点/ 関数分解/ 構造的欠陥/ 引数を使おう/ ポインタ/ その他/ まとめ(修正プログラム) 第3章 上司が問題 まさに驚異的なプログラムの見本というべき 内容の修正から、
どうも、まさとらん(@0310lan)です。 みなさんは、Webアプリの開発にトライしたことはありますか? いざ、コードを書き始めるとちょっとしたことで悩んだり、簡単に思っていた処理が意外と面倒であったり、データベース操作が難しかったり…など、予想以上に困難な場面に直面することが多いと思います。 そこで今回は、初級者から上級者まで幅広い開発シーンを想定し、面倒な作業を解消して便利に活用できる無料Webサービスを厳選してみましたので、ご紹介しようと思います! 目次 ・悩みがちな「関数」や「変数」の名前を日本語で一発変換! ・Eメール認証の判定を自動化する! ・多彩な「情報リソース」を無料でゲット! ・わずか数行で画像要素をInstagram風のオシャレ写真に変換! ・任意のWebサイトURLから自動で「スクショ」をゲット! ・超お手軽にソースコードをシェア&レビューする! ・Googleスプ

PFN のオンプレML基盤の取り組み / オンプレML基盤 onKubernetes 〜PFN、ヤフー〜
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く