タグ

環境に関するarx0balestのブックマーク (17)

  • M1Mac × Docker × SchemaSpy × MySQL8.0でテーブル定義書とER図を自動生成してみる

    M1Mac × Docker × SchemaSpy × MySQL8.0でテーブル定義書とER図を自動生成してみる 2022.10.19 技術 Docker, MYSQL こんにちは、システム部の能勢です。昨年の秋に入社して、今はバックエンドを中心に開発を担当しています。 「この設計資料、最終更新何年前やねん」 「なんか現実と違うんですけど」 こんな言葉にビビビっとくる方いませんか? 最近はかなり激減したんですが、自分は少なくともエンジニアキャリアの最初の方ではこういう経験をよくしてきたタイプです。 弊社みたいにプロジェクトリリース前にドキュメントを第三者視点できっちり確認されるような体制のある開発現場ではこういうことが起こるのも低頻度だと思うんですが、実際問題世の中にはいろんなタイプの現場がありますし、そこまできっちり管理しきれない・・・こんなホンネが漏れるのが実情という方も多いんじゃ

    M1Mac × Docker × SchemaSpy × MySQL8.0でテーブル定義書とER図を自動生成してみる
  • ランニングコストほぼゼロから始めるスケーラブルな本番環境

    はじめに 私は個人開発で一山当てたいと常々思っていて、そのためにいくつかヒットしそうなサービスのアイデアがあります。エンジニアであればアイデアを具現化することに躊躇してはいけないと思うわけですが、一度リリースしてしまうとランニングコストが発生するわけで、仮に全く人気がでなかったとしたらランニングコスト分の赤字を垂れ流すことになります。 一方、個人開発者というのはおそらく誰しも夢見がちなので、リリース後バズったりしてユーザーが大量に押し寄せてきてしまってサーバーダウンする可能性も考えてしまいます。 その結果、「全く誰も来なくてランニングコストが赤字になったらどうしよう」という不安と「めちゃくちゃバズってしまってサーバーダウンしてチャンスを逃したらどうしよう」という不安が、心の中でせめぎ合うことになります。 そこで、今回はその2つの不安を一気に解消する「使われなければランニングコストが限りなく

    ランニングコストほぼゼロから始めるスケーラブルな本番環境
    arx0balest
    arx0balest 2022/03/29
    ここまで頑張った上でなぜPHPに拘るのか謎。筋トレした後ポテチストゼロタバコキメてる並のぶち壊し感。
  • M1 Macを購入したのでセットアップ&zsh環境をいい感じにした - Qiita

    先日のApple Eventでも Mac Studio や iPad Air(第5世代) が発表され、いよいよ Apple M1チップ がデファクトスタンダードになったなあと感じています。自分もこれまで、業務用PCとしてMacBook Pro 2017を使っていたのですが、悪名高いバタフライキーボードの破損をきっかけに MacBook Air(M1) を購入してもらいました。 さっそく業務で使用していくためにセットアップをしたのですが、やはりIntelチップとの違いに戸惑ったので備忘録としてまとめます。この記事は元々社内のナレッジに書く予定だったのですが、自分自身QiitaやZennの記事にかなり助けられました。この記事も今後M1 Macをセットアップする人の役に立てばと思っています。 MacOSの基的な設定を使いやすく変更する 購入したばかりのMacはDockに大量のアプリが登録されて

    M1 Macを購入したのでセットアップ&zsh環境をいい感じにした - Qiita
    arx0balest
    arx0balest 2022/03/13
    brewでここまでできるの知らんかった。いいね。
  • 実行環境依存のコードに対してテストを書く考え方

    社内用の啓発記事ですが、閉じる理由がないのでここに投げます。 ブラウザにべったりなコードを書いてると、ブラウザや node.js 固有の環境をインラインで記述してしまうことが多々あると思います。 あえてダメダメなブラウザ向けのエントリポイントの例を書きます。 // main.ts let id = localStorage.get('id'); if (!id) { id = `${navigator.userAgent}-${Math.random()}`; localStorage.set('id', id); fetch('/auth', { method: 'POST', credentials: 'include', body: JSON.stringify({ id, at: Date.now(), }), headers: {'Content-Type': 'applicat

    実行環境依存のコードに対してテストを書く考え方
  • Macで使うVS CodeとRemote Containerの性能を大幅改善 - Sweet Escape

    はじめに なぜ遅いのか 何をやるのか 計測 名前付きボリュームを使ってない場合 Named Volumeを使う場合 Macからどう見えているか 結論とまとめ はじめに 以前からいろんなところで話していますが、僕は普段、手元のMacには言語系のランタイムとかは入れておらずVS CodeとDocker for Macだけ入れてRemote Containersの環境で開発しています。 この環境自体はとても便利でいいのですが、一点大きな問題があります。 それは遅いということ。自分の場合は最近だとJSでの開発が多いのですが、例えばNext.jsで開発している場合に以下のような操作が特に遅く感じます。 yarn install yarn add yarn jest next dev next start next build yarn jestとかnext devが遅いのは起動だけだったりします。起

    Macで使うVS CodeとRemote Containerの性能を大幅改善 - Sweet Escape
  • AWS におけるマルチアカウント構成の動向 - 理系学生日記

    AWS で環境を構築する際はマルチアカウントになることが多い、これは理解していたつもりでした。 stg 環境と prod 環境は AWS アカウントごと分ける。dev 環境も分ける。 しかし、世の中のベストプラクティスはもっと先を行っていました。 なぜアカウントを分けるのか isolation authz & authn auditing and reporting 世の中のマルチアカウント構成 各企業の事例 AWS が提供するベストプラクティス Gruntwork から見た AWS ベストプラクティス 各社のプラクティスから読み取れること なぜアカウントを分けるのか AWS アカウントを分ける理由は 3 つあります。 isolation authz & anthn auditing and reporting isolation そもそもとして、環境は分離しないと、というものです。 st

    AWS におけるマルチアカウント構成の動向 - 理系学生日記
  • sourceコマンドを誤って使ってしまいゾッとした話 - Qiita

    ってやってしまった。 ぎゃぁぁあああああああーーーーーーーー!!!!!!!! と叫んでも遅し、、、処理が走ってしまい止められなくなってしまいました。 処理の途中に 「公開鍵を上書きするかどうか?」とか出てきて、 n として回避した後、今は無くなっているレポジトリから git clone しようとしたところで、アカウント確認のために処理が止まり、そこで、 Ctrl + c で強制終了できました。 解説 source コマンドは、ファイルに書かれたコマンドを現在のシェルで実行するコマンドです よって、私がミスして実行してしまった処理の内容は、 .zsh_history にファイルに書かれたコマンドが1行ずつ実行する。という内容になります。 .zsh_history には私が過去に打ったコマンドがすべて記録されているため、つまり、それらのコマンドが順に実行されていくということになってしまいます。

    sourceコマンドを誤って使ってしまいゾッとした話 - Qiita
  • AWS導入前に知っておきたかった「VPC設計」 - Qiita

    1.はじめに 以前、「AWSアカウント設計」について記事を出しました。 今回は、このアカウントを作った後避けては通れない「VPC設計」について書いていきます。 VPCは設計をせずに作成することも可能ですが、 「どこのVPCにEC2を構築すれば良いのか?」とか「管理が大変!」等の壁にぶつかり、 後々後悔することがあるので、事前に設計することをおすすめします。 今回は、アカウントを複数作成することを考慮した上で 『環境ごとにアカウントを分けたパターン』 『システム・環境ごとにアカウントを分けたパターン』 の2パターンで考えていこうと思います!! 私個人的におすすめな構成ですので、参考になれば幸いです。 2.VPC設計 2-1.環境ごとにアカウントを分けたパターン このパターンのアカウントの分け方は以下の図のようになっています。 図.2.1.1.環境ごとにアカウント分割パターン そして以下の図の

    AWS導入前に知っておきたかった「VPC設計」 - Qiita
  • プログラム内でdotenvを読み込むのをやめた話

    dotenvというRuby発のOSSがあります。 .envって名前のファイルに環境変数を列挙してライブラリを読み込むと、それらの値をプロセス内の環境変数として値を展開してくれるというツールです。 もちろんNode.js版の実装も存在します。 Herokuを愛用していた時期によく使っていたのですが、何年か使ってみた結果プロセスの中でrequire('dotenv').config()と書くのではなく、そのプロセスを起動するときにnode --require dotenv/configとrequireオプションを用いてdotenvとプログラムの依存をなくす方向に落ち着きました。 なぜそちらの方がいいのか考えていることを残しておく。 コードがコミットされてない(はずの)ファイルに依存している 当然ですが、dotenvがソースに書かれているということは.envという名前のファイルが存在していること

  • エンジニアに聞いた「集中するために実践している26のこと」 - paiza開発日誌

    Photo by Eugene Kim こんにちは。倉内です。 皆さんは毎日オフィスで集中して仕事ができていますか? ITエンジニアは特にPCに向かう時間が多い仕事です。座りっぱなしの人も多く「集中力が続かないなあ」と悩む人もいるのではないでしょうか。 さらに私の場合は、前職がSIerで就業ルールも厳しめでした。「音楽を聞きながら仕事をする」「ちょっと外に出て気分転換」なんてこともできず、集中力を保つのに苦労していました。 paiza(ギノ)に転職して、格段に自由度が上がったので「集中するためにいろいろやっていこう」と決意していたのですが、まだまだ試行錯誤中です。 そこで、興味位で弊社の健康オタク(兼論文オタクエンジニアに「集中するために何をしていますか」と聞いてみたところ、想像を遥かに超える「集中のために実践していることリスト」が返ってきましたのでご紹介したいと思います。 なお、健康

    エンジニアに聞いた「集中するために実践している26のこと」 - paiza開発日誌
  • docker環境のWebサーバーでLet's Encryptを使う - アクトインディ開発者ブログ

    こんにちは!!こんにちは!! インフラエンジニアのyamamotoです。 Let's Encrypt、いつも活用させていただいております! ただ、証明書を取得するときにサーバー上でいろいろ作業をしなければなりません。さらにdocker環境上ではどうするんだ!?となるかと思います。 そこで、dockerコンテナでもLet's Encryptを簡単に使えるように整備してみました。 既存のイメージでLet's Encrypt組み込み済みのものもありますが、ここではあえて自前で作ってみます。 Dockerfileまわり dockerイメージは、nginxのオフィシャルイメージを元に、Let's Encryptで必要なプログラムのインストールと、ちょっとひと工夫入れた起動スクリプトを組み込みます。 Dockerfile FROM nginx:latest ENV LETSENCRYPT_HOSTS

    docker環境のWebサーバーでLet's Encryptを使う - アクトインディ開発者ブログ
  • プログラミングしたくてmac買った人のための環境構築 - Qiita

    webアプリ(php)開発に最低限必要な環境構築一覧(+あると便利なもの) こちらをターミナルから実行することで環境構築ができます。 brewをまだ導入していない人は必ず実行してください。 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew install vim brew install tig brew install mysql brew install homebrew/php70 brew install composer brew install tmux brew install nvm npm install -g gulp brew install tree #finderみたいにディレクトリ構造を見れる brew i

    プログラミングしたくてmac買った人のための環境構築 - Qiita
  • Python の依存パッケージ管理/環境切り分けツール pipenv の紹介 - 私が歌川です

    この記事は 2017/9 に書かれたものであり、2019/11/26 現在とは状況が変わっています。公式ドキュメント(日語訳)を参照してください。 時代は pipenv や— うたがわきき🔰💊 (@utgwkk) September 5, 2017 もう誰も,requirements.txt や,source ENV/bin/activate に頭を悩まされる時代は終わった! というわけで virtualenv の時代は終わり*1,pipenv の時代になりました. この記事は Python を書く人間が全員 pipenv を使うべきだという思いを込めて書きました.日語で書かれた記事がまだぜんぜんないという事情もあります. pipenv とは Python のパッケージ管理ツールの pip と,環境切り分けツールの virtualenv を融合させたツールです.Ruby でいうとこ

    Python の依存パッケージ管理/環境切り分けツール pipenv の紹介 - 私が歌川です
  • Pythonの環境管理ツール良し悪し - Zopfcode

    EDIT: 2018/06/19 pipenvについて追記 記事は社内向けに書いた文章を修正したものである。 世の中にある代表的な「Python環境管理ツール」に virtualenv, pyenv, venv, pipenv の4つがある。これらをGoogleで検索すると使い方が書かれたページばかりが出てきて、それらの違いや使い分けを解説する記事は少ない。 当は必要ではないのに「pyenvは便利」のような謳い文句で何となく使わせる記事や、古い情報を元に書いた「一見新しそうに見える記事」も多く見られる。 この記事では、中立・実用重視な視点から各ツールを解説し、筆者が考えうるベター(ベストは人それぞれ)な組み合わせについて書く。 なおAnacondaは初学者が使うにはおすすめできない。Anacondaについての筆者の解釈は末尾にあるためそちらも参照されたい。 記事公開後いくつか近い話題

    Pythonの環境管理ツール良し悪し - Zopfcode
  • もう完全に脱・人間の流れが出来ちゃったよね。そのうち一部の人間はロボ..

    もう完全に脱・人間の流れが出来ちゃったよね。そのうち一部の人間はロボットになるよ。当に凄い時代に生まれたもんだ。 どこから話せば良いのか皆目解らないが、まずは生命の進化を考えるのが良いかもしれない。海で産まれた生命体が、陸に上がり、空を舞い、今や宇宙に飛び出している。生命は、時間と共に複雑化して、機能が向上して、時空間的に拡散していくシステムの一部なのだ。拡散して環境が変わる過程で、生命体は、その構造を大きく変えてきた。例えば、海から陸に上がった爬虫類は、魚から見れば驚異のシステムだろう。いま、人間は生命を産んだ地球から飛び出そうとしている。果たして、人間とロボット、どちらが宇宙で暮らすのに適切な形態だろうか。 現状の世界の構造は、原子・分子→《DNA》→細胞→《神経》→脳→《言語》→テクノロジー→《プログラミング》→AI、という多層になっている。基的には、どんどん繋がって複雑になり階

    もう完全に脱・人間の流れが出来ちゃったよね。そのうち一部の人間はロボ..
  • 派遣先を選ぶ際の「バカ避け」としての質問項目

    東京都内で、一般派遣のPGとして何年か働いてきました。時給は2600円前後の案件が多かったです。(個人的にはもっと上げたいところですが、なかなか叶っていません) いわゆるWeb系が7割、SIer系が3割です。 SIer系(社内SE含む)は総じてクソだという印象を抱いていますので、バイアスがあるかもしれません。 どんな職種や就業形態であれ、何年かやっていると誰でも、「この条件を満たす就業先はアウトだから、ここで働いてはいけないな」という判断基準が自分の中で確立されてくるものだと思います。 自分のそのような判断基準を整理する意味合いも含めて、「就業先(派遣先)との面談の際、これを聞けば良いな」と思う質問項目を書き出してみようと思います。 typoはご容赦ください。 (1)作業に使うPCのメモリ容量とディスプレイの画素数と枚数を教えてください。 メモリ8GB未満→論外。「我々は、たかだか数千円の

    派遣先を選ぶ際の「バカ避け」としての質問項目
  • Googleが数千台もある10年前のLinuxディストリをライブアップグレードした話 - ゆううきブログ

    Googleが、太古のディストリビューションであるRed Hat 7.1から、10年新しいDebianベースのディストリビューションへ、ライブアップグレードした話を紹介する。 そのあと、自分の身の回りの環境と比較し、参考にすべきポイントを考察する。 原文は USENIX LISA の投稿論文だ。しかし、中身は論文体というよりは、事例の紹介といった適切かもしれない。 MERLIN, M. Live Upgrading Thousands of Servers from an Ancient Red Hat Distribution to 10 Year Newer Debian Based One. In Proceedings of the 27th conference on Large Installation System Administration (LISA) (2013),

    Googleが数千台もある10年前のLinuxディストリをライブアップグレードした話 - ゆううきブログ
  • 1