モヒカンは正義

渋谷で働く怪しいWebエンジニアの備忘録

#isucon8 予選参加して、無事爆死してきたンゴ

Iikanjini Speed Up Contestへ人生2回目の参加をして、無事爆死してきました ▼ チームメンバー がんばるぞ〜!起床に成功したので、今のところ優勝ペース#isucon #isucon8— 寝具突撃部隊 寝無理隊 (@pinkumohikan) September 15, 2018 予選おつかれさまでし…

名前をつけてgit stashする

gitには、今作業中なんだけどすぐに別の作業したくなって一時的に変更を退避させたいんだよねーという時に使える git stash という便利コマンドがあります。 gitを使い始めて6年ぐらいの先日、stashに名前をつけられることを知りました (厳密には名前じゃあ…

docker上でコンテナとしてdocker-composeを動かす

「dockerは動くがdocker-composeが動かない」というおもしろい環境のデバッグを手伝っていた際にdockerの公式ドキュメントを読んで、コンテナとしてdocker-composeを動かす方法が紹介されていて、とてもdockerっぽくて面白いなと思った。 Docker Compose の…

インスタンスが再起動するとホスト名の設定がリセットされる原因と対策

症状 ConoHa のVPSで /etc/hostname へホスト名を書いても、インスタンスが再起動すると初期値へ戻っている。 原因 インスタンスの初期化に使われている cloud-init というソフトウェアの「ホスト名を変更する機能」が有効になっているため。 なので、ConoHa…

AlpineLinuxでdigコマンドを使えるようにする

Dockerイメージを作る際のベースイメージとしてよく使われるOSに AlpineLinux がある。超軽量なのが特徴で、イメージサイズはわずか4MByte強!参考までに、CentOS7.4のイメージは約200MBある。 $ docker images alpine REPOSITORY TAG IMAGE ID CREATED SIZE…

CircleCI: docker_layer_cachingを有効にしてdocker buildでキャッシュを効かせる

CircleCIでdocker buildする際、初期状態ではbuild cacheが無効になっている。documentを漁っていたら、オプションでbuild cacheを有効にできるようだったので試してみた。 By default, the Remote Docker Environment doesn’t provide layer caching, but y…

Laravel tinkerで、DBへつながっていることを確認する

Laravel tinkerからデータベースへつながっていること (SQLを発行出来る状態になっていること) を確認したい!そんなとき コマンド DB::select('select 1'); 実行するとこんな感じ >>> DB::select('select 1'); => [ {#2300 +"1": 1, }, ] 赤くハイライトさ…

プライベートプロダクトのpackage.jsonのlicenseフィールドには "license: UNLICENSED" と指定すればいいらしい

package.jsonのlicenseフィールドに何も指定しないと、下記のような警告が出てしまい目障りである warning package.json: No license field プライベートプロダクトでpackage managerとしてnpm / yarnを使っているだけで、publishしたりオープンソースにする…

エンジニアとして働きたいなら、就活始める前に何か作るべきだと思うんだ

エンジニアとして就職したい学生や、エンジニアへの転向を考えている人に一言言うなら「まず何か作れ。話はそれから」。 人から信じてもらいたければ、言葉で自己を強調するのではなく、行動で示すしかない。 出典: 超訳 ニーチェの言葉 作るべき理由 1. エ…

2つの設定ファイルから空行やコメントを除いていい感じにdiffを表示するプチテクニック

▼ アイキャッチ画像は適当です ミドルウェアなどのバージョンアップやマイグレーションなどの際に、「今の設定ってデフォルトからどこがどう変わってるんだっけ?」って気になることありますよね? でも、単純に diff コマンドで差分を出すだけだと改行やコ…

dockerコンテナ内から /dev/stdout へ書き込もうとすると "Permission denied" になる

PHP Laravel 5.5系のアプリをdockerコンテナにして、所定のログファイルpathから /dev/stdout へのsymlinkを貼って動かしたところ Permission denied エラーが出た。原因を調べたところそれなりにめんどくさかったので調べたことをまとめておく。 症状 docke…

DockerHubのnginx:latestイメージでpsコマンド叩いたら「そんなもの無い」って言われたのでインストールする

背景 DockerHubにある nginx:latest イメージから起動したコンテナ内で ps を叩いたら root@de0ff7733246:/# ps bash: ps: command not found と言われてしまったので、インストールする インストール nginx:latest の Dockerfile をちら見してみたら、Debia…

遠慮なく社内転職制度を使って異動しました

これは VOYAGE GROUP Advent Canlendar 2017 の10日目のエントリです。 今年7月ごろに社内転職制度を使って異動したので、そのことを書きました。 そう言えば、VOYAGE GROUPで働いていることをブログで明言するのは初めてですが、プロフィールからFacebookた…

木曜日に有給を取るのは最高かもしれない

有給ちゃんと取ってますか!? 労働者に認められている権利なので、使い切らないと損ですよ! 「有給使ったら白い目で(ry」みたいな :poop: 企業にお務めですか?(弊社ではエンジニアを募集しています!興味がある方は(ry) さて、本題 有給の使い方って…

VALU売り出しの三ヶ条 ~下手な売り出しで価格崩壊を起こさないために~

僕はVA大量売り出し事件が起こる前からVALUをやっています。 下手な売り出しによって価格崩壊が起きているVALUをたくさん見てきたので警笛がてら書きます。 VA取引は市場原理に基づいて行われるので個人間売買の結果として損失が出るのは仕方ないのですが、…

PHPカンファレンス2017へブーススタッフとして参加しました #phpcon2017

Hello, everybody! Web開発において大きなシェアをもつプログラミグ言語PHPのカンファレンス「PHPカンファレンス2017」へVOYAGE GROUPとしてスポンサーしていたので、ブーススタッフとして参加しました phpcon.php.gr.jp ▼ 当日のブースの様子 Special thank…

高知県主催のIT交流会へ参加 & LTしてきた

9/9 (土) の高知県主催 ITコンテンツ・ネットワーク交流会へ参加 & LTしてきました。昔から続いているものをそのままやっていくだけではダメなんだよっていうメッセージが感じられる良い話と、素敵な出会いがありました。

話題の #VALU に絡んだサービスを作ったら、ぼくのVALU時価総額が8.5倍になりました

ヒカルさんの一件で良くも悪くも有名になってしまった VALU ですが、個人の活動を個人が支援できる仕組みが個人的にドンピシャでとても気に入っています。 そこで、 自分もVALUに何かコミットしたいと思って、VALUのおもしろいポイントでありながら標準UIで…

SlackのMessage Retention Policyを設定して古いメッセージ、ファイルを自動削除する

この記事で分かること Slack プライベートチャンネル のメッセージ / アップロードしたファイルを自動削除する方法 事前条件 Slackの スタンダードプラン or プラスプラン を契約している SlackのTeam settingで、Message Retention Policyのオーバライド許…

PHP用HTTPクライアント「HTTP_Request2」をcomposerでinstallする

PHPで使える 古参 HTTPクライアント、 HTTP_Request2 をcomposerを使ってインストールする方法を紹介します。 今時composerを使っていないPHPプロジェクトなんて有るわけないですからね! pearライブラリをcomposerでinstallするには事前にリポジトリを追加…

/etc/cron.dへ置くファイルにはownerとpermissionに制約があるっぽい

crontabファイルを etc/cron.d へ置いても期待通り動かなかったことがあって調べたメモ まとめ /etc/cron.dへ置くファイルは ownerは、rootでなければならない permissionは、owner以外に書き込み権限があってはならない 検証 ownerがroot、かつowner以外のw…

valuの審査が終わった :ワイワイ: #valu

巷を賑わせているビットコインを使った疑似株式サービス VALU の登録 & 審査が終わりました! valu.is VALUってなんやねん 簡単に言うとビットコインで「個人株式」を売買出来るサービス。 VALU | システムメンテナンス help.valu.is 詳しくは作った人のブロ…

「ブログ書きたいだけ」の人は安易にWordPressを使い始めないほうがいいと思う

日頃学んだことや検証したことのアウトプット & 備忘録を残すことを目的に、2016年末ごろからブログを書いている。ブログサービスを使わず自前WordPressでブログを書いていたが、いい加減つらくなってきたので本日「はてなブログ」へ出戻りした。 そこで、こ…

「投資信託 入門」勉強会の講師をしました

Oystersという若手エンジニアコミュニティで、「投資信託入門」というテーマで勉強会を開きました。 はじめに お金が絡むことなので予防線を張っておきますが、本記事は株式投資歴約2年、投資信託歴半年の自分が経験した or 調査した結果に基づくものなので…

「20代エンジニアのキャリア論」勉強会に行ってきた

キャリア支援サービス サポーターズ 社長 楓(カエデ)氏による「20代エンジニアのキャリア論」勉強会に行ってきた supporterzcolab.com 内容 ※ オレオレ解釈が含まれていると思うので、リアルが気になる方は是非次回の勉強会にご参加下さいw supporterzcolab.…

Matz氏による「若手エンジニアの生存戦略」勉強会に行って来た #colab_matz

エンジニアにはお馴染みRubyのパパ、Matz氏による「若手エンジニアの生存戦略」勉強会に行って来た 講師: まつもとゆきひろ 提供: サポーターズ 特別協賛: Speee 会場提供: DRECOM ↑ 会場設営中の様子。素敵な空間でした!DRECOMさんありがとうございます! …

CentOSへaws-cliを入れようとしたらPython.h,pyconfig.hが無いって怒られた

CentOSへpipでaws-cliを入れようとしたら、下記のようなエラーが出た。 $ pip install aws Collecting aws Downloading aws-0.2.5.tar.gz ...snip... No package 'libffi' found c/_cffi_backend.c:2:20: 致命的エラー: Python.h: そのようなファイルやディ…

正規表現 "?:" の意味 #些細な検証メモ

正規表現って構文が色々あって、読むごとに学びがありますよね。 今回は “?:” っていう構文について調べたので、備忘録がてらメモっときます (写真は昨日の夜に行った 七志 とんこつ編 渋谷道玄坂店 です) 正規表現 “?:” の意味 MSDNによると、 (?:pattern) …

sudoコマンドをパスワードなしで使えるようにする

unix系OSには任意のユーザとしてコマンドを実行する sudo というコマンドがあります。 Linuxコマンド集 - 【 sudo 】指定したユーザーでコマンドを実行する:ITpro このコマンドは、一般ユーザでログインした状態でroot権限でコマンドを実行したいときに良く…

`set -e` していても `command1 || command2` みたいな書き方ができる #些細な検証メモ

ことのはじまり シェルスクリプトを書くときに set -e しますよね これをしておくとシェルスクリプトの途中でエラーが発生した場合に処理を中断してくれるので、ある処理が失敗したあと、意図せず後続の処理が動いて悲劇が起こるのを防いてくれます ところが…