brewfileでMacのソフトウェアインストールを自動化する

3年ぶりにmacを買い替えた。 macbook air 11inch(2012) -> macbook pro 13inch(2017) 13インチなのにサイズがほとんど11インチairと同じだ。ディスプレイもきれいになって、最高という感じ。 せっかくなので、今まであまり使ったことがなかったHomebrewを使…

Slack基本使い方まとめ

概要 Slackをちゃんと業務で使うために、基本機能まとめる。 get.slack.help 基本 メンバー種別/権限 大きく4つの種別が存在する。 オーナー 管理者 メンバー ゲスト 詳細はこちら Slack メンバーの種別と権限 – Slack チームとワークスペース チームとは、S…

エンジニア転職面接で最低限聞いておくべきチェックリスト

Webアプリケーションエンジニア目線で確認しておくべきことのチェックリスト。忘れがちなので書き出してみた。 チェックリスト 会社のメインプロダクトは? 開発手法は? プロジェクトマネジメントツールは? ソースコード管理は? CI/CDにはどう行っている…

Docker チュートリアル

現状 Dockerは聞いたことあるけど実際に使ったことはない。 ゴール チュートリアルを通してDockerでweb serverを立ち上げてみる Dockerとは Docker - Wikipedia コンテナ型の仮想化環境を提供するオープンソースソフトウェアである[3]。VMware製品などの完全…

32bit CentOSへGo言語をインストールする

Go

Go を動かす必要があったのでインストールした際の覚書 環境 CentOS release 6.5 (Final) 32bit ダウンロード 以下から32bit linuxの最新版を探す Downloads - The Go Programming Language 1.9.2 が最新版だったので、これをダウンロードする。 $ wget http…

Vue.js にGoogle Analyticsのイベントトラッキングを設定する

やりたいこと Vue.jsで、ボタンクリックイベントのトラッキングをしたい。 方法 vue-analytics を使うと簡単にいけた github.com 実装方法は公式に書いてある通りなんだけど、一応下記の要領で実装した。 Setting app.js import Vue from 'vue' import VueAn…

2017年に読んだ本たち

2017年に読了した本*1 増補改訂版Java言語で学ぶデザインパターン入門作者: 結城浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/06/19メディア: 大型本購入: 51人 クリック: 762回この商品を含むブログ (397件) を見る 古典。今更感はあるが、…

error while loading shared libraries: libfontconfig.so.1

環境 CentOS release 6.5 事象 karmaでPhantomJSを起動しようとするとエラーでこけた。エラーは以下。 ERROR [launcher]: Cannot start PhantomJS xx/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs: error while loading shared libraries: li…

vue-cliのwebpack productionビルド時にconsoleログ出力を削除したい

vue-cliでwebpackでproductionビルドを行う際に、以下のように UglifyJsPluginにcompress.drop_console オプションを追加するとconsole.log, console.errorなどのconsole.xのコードを削除できる build/webpack.prod.conf.js new webpack.optimize.UglifyJsPl…

moment.jsでマシン依存しないサーバ時間を扱いたい

moment.jsを扱っていて、クライアントサイドアプリケーションでマシン依存しない時間を扱いたい場合の方法。 サーバからタイムスタンプを予め取得し、マシン時間との差分を保持しておく。 以降はその差分を計算することで正確な現在時刻を求める。 // timest…

nodejsで簡単なAPIモックサーバを作る

フロントエンド開発をしていて、API実装前にさらっと動きを確認したいときなど、モックAPIがあると便利。 json-serverを使っていたけど、意外と細かいところに手が届かなかった*1の自分用に前でモックAPIのテンプレートを作った。 REST API(express) CORSの…

error: [vuex] vuex requires a promise polyfill in this browser

現象 Vuexで構築したアプリケーションをIE11で動かすとエラーになった。 error: [vuex] vuex requires a promise polyfill in this browser promise がIEだと使えないようだ。 解決 babel-polyfill を入れる babeljs.io npm install --save-dev babel-polyfi…

stylefmtでcssプロパティをアルファベット順に並び替える方法

