PC関連, web, 開発

サーバにSSHでトンネルを作ってアクセス出来るようにする。 22番ポートしか空いていないようなサーバで3000番で開発環境を起動してアクセスしたい場合などに使用。 アクセスはとすれば、サーバ上のwebアプリケーションの3000番に接続出来る。

git, 開発

.gitignoreファイル 更新していますか? 扱うプロジェクトが多いと、エディタ変えたときとかプロジェクトディレクトリに設定ファイルを作ってしまうツール等を導入した場合に大変ですね。 今のチームではエディタは各自好きな物を選ぶ運用になっており AtomとかVSCodeとか使っていたりします。 プロジェクトもいくつかありますが それぞれのプロジェクトの.gitignoreに と言った物を書くのがあまりうれしくないと思ってしまいます。 そんなときは、~/.gitignore_globalファイル ...

AWS, PC関連, 開発

awsのEC2では、一部のインスタンスタイプを除いてswap領域が付いていません。 swap領域を設定する方法としては、swap領域用のイメージをファイルで作成してswaponする方法があります。 今回紹介する方法は、awsナイズした方法で、ボリュームを作成してswapとしてマウントさせる方法になります。 通常はストレージとしてのボリュームはボリュームタイプを標準のgp2に設定されていると思うので、それよりも早いプロビジョンドIOPS SSDというボリュームタイプでswapを作成します。 そうす ...

PC関連, web, インフラ, ツール, 開発

SSOやSAMLといった、主に大、中企業向けのID連携の話になります。

ツール, 開発

ちょっと前、Redis Desktop Manager(rdm)はオープンソースで、バイナリも無料で配布されていました。 今は、有料プランになってしまいました。 Contributorプランがあるのは面白いですね。 プルリクエストを送って、マージされたら1年間使えるということのようです。 課金しても良いんですが エンジニア、せっかくなのでコントリビュートすることを目指して まずはビルドできる環境を作ってみましょう。 まずは公式のBuild from sourceを参照します。 手順が実に短いです ...

Docker, インフラ, 仮想化, 開発

こんにちは。gendosuです。 今回は前回のDocker関連ネタから少し時間もたち、Dockerも進化を続けているのでここ最近のDocker事情、MacbookのSSD圧迫問題を再度取り上げてみます。 相変わらずDockerをしばらく使っていると不要なイメージやコンテナがたまってしまいますね。 今回はこれらを「なるべく安全」にお掃除する手順を考えたいと思います。 まずは、何を掃除したら良いのか、と言う情報の出し方 docker system df コマンド このコマンドはそのままズバリdock ...

JavaScript

es6では、Array.fromで、配列の数分ループを回せるので 回したい回数分の配列を作成して、Array.fromに渡します。 コールバックでは使用する文字列からランダムに 一文字を抽出する処理をループさせ、 出来上がった配列をjoinすれば ランダムな文字列が完成します。  

Docker, GoLang

gooseというgoで書かれたDBマイグレーションツールがあり、これだけを含んだDockerイメージを作った。 hub.docker.comにアップしてあるので でという感じで実行出来る。

git, 開発

よくチュートリアルのなどで なんて感じでcloneして使うやり方を書いてあったりするけども 普通にgit cloneすると 他のブランチの情報とかも管理ディレクトリに持ってきている状態なので ディスク容量も食うし、cloneする時間もかかる。 そこで、特にgit的な操作は以後しないのであればgit shallow cloneするのが良い。 やり方は こうすると、ブランチの最新のリビジョンだけを持ってきてくれる。

heroku, Ruby, Ruby on Rails 4, インフラ

最近、herokuで稼働させているRailsのアプリが「Memory Quota Exceeded」と言われる事が多くなり、定期的にワーカーの再起動をしたいと思ってました。 見る限り、swapも出てしまい、レスポンスも遅くなっているようです。 このような場合、heroku以外だと、unicornを使うので、unicorn_worker_killerを入れるのですが herokuだとpuma推薦なのでpuma使っていました。 で、pumaもuniconのようにworker killer系の物がある ...

デプロイ

概要 consulのevent発行=>event watchの機能をフルに使ったデプロイになります。 event watchで起動されるデプロイツールがstretcherになります。 前提条件 オートスケーリングをする ソースgzとかしてS3においておく 各サーバがS3からソースをダウンロードして展開する(stretcher) オートスケーリングの仕組みは別途あるものとする 検証 consulの基本的な設定 webの場合 #/etc/consul.d/web.conf /etc/consu ...

