開発

こんにちは。 今日は、自分の周りではあまり聞かないのですが自分の中にはある、リポジトリの運用保守性について少し考えてみます。 ここで言う運用保守性とは、リポジトリの操作とそれに伴う本番環境への反映などを対象とし、その運用保守性を上げていく対応のことを指しています。 マスターブランチへのマージはrevert出来る状態にしていくブランチ運用で、 処理系変更は影響が出るのは当然なのでそこは除外し、処理系変更以外の、リファクタリング等によるrevert時のコンフリクトを極力なくす事を重視します。 そこを ...

開発

少数精鋭チームとは? 各自が自分の裁量の範囲内で自走出来るチーム 必ずしも優秀なひとが集まっているわけではない メンバーのレベル感を合わせる コミュニケーションコストが低い 極力マネージメントしない 他のメンバーへのサポートを極力少なくする 悪い意味では無く、自走してもらっている分個別に動いてもらった方がパフォーマンスが上がる サポートが必要なメンバーが多いと、周りのパフォーマンスも落ちる =>自走しているとは言えない 相談が必要なところは遠慮無く相談 相談する側のスキルとして、パッとプルリクの ...

コラム, 開発

こんにちは GENDOSUです。 今日は、普段システム開発をしていて、ふと思った事を書いてみます。 式年遷宮(しきねんせんぐう)とは 出典: フリー百科事典『ウィキペディア(Wikipedia)』 式年遷宮をやる主な想定される理由 建築様式を保存するため 神道の精神として、 常に新たに清浄であること (「常若(とこわか)」)を求めたため。 建物がいまだ使用可能の状態であっても、 老朽化することは穢れであり、 神の生命力を衰えさせることとして忌み嫌われたため 他にも色々あるが割愛 これ、システム開 ...

未分類

macのVMWare等の仮想環境からmac上に立てた開発環境に手軽にアクセスするには。 仮の前提として mac上にはRailsで開発環境を立ち上げて でアクセス出来る状態になっているとします。 VMWare等で仮想環境を立ち上げた場合、この開発環境にアクセスするには macの現在のIPアドレスを確認する 仮想環境上からはでアクセス となります 開発環境はlocalhostからのアクセスのみを許容している場合 IPアドレスでアクセスするとはじかれてしまいます。 そのための設定を開発環境にセットする ...

Mac, PC関連, ツール, 開発

悩み 普段Macで開発しているけれどローカルに開発環境作るのめんどくさい WindowsでRubyの開発環境作るのもっとめんどくさい Docker入れたら環境の共通化が出来るけど・・・Dockerのストレージドライバ、超遅い その辺の悩みを解決出来る環境をどのように作っているかを紹介します。 前提 Visual Studio Code AWS EC2などのサーバ1台参考スペック※AWS EC2の場合 t3.small(独自にswapを4GB追加) メモリは2GB + SWAP4GB構成。※SWA ...

PC関連, web, 開発

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

git, 開発

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

AWS, PC関連, 開発

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

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

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

未分類

こんにちは。最近はDockerを使ってReact on Ruby on Railsの環境を扱うプロジェクトが増えてきました。今まではRubyのオフィシャルのDockerイメージをベースに各プロジェクトごとのカスタマイズをするDockerfileを作って、その中でnodeもインストールしていました。 そうすると、ちょっとしたことではありますがデプロイ時のビルドが時間がかかるようになってて、Docker Imageもサイズが大きくなるという問題がありましてベースにするイメージとしてRubyとNode ...

ツール, 開発

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

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

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

Linux, Mac

~/.ssh/config というファイルを作成して ServerAliveInterval 10 ServerAliveCountMax 12 という2行を追加する

JavaScript

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

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 ...

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) うまく立ち回ればすごく贅沢が出来る 当然、リスクは多い 車に轢 ...

Docker, GoLang

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

heroku

Overview herokuにデプロイしたサービスをSSL化するのに、Let’s Encryptを使いたいけど なかなか面倒に感じてしまうところがあると思います。 そこで、herokuにデプロイするアプリにはLet’s Encryptのチャレンジレスポンス用のエンドポイントだけを作り そのエンドポイントに環境変数でキーを渡すようにすれば、ある程度外部から自動化出来るのではないかと思い試してみました。 環境はRuby on Railsです。 今回使うツール certbot certbot-her ...