2018-01-01から1年間の記事一覧
前章はこちら www.te-nu.com 3章をざっくりとメモしました。こってりした本なので全然進まないです……。 リスクの受容 Googleは決して障害を起こすことがないサービスを目指していると思われているかもしれないが、実際にはある一線を超えるとサービスやユー…
blog.asial.co.jp この記事の中でPreloadingというものが紹介されていたので試してみました。Chrome Dev Summitの紹介記事だったので紹介の紹介ですね。 Preloadingとは 次以降のページで使う画像やJSファイルなどの静的ファイルをあらかじめ取得しておくこ…
前章はこちら www.te-nu.com 2章をざっくりとメモしました。 2章 SREから見たGoogleのプロダクション環境 Googleのデータセンターは一般のものと大きく異なり、従来では見られなかった問題や機会を生み出したので、これらの解説と本書で使う用語を紹介する G…
www.te-nu.com 以前の記事で紹介しましたParcelというライブラリをプロジェクトで使っているWebpackの代わりに導入しようとしましたが断念しました。 今回は導入にあたって詰まったことと、最終的に断念した理由をまとめたいと思います。 詰まったところ wat…
Docker上でRails + mysql8.0の環境を作ろうとした際にハマったので残しておきます。 エラー内容 root@c61dd571e666:/app# rails db:create Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib/x86_64-linux-gnu/mariadb18/plugin/ca…
最近SRE本を読み出しました。 SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム作者: 澤田武男,関根達夫,細川一茂,矢吹大輔,Betsy Beyer,Chris Jones,Jennifer Petoff,Niall Richard Murphy,Sky株式会社玉川竜司…
Parcelについてはこちら www.te-nu.com dockerコンテナ内でParcelを使う際に詰まったので残しておきます。 症状 dockerコンテナ内にてparcelをwatchコマンド(監視モード)で動かすと、ブラウザ上で以下のエラーが出力されました。 Uncaught DOMException: F…
フロントエンドに手を出し始めてからずっとwebpackを使ってましたが、webpack.config.jsを書くのが面倒だったり、主観ですがビルドが遅かったりしたので、もう少し速くて手軽なビルドツールを探したところParcelというものが見つかったので使ってみました。 …
連結リストと配列における処理速度の違いについて検証してみたのでまとめます。 連結リストとは? 一言で言うと「配列の亜種」です。できることは大体同じです。(すごくまさかりが飛んできそうなので話半分に聞いて下さい。) 違いを人で例えるならば、配列…
再帰関数について軽くまとめてみます、今回はRubyで書きます。 再帰関数とは 関数Aの中で同じ関数Aを使う処理を行う関数のことです。 例: def A(num) A(5) end ↑みたいに普通に呼び出すだけだと、Aが呼んだAが呼んだAが呼んだAが…と無限ループになってメモ…
Macを買い替えたときや新しく会社から支給された時にいつも調べながら構築しているので、いっそまとめちゃいます。「自動化しろよ」って話は(∩゚д゚)アーアーきこえなーい そのうちAnsibleで作ってくれるようにすると良いですね。 iTerm2のインストール Macにてよ…
新しいキーボードを購入して環境を少し買えてみたのでご紹介します。ぶっちゃけアフィブログみたいになってますが、キーボード選びと環境作りの参考になれば幸いです。 結果 こんな感じになりました。 いわゆる尊師スタイルと呼ばれるものです。名前の由来は…
Elasticsearchにおいてnullで検索したい時に、手順を踏む必要があったためまとめます。 TL;DR { "type": "keyword", "null_value": "NULL" } 上記のようにして"NULL"で検索すればnullを探せます。 例 下記のような本のデータを格納するindexおよびtypeがあっ…
Pts.jsというものがGithubで話題になってるらしいです、点を線でつないでいい感じの図形を描画できるとか何とか。 github.com Like seeing the Big Dipper in a sky full of stars, Pts helps you connect the dots in the vastness of conceptual spaces. …
Node.js上でlinuxコマンドの叩き方を備忘録として残します。 実行方法 child_processをrequireしてexecメソッドを使います。 const exec = require('child_process').exec; exec("echo 'hogehoge'", (error, stdout, stderr) => { if (error) { console.log(…
AWS LambdaからSlackに対してメッセージをpostするためのソースを備忘録として残しておきます。 動作環境 node.js 8.10 const postToSlack = (message) => { const https = require('https'); let postData = JSON.stringify({ text: message }); let option…
Elasticsearchの基本的な操作などをまとめます。半分メモのようなものです。 間違った解釈があればご指摘いただければ幸いです。 操作方法 CRUD(Create・Read・Update・Delete)はREST APIで行います。REST APIはRailsでよく作るアレです(適当)。 検証はc…
dockerを用いたRailsの開発環境に新たにElasticsearhを組み込んだのでまとめます。 Dockerの設定 docker-compose.ymlを以下のように修正します。 version: '2' services: rails: # ~ imageとか元々の設定(省略) ~ # 追加 depends_on: - elasticsearch # 追…
mysqlのreplicationの構築を検証してみたかったので、Dockerを使って環境構築をしてみました。 docker-composeを使って、コマンド一つでmaster, slave両方管理出来るようにしています。 githubにあげてみたので、よかったら使ってみて下さい。 https://githu…
システム間連携等の事情で、別DBを作ってデータを流し込みたくなったので実装してみました。 手順 例としてBookモデルを作り、別DBを対象にするようにします。 環境はmysqlです。元々使っているDBはmain_database、新しく使うDBはsub_databaseという名前にし…
awkコマンドを調べつつ簡単な操作を勉強したのでまとめておきます。 awkコマンドとは AWK(オーク)は、プログラミング言語の一つ。 テキストファイル、特に空白類(スペースの他、タブなど)やカンマなどで区切られたデータファイルの処理を念頭に置いた仕…
"1234"を6桁で"001234"と頭をゼロ埋めしたい時に良さげな方法を見つけたのでメモします。 "1234".padStart(6, "0") // "001234" String.prototype.padStartメソッドを使いました。 developer.mozilla.org 第一引数で指定した文字数まで第二引数で指定した文…
長さが100の文字列を手っ取り早く作りたいときの処理です。 "a".repeat(100) Stringにrepeatメソッドがありました。 repeat - Kotlin Programming Language 一文字だけの文字列に対して、引数で繰り返す回数を指定してに任意の長さの文字列を作ります。 テス…
本をざっくり読んで便利そうなショートカットをメモしました。 まだまだ機能があるので、随時更新すると思います。 IntelliJ IDEAハンズオン――基本操作からプロジェクト管理までマスター作者: 山本裕介,今井勝信出版社/メーカー: 技術評論社発売日: 2017/11/…
imageをファイルにエクスポートしておきたいなーって事があり、ちょうど良かったのがあったので覚え書きします。 エクスポート docker save [repository]:[tag] > [好きな名前].tar これでエクスポートができます。repositoryとtag両方指定しないと、インポ…
Rubyにてセッタをもたないimmutableなクラスを作り、to_hashで値を取ってくるようにしたのでまとめます。 今回は例として本(Book)クラスを作ります。 完成品 class Book ATTRIBUTE_NAMES = [:name, :author, :price].freeze attr_reader *ATTRIBUTE_NAMES …
結構前に出ていますが、今更ながら触ってみてとても楽にvue.jsの環境構築ができたのでまとめます。 vue-cliとは コマンドを叩き、質問にいくつか応えると、その質問に応じたVue.jsの開発環境ができるというものです。 導入手順 グローバルインストールします…
今回はただの一発ネタです。 Rubyの真偽値のtrueとfalseには.!メソッドというものがあるのを知りました。 真偽値をひっくり返すものです。 true.! # false もちろん、頭に!を付けてもOKです !true.! # true trueが!メソッドでfalseになって、頭の!でtrueに戻…
typescriptの共用体型についてまとめてみます。 共用体型とは union typeとか、ユニオン型とか言われてるっぽいです。 変数等に型を指定する時に複数指定できます。 複数の型を|区切りで指定し、どれかの型で有ることを示します。 こんな感じ。 let hoge: st…
typescriptでテストコードを書くための環境作りをしたので、ご紹介兼備忘録です。 使うライブラリ mocha Mocha - the fun, simple, flexible JavaScript test framework Javascriptのテストフレームワークです。上記HP曰く「シンプルで柔軟で楽しい」らしい…