git

gitにExcelファイルあげちゃった。そして差分も見たいです。 エンジニア以外にもgithubを使い出しているところが増えつつありますが、 このような要望が少なくありません。 エンジニアとしては、それはExcelがちょっと・・・という感じかもしれませんが 非エンジニアとしてはExcelが自分の仕事の表現手段、というか やはり操作感は他のツールとは別格かと思います。 そこにエンジニア目線で別のツールを押しつけるのもどうかと思ったりもします。 ※別のツールを提供した方が効率が上がるケースももちろん ...

開発

Atom Editorで、プロジェクト内のファイルが多すぎてキーワード検索をかけると結果が多すぎて、そこからさらに検索かけたくなったりします。 そんな時に、例えばこのディレクトリは除外したい or このディレクトリ内だけ検索したい、なんて感じで条件が指定出来れば随分絞り込めると思います。 やり方は、 FindメニューのFind Project 普段、検索する時は こんな感じで検索画面が開くと思います。 この3段目、検索する場所を絞る設定になっています。 例えば、 lib配下だけを検索したい場合に ...

コラム, つぶやき, 開発

どうも、GENDOSUです。 今回は今までの経験から、少しだけベンチャー・中小企業における開発チームについて思った事などを書きます。 ベンチャー・中小企業における開発チームで重要な事は 短期間で動くものを作る必要がある リーダー(CEO)の想像するものを理解し、形に出来る必要がある 時には体力勝負 開発メンバーは他のメンバーを信頼することが必要 まず 「短期間で動くものを作る必要がある」については、ベンチャーに限らずサービスを作っていく上で、競合よりも遅れてリリーする事は、その分野での先行優位性 ...

JavaScript, Mithril.js

Mithril.jsを始めてみて、早速というか、すごく初歩的な事かもしれないけど バーチャルDOMという事での罠にはまりました。 バーチャルDOMはバーチャルな訳ですよ。 バーチャル ということは、実際にリアルにはそこに無いわけで 何を言っているかわからないと思うが もう少し具体例を出すと Mithril.jsで動的にul・liのリスト構造を表示させる。 このul・liの各アイテムは、ドラッグ&ドロップ出来るようにする。 ドラッグ&ドロップは、sortable.jsという感じの別のjsライブラリ ...

JavaScript, Mithril.js

Mithril.js はじめました。 今回、社内で使う管理画面の一部に、動的な制御入れたいな~という要望があり その要望に対して自前で作ると データの流れとかを考えたときにかなりややこしくなりそうだなと思い それならクライアントサイドのjavascriptフレームワークを使おう、という事で React.jsとMithril.jsで比較検討しました。 比較内容としては、他のサイトでも出ていると思うので、それはググっていただくとして 今回自分がMithril.jsを選んだ理由 それは学習コストが低い ...

Ruby

クリスマスプレゼントなのか Ruby2.2 がリリースされてました。 Rails使いとしては たとえば、新しい Ruby のガーベージコレクタは Symbol オブジェクトのガーベージコレクトができるようになりました。 2.2 以前の GC は Symbol オブジェクトのガーベージコレクトに対応していなかったため、この新しい GC によって Symbol オブジェクトについてのメモリ使用が削減されます。 Rails 5.0 ではこの Ruby 2.2 以降でのみサポートされる Symbol G ...

git, ubuntu

git cloneしたときに (gnome-ssh-askpass:***): Gtk-WARNING **: cannot open display: という表示が出てエラーになる。 どうも、SSHの処理がパスワード入力ダイアログを出したいらしい。 これに関連する環境変数が SSH_ASKPASS という事で、これをunsetして見ます。 これで、無事git clone出来るかと思います。

git, Windows

TortoiseSVNや、TortoiseGitで、競合が発生した場合に使用するTortoiseMergeですが、あまり使い勝手が良いとはいえないです。 そんなときは、P4Mergeを入れてみましょう。 インストールは から。 このように、Visual Merge Toolのみを有効にして、後は無効にします。 これでインストール。 インストールが完了したら、TortoiseGitの設定をします。 設定画面を開き、   マージツールの項目を選択。 外部を選択してから、P4Mergeのパス ...

git

同一リビジョンで違うファイルを比較する 違うブランチのファイルを比較する 同一名称でブランチ間比較