stylelint-order プラグインとしてインストールすることで可能。 stylelint-order をインストール $ npm install stylelint-order --save-de .stylelintrc.json に以下のようにplugins と rules を追加する { "plugins": [ "stylelint-order" ], "rules": { …

WebRTC(SkyWay)でコネクションを成立後にローカルビデオのon/offを動的に切り替えたい

やりたいこと WebRTCでコネクションを作ったあとに、自分のビデオ、マイク音声on/offをシームレスに切り替えるようにしたい。 Skypeとかにあるビデオ、音声ミュート機能と同じやつ。 例えば、今ちょっと自分の画面を相手に見せたくないよ、でもコネクション…

都内から格安で富士急ハイランドへ行く

先日初めて富士急ハイランドに行ってきた。 得Qパックという、高速バス往復+フリーパスのチケットが安かった。 bus.fujikyu.co.jp 渋谷から往復して7900円(渋谷以外にも乗り場はある)。フリーパスは正規の値段だと、それだけで5700円なのでかなりお得だ。 都…

vue-cliの開発サーバをhttps化する

vue-cliを使って開発をしていて、開発サーバをhttps化する必要がでてきたため、vue-cliに組み込まれているdev-serverをhttps化することにした。 ソースを見るとなんてことはない、nodejsのexpressを使ってサーバを起動しているだけなので、expressのhttps化…

Vagrantを再起動したら既存のVMが消えた

現象 Mac上で起動しているVagrantのVM内で作業していたところ、バッテリー切れでMacが強制シャットダウンした。 その後、起動して、 Vagrant up でVagrant を起動したところ、作業していたVMではなく、新規VMが立ち上がるようになってしまった。 作業途中の…

vue-cliで作成したアプリケーションをサブディレクトリ上に展開する

vue-cli github.com やりたいこと vue-cliで作成したアプリケーションをサブディレクトリ /test-dir/ に展開したい。 問題 デフォルトの設定でプロダクションビルドし、 $ npm run build webサーバから {vue-cli-project}/dist/ を参照するようにしたが、こ…

Atomでリモートのファイルを直接編集する

先日社内のデザイナの作業を見てたら、ローカルでファイルを編集して、それをVMにFTPでアップロードしていたので、 VM上で直接編集したら?っていう話になった。 VimやEで始まる黒い画面はさすがにデザイナにはおすすめできないので、Atomあたり使ってるなら…

API blueprintでAPIドキュメントを書く

API

APIを作った際にはAPIドキュメントを必ず書かなくてはならない。 API blueprintでさくっと書くのがおすすめ。 デモ https://tic40.github.io/api-blueprint/public/v1.html ソースコード github.com 書き方 まずAPI blueprint 記法でAPIドキュメントを書く。…

採用試験でコーディングスキルチェックを受けた

先日とある会社の採用試験でオンラインコーディングスキルチェックを受けた。 それがなかなか面白かった。 内容は、サーバーサイド(PHP/Ruby(Rails)/Database) に関する問題で、全9題、試験時間は1時間45分程度、出題は全て英語。 最初の3題ぐらいはPHPでの…

Ruby on Rails Guides(v5.1.3) Getting Started with Railsを読む#2

これは、最新のRuby on Rails ガイド(v5.1.3) を読んだ際の学習記録です。 #1はこちら Ruby on Rails Guides(v5.1.3) Getting Started with Railsを読む#1 - Do Something Adding a Second Model Articleにつづいて、2つめのmodelを追加しよう。 Generating …

Ruby on Rails Guides(v5.1.3) Getting Started with Railsを読む#1

これは、最新のRuby on Rails ガイド(v5.1.3) を読んだ際の学習記録です。 Getting Started with Rails — Ruby on Rails Guides #1 Start Here 以下を学ぶ Railsインストール、Railsアプリケーションの作成、そしてアプリケーションをデータベースへ接続する…

第222回TOEIC結果

結果 score: 765 listening: 405 (+0) reading: 360 (-5) スコア推移 感想 あかn 次回受験 2017/09/10 第223回

Cybozu Groon API から当日の予定を取得するPHPスクリプトを書いた

PHP

Cybozu Garoon API Cybozu Garoon を社内で使っているんだけど、APIが公開されていることをつい最近知った。 developer.cybozu.io サイボウズ上の当日の予定をAPI経由で取得できるので、 毎朝チームのチャットグループに自分のスケジュールを自動投稿する、…

#20/20 Bit Manipulation: Lonely Integer [Cracking the Coding Interview Challenges]

#20 Bit Manipulation: Lonely Integer www.hackerrank.com 入力される数は、1つの数を除いて、ペアになっている。 入力される数の中で、ペアになっていない数字を見つけて出力する問題。 solution XOR(排他的論理和)を使うことで、ペアになっていない数字を…

#19/20 Recursion: Davis' Staircase [Cracking the Coding Interview Challenges]

#19 Recursion: Davis' Staircase www.hackerrank.com 1 o 2 or 3段を一度に登れる人間が、n段の階段を登る際に、何通りの登り方が存在するか計算する問題。 以下のような入力が与えられる。 3 1 3 7 最初の行が階段の数。2行目以下は、階段のステップ数。 …

#18/20 Recursion: Fibonacci Numbers [Cracking the Coding Interview Challenges]

#18 Recursion: Fibonacci Numbers www.hackerrank.com 入力される数値nに対して、n項のフィボナッチ数を求めて出力する問題。 solution 問題文の通りに実装すると以下のようになる。 def fib(n) return n if n <= 1 return fib(n-1)+fib(n-2) end puts fib(…

#17/20 Time Complexity: Primalityh [Cracking the Coding Interview Challenges]

#17 Time Complexity: Primality www.hackerrank.com 素数判定を行う問題。 以下のような入力が与えられる。 3 12 5 7 一行目はデータの数。それ以降の数に対して、素数かどうか判定を行い、素数であれば'Prime'、そうでなければ'Not prime'を出力する。 上…

CentOSへKongをインストールする

目標 CentOSへKongをインストールする。 マイクロサービスをAPI Gatewayパターンで実装するため、API Gatewayの構築を考えている。 KongがマイクロサービスのAPI Gatewayとして必要な機能を備えているように見えるため、検証のため今回インストールまで行っ…