Murayama blog.

プログラミング教育なブログ

強化学習 - Tic-Tac-Toe

強化学習 - Tic-Tac-Toe 三目並べ、マルバツゲーム、Tic-Tac-Toeというそうです。強化学習(Q-Learning)のまとめとしてチャレンジしてみました。Googleで「Tic-Tac-Toe」と検索すると三目並べで遊べます。 先に結果 ランダムな相手(後手)には80%近い確率…

強化学習の始め方

普段やらない、強化学習について少し勉強したのでメモしておきます。 参考書籍 先に参考書籍の紹介です。 Pythonによる深層強化学習入門 ChainerとOpenAI Gymではじめる強化学習作者: 牧野浩二,西崎博光出版社/メーカー: オーム社発売日: 2018/08/17メディア…

超速習 - はじめてのPHPプログラミング

最速?でPHPプログラミングの基礎を学ぶためのガイドです。できるだけ短いコードでプログラミングの基礎となる変数や配列、制御構文、関数を紹介してみました。30分くらいで一通り紹介するイメージで。 開発環境としてはMacを想定しています。最近のMacはデ…

30minくらいで学ぶVue.jsとVuex

カウンターアプリケーションの開発を通じてVue.jsによるプログラミングとVuexによる状態管理を学びます。 ボタンを押したら数字が増えていくアプリケーションです。 Agenda Part 1 Vueアプリケーションの開発(10min) プロジェクトの作成 Vueコンポーネント…

勢いでMac買っちゃった人のためのWebプログラミング開発環境構築

同級生(昭和54年生まれ)の友達が最近プログラミングに興味を持っていて「Mac買おうかなー」と迷っていたのでまとめました。プログラミング楽しいよ。 私とプログラミング 2019年1月からMacBook Pro(15)に乗り換えました。以前の13インチに比べて5cmくらい…

フリーランス始めました。

近況です。元気にやっています。 税務署に行った。開業届(青色申告)を提出した。 税務署はこわいイメージがあったけど書類を出すのは1分で終わった。 フリーランス始めました。 MacBook Proを買った。 大きいサイズ(15インチ)にしたら快適だった。 お名…

JavaScript中級トレーニング10問(String編)

この前の記事(JavaScript 30-seconds-of-code String編)をベースにJavaScript問題集を作ってみました。 murayama.hatenablog.com 問題は全部で10問。正規表現をゴリゴリ使うのはなるべく避けてみました。個人的にはヒント見ずに(ググらずに)1時間で全部…

書籍:Measure What Mattersを読んでいる

たまには普段書かないことをブログに書いてみます。本日は目標管理、OKRについてです。 私は仕事のやる気とかモチベーションとか、そういうのであまり悩んだことのないタイプです。どんな仕事も手をつけ始めたら面白いし学ぶことは多くあると考えています。…

JavaScript 30-seconds-of-code String編

お仕事で若手エンジニアのみなさんから「エンジニアならブログを書きますよねぇ」という話になり、ネタ探しにGitHubのExploreを覗いていたら30-seconds-of-codeというリポジトリを見つけました。 https://github.com/30-seconds/30-seconds-of-code/tree/mas…

Xavierの初期値 Heの初期値の考察

