es6でランダムに文字列を生成するロジックを考えてみる
es6では、Array.fromで、配列の数分ループを回せるので 回したい回数分の配列を作成して、Array.fromに渡します。 コールバックでは使用する文字列からランダムに 一文字を抽出する処理をループさせ、 出来上がった配列をjoinすれば ランダムな文字列が完成します。 let digit = 12; // 生成したい文字数 let alArray = ‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789’; // ...
Ruby on Rails 5.1 用のDockerのベースイメージを作った
Ruby on Rails 5.1からは、Rubyだけではなく、webpackerとか使う場合にはnpm環境も必要となる。 毎回自前でDockerfileでnpm環境をインストールするのも時間がかかるので、その辺をひとまとめにしたDockerイメージを作りました。 使い方は Rails5.1のプロジェクトに Dockerfileを以下のように作成 # 本体 # # VERSION 0.0.1 FROM gendosu/ruby-for-rails-51:2.3 MAINTAINER Gen Ta ...
herokuのコマンドラインツールをdockerイメージにした
herokuのコマンドラインツールをDockerイメージにしてみました。 理由は、色々なherokuのアカウント(プライベートだったり仕事用だったり)を切り替えるのがめんどくさいので、各環境ごとにDockerのコンテナ内にログイン情報を持たせようと思ってやってみました。 hub.docker.comにアップしてあるので docker run --rm -v `pwd`:/app gendosu/heroku-cli heroku apps でという感じで実行出来る。
「技術を持っている」と言う事と「技術を使っている」と言う事の違い
エンジニアの世界では よく、○○の技術を持っている、経験しているから大丈夫だろう、と言う想定の上で採用活動をする。 だけど、技術を持っている、と言うのは、現在進行形ではない場合もあり、その場合は作業者としては使えるけど、開発チームのリーディングには向かない可能性が高い。 何を言いたいかと言うと、技術の鮮度の問題で 例えば、Rubyであれば、Rubyの最新バージョンが現在2.4で、Railsが5です、と言う時にRuby経験あり。Ruby1.8、Rails2やってました。といった人が来てもある程度は ...
野良猫と飼い猫(エンジニアの話)
エンジニアの世界での野良猫と飼い猫の話 どちらが幸せなのか?と言うのは人によってそれぞれだとは思うのだけど、 と言う断り書きをしつつ、ちょっとエンジニアを猫という生き物にたとえてみる。 野良猫(フリーランス・ベンチャー・起業・独立系) エンジニアの世界だと野良猫はフリーランスや、ベンチャーに勤める、いわゆる大企業ではないところで働くエンジニアだと思っている。 ポイントは 自由(リモートOK) 挑戦が出来る(言語選定・技術選定etc) うまく立ち回ればすごく贅沢が出来る 当然、リスクは多い 車に轢 ...
gooseをdockerイメージにした話
gooseというgoで書かれたDBマイグレーションツールがあり、これだけを含んだDockerイメージを作った。 hub.docker.comにアップしてあるので run --rm -v `pwd`:/go gendosu/goose goose create example でという感じで実行出来る。
heroku にデプロイした環境をLet’s EncryptでSSL化して、自動更新までしたいの
Overview herokuにデプロイしたサービスをSSL化するのに、Let’s Encryptを使いたいけど なかなか面倒に感じてしまうところがあると思います。 そこで、herokuにデプロイするアプリにはLet’s Encryptのチャレンジレスポンス用のエンドポイントだけを作り そのエンドポイントに環境変数でキーを渡すようにすれば、ある程度外部から自動化出来るのではないかと思い試してみました。 環境はRuby on Railsです。 今回使うツール certbot certbot-her ...
これで解決!Docker for macのディスク容量を小さくしよう(ベータ)
先日、Docker for macでDocker.qcow2というファイルが肥大化する件というのを書かせていただきましたが、こちらの件、Docker for macの最新版ベータにて、ある程度自動で解消されるような処理がマージされたようです。 New Data Management commands #26108 Docker for mac のベータチャンネルにも降ってきましたので、試してみました。 今回ベータチャンネルで降ってきた内容は多いのですが、その中でReclaim disk size ...
そろそろ、自分のdocker-compose.yml周りを公開
docker便利ですね。 最近そんなことばかりしか言ってない気がします。 自分がdockerを使い始めた頃は、dockerってなんなのかわからない人が多く 話すと便利そうだけどプロダクションで使う想像がつかないとか 環境がめんど臭いとか 色々言われていました。 今現在は、開発環境として使うのであれば docker for macというのがあって、これ入れるだけでかなり簡単にdockerが試せるようになりました。 環境を作るのが簡単になったのであれば、使えるdockerfileとかdocker-c ...
Docker for macで仮想ディスクの保存場所が変えられるようになる
Docker for macのベータ版でですが、Docker for macのVMの仮想ディスクの場所を変えられるようになるようです。
Docker for macでDocker.qcow2というファイルが肥大化する件
Docker便利ですね。 Docker for macが出てからは、もうmac上には環境を作らない なんて運用も可能じゃないかというくらいです。 実際、サーバサイド系の環境はほぼ全てDockerで運用してます。 gulpとかでブラウザのオートリロードとかしたい場合は さすがに難しいので、そこはmac上に環境を作っておりますが。 ということで、ハードにDocker for macを使っていくと ディスク容量が日々減っていくのが実感出来るかと思います。 これは、Docker for macも実体はV ...
我が家最後の砦、VAIO Z の Windows10 アップグレード
VAIO Zの5年くらい前?機種は DYNAMIC HYBRID GRAPHICS SYSTEM という仕組みで、バッテリーを長持ちにさせる代わりにグラフィックをIntelのチップセットのもを使うようにしたり、ハイパフォーマンスにしてNVIDIAを使うようにしたり、という設定がスイッチで付います。 ※Windows 10にアップした後に撮ったので、LEDが点灯してないですが、本当はスイッチの向いてる方向のLEDが点灯します。 これのおかげでモバイル用途もOKでゲームも楽しめるという贅沢な機種でし ...
ssh2のキーが見たことないフォーマットだった時の対処の仕方
ある日、委託の方にサーバへのアクセス権を付与するためにSSHのキーをくださいと言ったら 以下のようなフォーマットで送られてきた。 ---- BEGIN SSH2 PUBLIC KEY ---- Comment: aaa keykeykye ---- END SSH2 PUBLIC KEY ---- SECSH形式?という解らない形式のものらしい。 と思ってよくよく調べたら 本来のSSHキーはこのような形式のようだ。 (本当か??) 今までOpenSSHに慣れすぎて来たという事なのかな。 というの ...
git cloneするときにブランチ指定して–depth指定する
よくチュートリアルのなどで git clone git checkout なんて感じでcloneして使うやり方を書いてあったりするけども 普通にgit cloneすると 他のブランチの情報とかも管理ディレクトリに持ってきている状態なので ディスク容量も食うし、cloneする時間もかかる。 そこで、特にgit的な操作は以後しないのであればgit shallow cloneするのが良い。 やり方は git clone —depth 1 —branch こうすると、ブランチの最新のリビジョンだけを持っ ...
今年の夏は暑い!そして、スマホも熱くなる!そんなときはこのタオルでサッと熱をとるといいかも
今年は暑くてたまらないですね。 そして、スマホライフも熱との戦いとなりそうです。 ゲームをするとさらに熱くなること間違いなしですね。 機種によっては熱によってすぐに機能停止になったりするのもあるようです。 また、ゲームなど割と長時間プレイする場合はバッテリーがもたずに充電しながらのプレイになるときも多々あるかと思います。 自分もそうです。 そして、充電しながらだと、非常に熱くなって持っているのもしんどくなるので、 スマホの両端をつまむようにして持ちながらプレイしてたりします。 そんなスタイルがち ...
herokuでMemory Quota Exceededと言うのが出るようになったので、puma_worker_killerを入れた話
最近、herokuで稼働させているRailsのアプリが「Memory Quota Exceeded」と言われる事が多くなり、定期的にワーカーの再起動をしたいと思ってました。 見る限り、swapも出てしまい、レスポンスも遅くなっているようです。 このような場合、heroku以外だと、unicornを使うので、unicorn_worker_killerを入れるのですが herokuだとpuma推薦なのでpuma使っていました。 で、pumaもuniconのようにworker killer系の物がある ...
ベンチャー・中小企業における開発チームの維持
ベンチャー・中小企業における開発チームの維持と言うことで、またいくつかキーワードを挙げてみます。 経営の視点から考えたとき、開発チームとして維持したい事は 収益性のある機能について継続的に改修、機能追加が出来る事。 将来に備えてスケール出来る仕組みを常に考えられるようにする。 経営判断での急な対応も出来る。 といったあたりがとくに重要となる。 開発チーム視点から考えたときは、上記に加え メンバーのモチベーション維持。 技術的負債の解消。 新技術・新バージョンへの探求心。 技術共有。 あたりが重要 ...
Docker for Mac bata(1.12)とpowが共存出来ない
Docker for Mac bataがリリースされ、早速インストールしてみました。 アプリケーションディレクトリに入れて、このアイコンをダブルクリックするだけで Dockerの環境が自動的に構築されるようです。 メニューバーにはDockerのアイコンが表示されるようになります。 1.11以前にDocker ToolboxでDockerを使っていた場合、この初回の起動時に 既存環境を新しい環境で使えるように変換が行われます。(yesにした場合) 今回は、全く新しい環境にインストールをしているので ...
Evernoteが値上げ!今ここでOneNoteと比較してみる
Evernoteが値上げ&無料のベーシック版にさらに制限がつくようだ。 ここで、今一度、自分なりにEvernoteとOneNoteの無料版の比較をしてみたいと思う。 1ノートごとの保存容量 Evernote OneNote 1ノートごとの保存容量 1記事25MB 無制限 全体の保存容量 なし? OneDriveにファイル作成のため、OneDriveに依存 アップロード容量制限 60 MBの月間アップロード容量 無制限 ウェブクリップ機能 各ブラウザにプラグインを追加して使用 ページ全体・選択範囲 ...
Bash on Ubuntu on Windows のアンインストールについて
lxrunというコマンドがコマンドプロンプトでたたけるようになっているようで、これでオプションにuninstallを付ければ Bash on Ubuntu on Windows のサブシステム一式が削除出来るようだ。 試しに消してみた。 C:\Users\gen> lxrun /? LX サブシステムの管理操作を実行します 使用法: /install - サブシステムをインストールします オプションの引数: /y - ユーザーに許可を求めません /uninstall - サブ ...