Goのpluginパッケージを試してみる

例えば強いこだわりにより、switchを使いたくない時 eg) func main() { if len(os.Args) < 2 { fmt.Println(help()) os.Exit(1) } switch os.Args[1] { case "a": a.F() case "b": b.F() } } Go1.8で導入されているpluginのパッケージを使えば以下のように書…

【日記】30日でできる! OS自作入門

book.mynavi.jp 筆者はそうしなくていいと書いていますが、律儀な性格なので1日1Chapter進めていきたいと思っています。 (4日目)一度で理解できる内容ではなく、2週したいので予定変更。 0日目 - 2018/03/31 本はWindowで開発するために書かれているので、ma…

1~3月振り返り

やったこと 受講したオンラインコース DL4US Coursera: Machine Learning 読んだ本 オブジェクト指向における再利用のためのデザインパターン 増補改訂版Java言語で学ぶデザインパターン入門 UNIXネットワークプログラミング〈Vol.1〉(まだ途中) ITエンジニ…

setコマンドについて

-eオプション 実行したコマンドが失敗したときにシェルスクリプトの実行を終了する。 -xオプション 実行するコマンドを出力する。 例 foobar:~ foobar$ echo $HOME + echo /Users/foobar /Users/foobar ++ printf '\e]7;%s\a' file://foobar.local/Users/foo…

ssh-keygen: command not foundのとき

$ sudo apt-get install -y openssh-server で一緒にインストールされる。 Refs ssh-keygen command not found when setting up Git on Windows - Super User server - unrecognized service when starting ssh - Ask Ubuntu

tmpフォルダーのgit管理

フォルダは存在していて欲しいけど、中身のファイルはgit管理されたくない時。 以下をプロジェクト下の.gitignoreに記述。 tmp/* !.gitkeep tmpディレクトリ下に.gitkeepファイルを置く あるいは残したいディレクトリに .gitignore を置き、 /* としてもいい…

GCPインスタンスのファイヤーウォール設定

Flaskアプリケーションにアクセスしたかった際の備忘録。 Firewall Rule設定ページを開く Ruleを作成する Name: デフォルトで設定されているsshの例) default-allow-ssh 優先度: そのままでいい トラフィックの方向: ingress(incoming) = 上り、egress(outbo…

強化学習について

強化学習について調べた際のメモです。 達成したいゴールがあるが、各行動に対する評価は与えられない場合 「行動の選択肢」と「報酬」 強化学習という名前は脳の学習メカニズムであるオペラント学習に由来する 報酬は「連続した行動の結果」に対して与えら…

GANについて

GAN(Generative Adversarial Network)について調べた際のメモです。 GANとは Ian Goodfellow (@goodfellow_ian)が2014年に発表1 生成モデル: 訓練データの分布と生成データの分布が同じになるよう学習 訓練データに対してパラメータが小さく、重要な特徴を学…

VSCodeでのGOPATH設定

{ "go.inferGopath": true, "go.gopath": "/your/path/for/specific/project" } この順番じゃないとダメ。逆にするとinferGopathがgopathを上書きしてしまう1っぽい。 やっぱり上書きされてしまった。ちゃんとgo.gopathを書いてあげないといけないみたい。。…

Seq2Seqを使った英日翻訳機

RNN(Recurrent Neural Network)の実例の一つに翻訳機があります。 今回はkerasのRecurrentレイヤーを使い、Seq2Seq(Encoder-Decoder)モデルの英日翻訳機を実装してみます。 データセット Kerasのexampleでは文字単位での英仏翻訳が行われていますが、今回は…

kerasを使ったreuter記事分類のexampleをなぞる

github.com kerasにはデータセットが用意されています1。 今回はその中からReuter記事データの分類をしてみます。 基本的にはこちらのexampleに示されているコードをなぞる形です。 kerasのインストール pythonは3系を使います。 TensorFlowのインストール k…

publickeyを使ったsshの設定

1.鍵を用意する $ ssh-keygen -t rsa 2.公開鍵をインスタンス上の ~/.ssh/authorized_keys に追記する $ cat ~/.ssh/ssh_test.pub | ssh ([USER]@)[HOSTNAME] "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys" 3.秘密鍵を使ってssh…

Solrについて

Solrとは Solr is the popular, blazing-fast, open source enterprise search platform built on Apache Lucene™. Apache Solr - オープンソースの全文検索エンジン 検索プログラムのLuceneがベース Standaloneモードとクラウド運用に特化したSolrCloudモー…

読書リスト2017

kentakudo.hatenablog.com あっと言う間すらないほど早い一年でした。2017年版です。 チームが機能するとはどういうことか Webを支える技術 大規模開発サービス技術入門 Webサービスの作り方 まつもとゆきひろ 言語の仕組み ゼロから作るDeep Learning Serve…

Varnishについて

今週FastlyのStockholm(BMA)で障害が発生1し、私たちのサイトも影響を受けました。その際出てきた「varnish」というミドルウェアについて調べたときのメモです。 Varnishとは github.com Varnish Cache is a web application accelerator also known as a ca…

JSON-RPCについて

JSON-RPCについて調べた際のメモです。 特徴 JSON-RPC is a stateless, light-weight remote procedure call (RPC) protocol. JSON-RPC 2.0 Specification データのエンコードにJSONを利用したRPC(Remote Procedure Call)1プロトコルの一種。 レスポンスを期…

ISUCONカンニングペーパー

【10/23追記】 残念ながら本選に出場することはできませんでした。 インデックス貼ったりN+1を直したりはできたのでせめて最後にスコアを残したかったと後悔しています。 とはいえ8時間があっという間に感じるくらい楽しかったです。 夜中の2時のサイクリン…

【メモ】Redisについて

Redisについての雑多なメモです。 特徴 Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. Redis Key-Valueストレージで、NoSQLに分類される そういう文脈上キャッシュというよりは…

【2016】読書リスト

年の瀬を感じる今日この頃。 備忘録を兼ねて、2016年に読んだ技術書・参考書を一覧にまとめました。 参考にしたサイト 読む本は主に以下の二つのQiitaエントリーを参考にしています。 qiita.com qiita.com エントリの筆者の二人に感謝申し上げます 2016読書…

FrenchKit

先週末9/23,24にフランスのパリで行われたFrenchKitに参加して来ました。 2日間のうち1日目の23日はトークのみ、2日目24日はライブコーディング及びクラスルーム、クロージングというコンテンツでした。 コンテンツ 全てを見つけることはできませんでした。…

2015-2016書籍目録

去年の5月にキャリアスタートしたエンジニア2年生です。 備忘録を兼ねて、一年間で読んだ書籍を赤裸々に列挙したいと思います。 気づけば7月も後半で、タイミングは謎ですがご容赦ください iOS・Objective-C・Swift 世界一わかりやすいObjective‐Cプログラミ…

実機の動作をmacにミラーリングする方法

プレゼン等人前で話す時に、 実機で動作している様子をスクリーンに映したいことがある。 そんなときは、 QuickTimePlayerを起動 ↓ ファイル->新規ムービー収録 ↓ start・stopボタンの横の下矢印を押す ↓ カメラ欄の実機を選択 で、mac上に実機の動作をミラ…

実行時間のオーダーの表記法

関数fがあったときに、 すべての場合において、入力のサイズnに比例して実行時間が変化する場合 実行時間は f(n) = Θ(n) と表される。 入力の中身によってはオーダーに差がでるとき、 これ以上は実行時間が大きくならないオーダーがnであれば f(n) = Ω(n) と…