ゼロから作るDeep Learning 第6章を参考に、ニューラルネットワークの隠れ層のアクティベーション(活性化関数の出力)の分布を確認してみます。 次のプログラムは1000件のサンプル(1つのサンプルは100次元のベクトル)を、5層の隠れ層(ノードはすべて100…

Kerasで画像認識 - MNIST編 - ReLU関数

KerasのMNISTのサンプルプログラムについて、活性化関数をsigmoid関数からReLU関数に変更してみましょう。 from keras.models import Sequential from keras.layers import Dense, Activation from keras.utils import to_categorical from keras.datasets i…

Kerasで画像認識 - MNIST編

Kerasを使った画像認識のプログラムです。有名なMNISTデータ(手書き数字)を使ったものです。 MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burges from keras.models import Sequential from keras.layers import Dense, Acti…

ImageNetから画像データをダウンロードする方法

機械学習、画像認識を始めると「大量の画像データないかなー」とググることになります。そうするとすぐにImageNetなる存在に気づきます。 ImageNet ImageNetとはスタンフォード大学がインターネット上から画像を集め分類したデータセット。一般画像認識用に…

AIにおける知的財産の考え方について

「AI白書2017 3.2 知的財産」の自分用まとめです。AIの活用シーンにおける以下の3点についてまとめます。 AI生成物 学習済みモデル 学習用データ 注意:以下に示す内容は現在も議論されている段階です。 AI生成物の著作権保護 音楽や文学作品などのコンテン…

Jupyter Notebookで始める機械学習プログラミング

これからPythonで機械学習始めたい方向けのまとめです。 Python PythonはWebアプリの開発からちょっとしたツールの開発まで、多目的に利用できるプログラミング言語です。また機械学習ライブラリが充実しているため近年注目を集めています。 www.python.org …

Reactだけ学ぶハンズオン

Reactだけ学ぶハンズオン Hello React・・・はじめてのReact Greeting・・・プロパティを学ぶ GreetingList・・・コレクションの考え方を学ぶ Echo・・・ステートを学ぶ Welcome・・・コンポジットなコンポーネントの作り方を学ぶ 昔の勉強会の資料です。内…

Reactだけ学ぶハンズオン 5/5

Part5 Welcome - ハンズオン ここでは入力した内容を表示するReactアプリケーションを作成します。 開発は以下の手順で進めます。 ライブラリの設定 コンポーネント仕様を定義 コンポーネントクラスをレンダリング 1. ライブラリの設定 titleタグ以外は前章…

Reactだけ学ぶハンズオン 4/5

Part4 Echo - ハンズオン ここでは入力した内容を表示するReactアプリケーションを作成します。 開発は以下の手順で進めます。 ライブラリの設定 コンポーネント仕様を定義 コンポーネントクラスをレンダリング 1. ライブラリの設定 titleタグ以外は前章と同…

Reactだけ学ぶハンズオン 3/5

Part3 GreetingList - ハンズオン ここでは次のようなメッセージ一覧を表示するReactアプリケーションを作成します。 開発は以下の手順で進めます。 ライブラリの設定 コンポーネント仕様を定義 コンポーネントクラスをレンダリング 1. ライブラリの設定 tit…

Reactだけ学ぶハンズオン 2/5

Part2 Greeting - ハンズオン ここでは次のようなメッセージを表示するReactアプリケーションを作成します。*1 開発は以下の手順で進めます。 ライブラリの設定 コンポーネント仕様を定義 コンポーネントクラスをレンダリング 1. ライブラリの設定 titleタグ…

Reactだけ学ぶハンズオン 1/5

Reactとは ReactはUIをつくるためのJavaScriptライブラリです。 Declarative 宣言的なプログラミング(たとえばExcelのsum関数みたいな仕組み) Component-Based コンポーネントベース(画面を構成する部品を作っていく) Learn Once, Write Anywhere 一度学…

新米PHPerのための5つのAtomパッケージ

今年もITエンジニア育成の新入社員研修に取り組んでいます。日々の空前絶後のハードなトレーニングのおかげで今年も優秀なPHPerたちがたくさん育っています。 慣れないプログラミングの習得に苦労しつつもポジティブにがんばっているみなさんへ。PHP初心者が…

AtomでXdebugを使ってステップ実行するには

Xdebugをインストールします。 https://xdebug.org/ Xdebugは実行環境やPHPのバージョンによってインストールの手順が異なるので、以下のURLからインストール手順を確認します。 https://xdebug.org/wizard.php ローカルで php -i した出力結果を上記のペー…

知る、ということ

朝、出社前にこどもをバス停まで送っていくと、いつも同じ時刻に通りかかるおじいさんがいます。ニコニコとこどもの顔を覗きこんでは何も言わず、とぼとぼと歩いていくおじいさん。 最近私も歩くようにしています。会社帰りに1駅くらい歩くだけ。いつまで続…

クリエィティブに仕事をしよう。

今日のお昼ごはんはいつもと違う"ヘルシーデリ"なるお弁当を買ってみました。 お店の明るい雰囲気の惹かれてふらふらと。 会社に戻ってお弁当を開けてみるとおしゃれなお弁当箱。 入ってるおかずはふつうのお弁当と大差ないんだけど、いつもよりちょっとだけ…

Java 例外オブジェクトの生成について

ここでは簡単な計算機プログラムを作成して例外処理について考察します。 Part1 次の計算機クラス(Calculator)は0による除算時に例外をスローします。 計算機クラス package example; public class Calculator { public int divide(int x, int y){ return …

会社組織で学ぶJavaの例外処理入門

Javaの例外処理についてサンプルプログラムを作ってみました。ここでは会社組織のおける部長(GeneralManager)、課長(SectionManager)、一般社員(Employee)クラスを作って組織的に仕事をする様子を実装してみます。 GeneralManager 部長クラス。受け取…

下手なアドバイス入門

プログラミング講師として受講者にアドバイスをする機会が多くあります。そこで気づいた失敗例をまとめました。 信頼関係が構築できていない 求められていない 前提が共有できていない 当たり前のことを言う 具体性がない えらそうに言う 自分ができていない…

フレームワーク初学者のためのSpark Framework入門

最近、Javaのマイクロフレームワークがきてるようです。 http://postd.cc/java-micro-frameworks-the-new-trend-you-cant-ignore/ Javaのフレームワーク事情 Javaに限らず、Webアプリケーション開発の世界ではフレームワークを使って開発することが一般的で…

プログラミング習得の法則

もうすぐ6月も終わります。この記事は4月から入社して、新入社員研修で初めてプログラミングを学んだ方へのメッセージです。 はじめに プログラミングメンター(指導者)の仕事をしていると、プログラミングの習得には3つのステップがあることに気づきます。…