並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 2663件

新着順 人気順

dockerfileの検索結果121 - 160 件 / 2663件

  • はてなで最近実施しているSRE研修の紹介 - Hatena Developer Blog

    システムプラットフォームチームで SRE をしている id:masayoshi です。 この記事は、はてなの SRE が毎月交代で書いている SRE 連載の7月号です。先月は id:chaya2z さんの AWS ECS で実行するバッチ処理を Cluster Auto Scaling を使ってコスト最適化する でした。 今月は、社内で最近始めたSREへの研修についてお伝えします。 SREの研修 SREの研修は新卒入社のSREや、中途採用でインフラエンジニアやアプリケーションエンジニアからSREにジョブチェンジした方を対象に実施しています。 SREの研修は主に以下の2つに分かれます。 SREの原理原則やSLI/SLOに関する研修 インフラ構築、運用、CI/CD環境の構築に関する研修 基本的にはどちらも受けてもらうことになりますが、受講者の経験によってはどちらかだけになることもあります。 ま

      はてなで最近実施しているSRE研修の紹介 - Hatena Developer Blog
    • 機械学習なdockerfileを書くときに気をつけとくと良いこと - nykergoto’s blog

      みなさん機械学習系の環境構築はどうやってますか? 僕は最近は Docker を使った管理を行っています。 特に師匠も居なかったので、ぐぐったり人のイメージを見たり手探りで docker をつかいつかいしている中で、最初からやっとけばよかったなーということがいくつかあるのでメモとして残しておきます。 大きく2つです。 キャッシュは消す テストを書く キャッシュは消す ライブラリをいろいろと install すると大抵の場合ダウンロードしたファイルを保存されている場合が多いです。何かのタイミングで再びそのライブラリをインストールする際にはダウンロードしたファイルを使って、素早くインストールすることができます (この仕組みがキャッシュです)。 キャッシュがあると容量が重くなるという欠点があります。重たいイメージは pull に単に時間がかかりますから、システムとしてデプロイする時にトラフィックが

        機械学習なdockerfileを書くときに気をつけとくと良いこと - nykergoto’s blog
      • 失われた「フリーソフト」の哀愁と、今を生きる開発者への願い。 - Zopfcode

        かつて、窓の杜や Vector へウキウキでダウンロードしに行ったような「フリーソフト(フリーウェア)」たち。これら「フリーソフト」たちの中には、利用についての明示的な許諾がないソフトが多く存在する。 これらの公式な入手手段が生きている間は何も問題はない。しかし最近は、サイトが閉鎖されるばかりか、連絡先すらわからず困るケースが多くなっている。このように公式の配布手段が失われると何が困るのか。そこには大きく2つの問題がある。再利用の許諾を欠くことと、ソースコードがないことだ。 2022/12/29 追記: unasuke が「コードを公開する側」から見て同じ話題を解説した記事を公開しているので、私の記事とは別な視点が欲しい、あるいは疑問を持った方がいれば是非こちらも参照して欲しい。 blog.unasuke.com 問題1. 再利用の許諾がない(あっても曖昧) 再利用の許諾が書かれていなけれ

          失われた「フリーソフト」の哀愁と、今を生きる開発者への願い。 - Zopfcode
        • Rust開発時の便利ツールたち

          前書き Rustを書くときに便利なツールをまとめた記事が無い気がしたので作成。(ちゃんと探してないので既にあるかも) 公式ツール cargo パッケージマネージャ 基本だけどとても便利なツール 一度はThe Cargo Bookを読んでおくことを推奨。 rustfmt フォーマッター cargo fmt でもフォーマットの修正が出来る。(こっちを使うことが多い) clippy lintツール こう書いたほうが良いよという提案もしてくれるので便利。 cargo clippy --fix を使うと自動で直してくれる。 rust-analyzer Language Server rls もあるが、(最近は?) rust-analyzer の方がメジャーな気がする。 追記 : RLSは非推奨になりました。RLS Deprecation 非公式ツール cargo-watch ソースコードの変更を検知

            Rust開発時の便利ツールたち
          • Intel MacからM1 (Pro・Max) Macへ(出来る限り)滑らかに開発環境を移行する

            Intel MacからM1 Macの移行を想定。実際にはIntel MacからM1 Pro Macへ移行をしたのでその忘備録です。出来る限りというのは手動作業が存在するため。移行セットアップを利用せずにクリーンインストールを行う。 なぜクリーンインストールなのか CPUアーキテクチャがarm64に変わるからです。TimeMachineやThunderboltケーブル経由での移行を行ったとしてもM1に最適化されたアプリケーションやミドルウェアではなく、Intel環境下のファイルとarmアプリケーションが入り混じってグチャグチャになった環境を直すよりもクリーンインストールで綺麗な状態でセットアップをしたほうが利点が大きいと考えている。 逆に言えばアーキテクチャが同じであれば良いので、見ている方がいるかわからないがM1 MacからM1 Pro・Maxへの移行はThunderboltケーブル経由で

              Intel MacからM1 (Pro・Max) Macへ(出来る限り)滑らかに開発環境を移行する
            • Vimで本格的にWeb開発したい人の為のステップアップガイド

              想定読者 この記事は「Vimって便利だけど、覚えたてだと局所的にしか使えなかったりして、実際に本格的にWeb開発するのは難しいし、モチベーションも続かないなあ…」という人のために書きました。 工夫した点 TODOサンプルアプリを用意して「Vimの設定適用 → リアルなコードを使って実際にVimを動かす」という感じで少しずつ便利になる体験をしながら実際のWeb開発でも使えるVimを使った操作や設定などを覚えていけるステップアップ構成 特定のプラグインを使うケースは類似プラグインを紹介し、他のプラグインも選択できるように。(これこそVimの楽しいところ。好きなものを好きなように自分で組み合わせて使う。) 注意点 Vimの説明になります(Neovimではありませんのでご注意ください)。 Vimはバージョン8.2を使っています。 Docker上のUbuntuでVimを動かす想定になっています。イン

                Vimで本格的にWeb開発したい人の為のステップアップガイド
              • Railsアプリの開発環境向けDockerfile + docker-compose.yml - アジャイルSEの憂鬱

                人に説明するときに記事あると便利なので、開発環境向けのDockerfileとdocker-compose.ymlを書いておく。 Dockerfile FROM ruby:3.0.0 WORKDIR /app # Using Node.js v14.x(LTS) RUN curl -fsSL https://deb.nodesource.com/setup_14.x | bash - # Add packages RUN apt-get update && apt-get install -y \ git \ nodejs \ vim # Add yarnpkg for assets:precompile RUN npm install -g yarn # Add Chrome RUN curl -sO https://dl.google.com/linux/direct/google-ch

                  Railsアプリの開発環境向けDockerfile + docker-compose.yml - アジャイルSEの憂鬱
                • エンジニアとして2020年に関わった技術をまとめる - バーチャルおりばーハウス

                  potato4dとうなすけが2020年に使用した技術をそれぞれフロントエンドエンジニアの目線とサーバーサイドエンジニアの目線から書いてくれていたので、私も感化されて記述していこうと思う。d.potato4d.me blog.unasuke.com 私自身は2020年、本業としてFringe81(2020年12月で退職)でサーバーサイドをメインで触り、業務委託としてBlack Inc.でフロントエンドに近い開発をしていた。(あと数社お手伝い) どちらかというとサーバーとフロント、両方の立場から多角的な意見を言えるような立ち位置で仕事を行っていた年になる。 また本業においては情報処理安全確保支援士として活動を始めた年になった。社内のセキュリティ向上を目標としていた。 qiita.com qiita.com 今回は仕事で触れていた技術について、できる限りまとめていく。 --- 言語 TypeSc

                    エンジニアとして2020年に関わった技術をまとめる - バーチャルおりばーハウス
                  • AWS×コンテナで基本的なDevSecOpsアーキテクチャをデザインしたお話 - How elegant the tech world is...!

                    はじめに 先日、僕が担当する業務でECS/Fargate利用を前提にDevSecOpsアーキテクチャをデザインし、社内のAWS勉強会にて登壇する機会をいただきました。 本ブログでも内容をかいつまんでご紹介できればと思います。 AWSによらず、コンテナを利用されている方にとって、一つのプラクティス例としてご参考になれば幸いです。 ※コンテナ自体の説明や必要性に関する内容は省略していますm(_ _)m そもそもDevOpsとは? DevSecOpsの導入意義をお伝えするた前に、まず軽くDevOpsの意義をお伝えします。 ※とは言え、この記事をご訪問されている方にとっては「何をいまさら...」な内容かもしれませんし、ググればDevOps自体の情報はたくさん見つかりますので、重要なポイントのみ述べることにします。 DevOpsとは、一言で述べれば、開発チームと運用チームが協力してビジネス価値を高め

                      AWS×コンテナで基本的なDevSecOpsアーキテクチャをデザインしたお話 - How elegant the tech world is...!
                    • コンテナのベストプラクティスに対しておこがましくも言ってみる - Qiita

                      最近実際に開発現場にコンテナを導入してきた経験から、公式ドキュメントに記載されているベストプラクティスに実際どうなんだということを言ってみようと思います。公式に書いてあることを間違ってると指摘という意図はありません 発言は個人の見解に基づくものであり、所属組織を代表するものではありません。 2023/12/3更新: 燃えかけてるのでタイトルを変えました。 補足: こちらの環境は下記を想定しています。 Java CICD/本番環境イントラネット内に整備 WF開発 マルチステージ・ビルドを使う マルチステージビルドの目的 公式ドキュメントには、下記のように記載があります。 マルチステージ・ビルド は、中間レイヤとイメージの数を減らすのに苦労しなくても、最終イメージの容量を大幅に減少できます。 つまり、最終イメージの容量を減らすことが目的であって、その一つの手段としてマルチステージビルドを進めて

                        コンテナのベストプラクティスに対しておこがましくも言ってみる - Qiita
                      • ISUCONの過去問にチャレンジするためのシンプルな環境構築 : ISUCON公式Blog

                        過去のISUCONで出題された問題をシンプルに環境構築できるページなどを紹介します。 初めてISUCONにチャレンジするという方は、事前講習のスライドや動画でISUCONの競技の流れをまとめています。2021年と2022年とそれぞれありますので参考にしてみてください。 AWS環境で構築するConoHaのVPSで構築するさくらのクラウドで構築するDocker環境があればすぐに構築できるVagrantとVirtualBoxがあれば構築できるWSL2があれば構築できるVirtualBoxがあればすぐに構築できるAppleシリコン搭載のMac上で構築する AWS環境で構築するmatsuu/aws-isucon: ISUCON過去問をAWS環境で構築するための一式ISUCON5 予選ISUCON6 予選ISUCON7 予選ISUCON8 予選ISUCON9 予選ISUCON9 本選ISUCON10

                          ISUCONの過去問にチャレンジするためのシンプルな環境構築 : ISUCON公式Blog
                        • レガシーシステムをDocker環境へ移行させた話

                          はじめに初めまして、FinatextグループのK-ZONEチームでインターンをしている松永と申します. 現在インターンではバーチャル株投資ゲームの「トレダビ」の改善を行っています. トレダビを長く運用し続けてきた弊社ですが、長年の運用から技術的負債が溜まっていました. その中の一つに、トレダビのローカルの開発環境でゲーミフィケーションサーバ(トレダビにおいてゲーム的な要素を担当するサーバ)がDocker上で動いておらず、ローカルで開発を進める際に特定の画面の確認ができないという問題がありました. この問題をどのように解決したかについて紹介します. トレダビの開発環境についてトレダビはRuby on Rails + MySQL + Java(ゲーミフィケーションサーバ)で運用されており、AWSの開発環境では以下のような構成で動作しています. しかし、トレダビのローカルの開発環境ではゲーミフィ

                            レガシーシステムをDocker環境へ移行させた話
                          • 個人的Rails開発環境構築2024

                            新規でRailsプロジェクトを始める時の個人的な環境構築についてまとめる。前提とする条件等は下記。 規模: ~中規模 開発者数: 個人 利用シーン: PoC作成・スタートアップ立ち上げ・並の業務アプリ開発等 基本戦略 利用シーン的に「思い立ったらすぐアプリの開発ができる」という感じの運用がしたい。極力セットアップで悩みたくないから必要なミドルウェアなどは全部Dockerでインストールできるようにして立ち上げれば終わり、の環境を作る。その環境の中で色々とコマンドを叩いたり、rails newやrails gなどでRailsアプリを作成していく。 この辺のRailsの初期セットアップの手間を出来るだけ省きたいのでtemplateとなるリポジトリを作成し、そこからcloneしてくるだけでOKにする。 フロントエンドはReactなどを使わずをRails標準のerbとHotwireを軸に開発する。開

                              個人的Rails開発環境構築2024
                            • 複数の環境でDockerfileを共通化するために使えるtips

                              前提 コンテナを用いてアプリケーションのワークロードを構築することにはいくつかの利点があります。 なかでも、下記に上げられるポータビリティと環境の再現性は非常に強力です。 ポータビリティ コンテナは、アプリケーションとその依存関係をコンテナ内にパッケージ化します。 これにより、開発環境で構築したコンテナを本番環境にデプロイする際にも、一貫した動作が期待できます。 異なる環境間でアプリケーションを移行する際に、互換性の問題や依存関係の不一致が生じるリスクが低減され、ポータビリティが高まります。 環境の再現性 コンテナは環境に依存しないため、開発者が特定の環境でアプリケーションを構築した場合でも、他の開発者や運用チームが同じ環境を再現することが容易です。 コンテナイメージにはアプリケーションのコードとその実行環境が含まれており、イメージを共有することで他の人が同じ環境でアプリケーションを実行で

                                複数の環境でDockerfileを共通化するために使えるtips
                              • Repro のサーバーサイド開発環境を M1 Mac に対応させるまでの道のり - Repro Tech Blog

                                Apple Silicon の時代が来る Repro でサーバーサイドの開発をお手伝いしているうなすけと申します。 2021年10月19日に行われた Apple の新製品発表において、M1 チップを搭載した MacBook Pro が発表されました。この発表により、Intel チップを搭載した MacBook はラインナップから消え、今後は M1 チップ上で開発する機会が増えることは確実です。 ところで、私達の開発環境は M1 に対応しているのでしょうか? 社内の開発メンバーの大半は MacBook を使用しているので、もし対応していない場合、なるべく早く対応させないと新しい社内端末を購入できなかったりするので、結構影響が大きいです。 またインターネット上で、M1 Mac を使用している人々からの「全然発熱しない」だとか「ファンが回ることがない」とか「電池の持ちがすごい」とかの良い評判を目

                                  Repro のサーバーサイド開発環境を M1 Mac に対応させるまでの道のり - Repro Tech Blog
                                • VSCode + Dockerでよりミニマルでポータブルな研究環境を

                                  はじめに もっとミニマルで簡単なポータブルな環境を! 自分自身の研究のための環境構築についてこれまで二本の記事を書いてきました. これらの記事から二年ほどたち, いくつかの点において不満点が出てきました. 特に, GCPや自宅のサーバー上でリモートで作業することが多くなってきたので, よりミニマルでポータブルな環境が必要になりました. 以下では, 現時点で最小限の努力で環境を再現ができることを目標にしたDockerベースのGitHubレポジトリのテンプレートとその使い方を紹介します. このテンプレートを用いて作られた環境は, 新たなコンピュータ上で最短4ステップで環境を再現できるようになります. git clone VSCodeの"Open in Remote Containers" renv::restore() dvc pull この環境とセットアップはこのレポジトリにテンプレートとし

                                    VSCode + Dockerでよりミニマルでポータブルな研究環境を
                                  • AWS Copilot のご紹介 | Amazon Web Services

                                    Amazon Web Services ブログ AWS Copilot のご紹介 Amazon Elastic Container Service (Amazon ECS) をご利用中、あるいはご利用を検討されている皆さまへ 本記事でご紹介する AWS Copilot は Amazon ECS CLI の後継に当たるものです。日本はこの ECS CLI を多くのお客様にご利用いただいている地域の1つであることに加え、ECS でのコンテナ実行をもっと簡単に行えるようにしたい、シンプルなワークフローを実現したいというリクエストを多数いただいていることから、本記事を英語記事と同じタイミングで公開することにしました。 Amazon ECS でのコンテナ実行に新たな体験を提供する AWS Copilot の紹介記事です。お楽しみください! −トリ (皆さまからの Copilot へのフィードバック、

                                      AWS Copilot のご紹介 | Amazon Web Services
                                    • レガシーシステムをDockerコンテナ化する場合に直面した4つの壁 - RAKUS Developers Blog | ラクス エンジニアブログ

                                      こんにちは。 株式会社ラクスで先行技術検証をしたり、ビジネス部門向けに技術情報を提供する取り組みを行っている「技術推進課」という部署に所属している鈴木(@moomooya)です。 ラクスの開発部ではこれまで社内で利用していなかった技術要素を自社の開発に適合するか検証し、ビジネス要求に対して迅速に応えられるようにそなえる 「技術推進プロジェクト」というプロジェクトがあります。 このプロジェクトで「WEBアプリケーションのDockerコンテナ移行」にまつわる検証を進めているので、その中間報告を共有しようかと思います。 本検証での想定環境 CIに不必要な部分は後回し 既存アプリでコンテナ化の障害になった部分 OSコマンドを利用している ミドルウェアとの密結合 オンライン系とバッチ系の密結合 ひとまず目指す状態 プロセス相乗りの影響 ログが複数出力される まとめ 続きの記事も書きました。 tech

                                        レガシーシステムをDockerコンテナ化する場合に直面した4つの壁 - RAKUS Developers Blog | ラクス エンジニアブログ
                                      • Docker Compose入門 (4) ~ネットワークの活用とボリューム~ | さくらのナレッジ

                                        これまでのDocker Compose入門は、Docker Compoesの紹介に始まり(第1回)、簡単なウェブサーバを起動する方法(第2回)、ネットワークの理解を深める方法(第3回)でした。今回は連載のまとめとして、ネットワークとボリュームの活用によって、1つのサーバもしくはPC上に複数のアプリケーション環境を動かす方法をみていきいましょう。 Docker Composeはプロジェクトごとにネットワークを持つ 前回はDockerのネットワークの扱いを学びました。Dockerコンテナを実行すると、そのコンテナ内のプロセスは、デフォルトで「bridge」という名称の仮想的な内部ネットワークを通して通信を行います。またホスト上のブリッジ(仮想的なネットワーク・スイッチ)を経由して、Dockerが作成する他の内部ネットワークや、ホスト側のインターフェースを通して、インターネットなどの外部ネットワ

                                          Docker Compose入門 (4) ~ネットワークの活用とボリューム~ | さくらのナレッジ
                                        • ABEJAの技術スタックを公開します (2019年11月版) - ABEJA Tech Blog

                                          2021/10/22追記:最新版は下記記事になります!こちらもご一読くださいませ。 tech-blog.abeja.asia どうも、Tech Blog編集長(自称)の緒方(@conta_)です。 よくエンジニアの方にご質問いただく ABEJAってよく聞くけど、実際どんなことやってるのかよくわからない という点をクリアにするために、事業内容と技術視点でのABEJAの取り組みを紹介したいと思います。 ABEJAに興味のある方や、未来の一緒に働くメンバーに読んでいただけると嬉しいです! 割とAIコンサルの会社と思われているらしいので、ちゃんとプロダクト作ってますよ!ということを伝えていきたい ABEJAの事業紹介 ABEJAは2012年から約7年間、機械学習・ネットワークやIoTデバイスを活用したプロダクトの研究・開発・運用を行っています。 様々な産業・業種へ機械学習の適用・運用を培ってきたナ

                                            ABEJAの技術スタックを公開します (2019年11月版) - ABEJA Tech Blog
                                          • 1コンテナ複数プロセスはやめておいた方が良い話 - Qiita

                                            概要 Docker コンテナの原則として「1コンテナ1プロセス」1というものがありますが、あえてこの原則を破りたいときがあるかもしれません。 公式: Run multiple services in a container 有志翻訳: コンテナー内での複数サービス起動 上記ドキュメントのラッパースクリプトを利用する方法には重大な問題があり、本番環境で使用するべきではありません。 (よりによって「本番環境でのアプリ運用」の項目にある) 公式ドキュメントに書かれているのに、死ぬというのはおかしいじゃないか それが罠だという証拠 ちなみに supervisord を利用する方法は問題ありません。 また、コンテナ向けに最適化された s6-overlay2 を利用する方法もあります。 ラッパースクリプトの問題点 プロセスの graceful shutdown が実行されない(プロセスに SIGKIL

                                              1コンテナ複数プロセスはやめておいた方が良い話 - Qiita
                                            • 超基礎からの 速習 Docker (1) - Qiita

                                              本稿は、Christffer Noring さん (@chris_noring) の Learn Docker, from the beginning を翻訳し、分かりやすいように少しだけ追記、サンプルコードの実行上の補足等を行ったものです。Docker について教科書的な使い方を実際に実行して確認しつつ、Docker Composeを使ったオーケストレーションの基礎までを導いてくれます。今、Docker で注目されるのは、コンテナ同士が連携する、オーケストレーションです。本稿ではオーケストレーションの最も基礎となる Dokcer Compose までですが、オーケストレーションを活用するための基礎的部分の考え方を実地を以ってしっかりと理解できます。その意味で、原題は「from the beginning」ですが、初心者向けと言うよりも、今現在進行形の技術トレンドをキャッチアップするための

                                                超基礎からの 速習 Docker (1) - Qiita
                                              • はてなブログをECSに移行してリリース頻度も改善した話 - Hatena Developer Blog

                                                この記事ははてなエンジニア Advent Calendar 2022の26日目のエントリです。 こんにちは id:cohalz です。はてなブログでは2022年7月にインフラをAmazon EC2からAWS ECS(AWS Fargate)に移行するプロジェクトが完了しました。 プロジェクトは2021年9月から始まったので約10ヶ月間という大きなプロジェクトでした。 プロジェクト完了までに行ってきたことのうち、特に面白かったところなどをこの記事で実施した順に振り返ってみます。 はてなブログのインフラのこれまで アプリケーションを動かせるようにする ALBを追加する 検証環境を用意だけしておく プロキシの設定埋め込み 証明書の配信 アクセスログを配送できるようにする アクセスログの形式を新しくする EC2でもFirehoseを経由するように タイムゾーンをUTCに統一 FirehoseのLa

                                                  はてなブログをECSに移行してリリース頻度も改善した話 - Hatena Developer Blog
                                                • 仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編 | フューチャー技術ブログ

                                                  BusterとかStretchという名前が見慣れない方もいるかもしれませんが、これはLinuxディストリビューションとしてシェアの大きなDebianのコードネームです。 Debianバージョンが少し古いStretchの方がちょびっとサイズが小さかったりはしますが、まあ実用的にはサポートが長い方がいいですよね。slimを使ってGCCとかのコンパイラを自前でダウンロードしている記事とかもたまに見かける気がしますが、マルチステージビルドであれば、そんなにケチケチしなくていいのと、パッケージダウンロードは逐次処理なので遅く、処理系が入ったイメージのダウンロードの方が高速です。並列で処理されるし、一度イメージをダウンロードしてしまえば、なんどもビルドして試すときに効率が良いです。また、多くのケースでネイティブのライブラリも最初から入っており、ビルドでトラブルに遭遇することはかなり減るでしょう。 Py

                                                    仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編 | フューチャー技術ブログ
                                                  • App Engine VS Cloud Run

                                                    Cloud Run CPU 0.08 ~ 8 Core (2nd gen は最小 0.5~) Memory 128 MiB ~ 32 GiB (2nd gen は最小 512MiB~) Deploy App Engine は Deploy (gcloud app deploy) を実行すると Cloud Build が暗黙的に動いて Deploy が行われるが、これがなかなか時間がかかる。 開発環境だと CI でとりあえず main branch に merge されたら、Deploy したりするけど、Deploy を Skip してもよいような時でも CI 回してると Deploy を待つことになって、ちょっとめんどうに感じる。 更にこの仕組みは成果物は Deploy しないと生まれないので、CI と CDを分離しづらい。 Cloud Run は Container Registry a

                                                      App Engine VS Cloud Run
                                                    • モノレポの開発環境でDocker ComposeをやめてTaskfileを導入した話

                                                      こんにちは、Sally社 CTO の @aitaro です。 マーダーミステリーアプリ「ウズ」とマダミス制作ツール「ウズスタジオ」、マダミス情報サイト「マダミス.jp」を開発しています。 はじめに この記事ではウズの開発当初から利用していた Docker Compose をやめることにした背景についてご紹介します。 Docker Compose は各マシンの開発環境での差異を吸収するというメリットがあり、多くの開発現場で導入されていますが、Docker Composeの抱えているデメリットを勘案して、最終的に一部を残して辞める決断をしました。 Docker Composeの特徴 Docker Composeは、複数のコンテナを定義し、管理するためのツールです。ウズの開発環境では、バックエンド、フロントエンド、データベースなどをそれぞれコンテナ化して、Composeで一括管理していました。こ

                                                        モノレポの開発環境でDocker ComposeをやめてTaskfileを導入した話
                                                      • Dockerfileの作り方を考え直したらすごく効率が上がった

                                                        Dockerfileを作る時、最初は以下の方法でやってました。 Dockerfile書く ビルドする(動かしたいアプリ含め) 起動してみる 動かなかったらDockerfile修正する またビルドして試す こんな感じでしたが、これは非常に効率が悪いです。修正して検証を行う度にビルドが発生してしまい、待ちが発生してしまいます。 どうするか? ベースイメージにアタッチ 動かしたいアプリの実行に必要なコマンドを入れて、成功したらコマンドをメモっていく アプリが動くまで「コマンド実行→成功したらメモ」を繰り返す アプリが動いたらメモったコマンドでDockerfileを作る つまり、いきなりDockerfileを作るのではなく、ベースイメージに入ってコマンドを実行して動作確認をしながらDockerfileに記述する内容を固めていき、最後に1回だけビルドします。 なぜ? Dockerfileに記述するの

                                                          Dockerfileの作り方を考え直したらすごく効率が上がった
                                                        • Docker Buildにおけるリードタイム短縮のための3つの改善ポイント | PLAID engineer blog

                                                          Dockerfile効率化のベストプラクティスを、リードタイム(CI/CDの実行時間)を短縮し開発生産性を向上させる為に行うべき事という観点でまとめました。 1.Docker Daemonへの転送ファイル削減 2.Docker Imageのサイズ削減 3.cacheの有効活用

                                                            Docker Buildにおけるリードタイム短縮のための3つの改善ポイント | PLAID engineer blog
                                                          • Amazon ECSで動かすRailsアプリのDockerfileとGitHub Actionsのビルド設定 - メドピア開発者ブログ

                                                            CTO室SREの@sinsokuです。 Dockerイメージのビルドを高速化するため、試行錯誤して分かった知見などをまとめて紹介します。 AWSのインフラ構成 assetsもECSから配信し、CloudFrontで /assets と /packs をキャッシュする構成になっています。 Rails on ECS デプロイ時にassetsが404になる問題 以前の記事に詳細が書かれているため、ここでは問題の紹介だけしておきます。 Rails等のassetsファイルをハッシュ付きで生成し配信するWebアプリケーションの場合、ローリングアップデートを行うと、アップデート時に404エラーが確立で発生してしまいます。 引用: メドピアのECSデプロイ方法の変遷 Dockerfile 実際のDockerfileには業務上のコード、歴史的な残骸などが含まれていたので、綺麗なDockerfileを用意しま

                                                              Amazon ECSで動かすRailsアプリのDockerfileとGitHub Actionsのビルド設定 - メドピア開発者ブログ
                                                            • AWS FargateではなくECS on EC2を選ぶメリット〜コスト編〜 - Uzabase for Engineers

                                                              このブログは NewsPicks Advent Calendar 2022 1日目の記事です。 qiita.com NewsPicksのSREチームでリーダーをしている安藤です。 NewsPicksに入社して1年が経ちましたが、最近は円安により親の顔よりもAWS Cost Explorerを見る毎日です。 ということで、コストの話をしていきたいと思います。 NewsPicksでのコンテナ移行について ECS on EC2とは? コンテナの実行環境としてFargate or EC2を選択する時の評価基準 実際、Fargateはどれだけ割高なの? CPU性能の比較 コンピューティング料金の比較 パフォーマンスに対するコスト コストに対して、マネージドサービスのメリットが上回るか 終わりに NewsPicksでのコンテナ移行について NewsPicksでは、Amazon ECSによる全面コンテナ

                                                                AWS FargateではなくECS on EC2を選ぶメリット〜コスト編〜 - Uzabase for Engineers
                                                              • `COPY --chmod` reduced the size of my container image by 35%

                                                                $ podman history vamc19/nomad:latest ID CREATED CREATED BY SIZE COMMENT ... <missing> 36 minutes ago /bin/sh -c apt-get update && apt-get insta... 94.4 MB 374515aec770 36 minutes ago /bin/sh -c # (nop) COPY file:6dbfa42743cc65... 87.7 MB 22cd380ad224 36 minutes ago /bin/sh -c # (nop) LABEL maintainer="Vamsi"... 0 B FROM docker.io/library/ubuntu:21.10 ... The layer created by COPY is 87.7MB, which

                                                                • swagger-merger を用いた大規模API開発における Swagger 運用

                                                                  はじめにこんにちは、Finatext で保険事業のプロダクト開発をしている @toshipon です。今回は以前の Fin-JAWS のイベントで少し紹介させていただいた、我々の現場で取り組んでいる、大規模API開発における Swagger を用いたAPI仕様のドキュメント運用方法について紹介いたします。 概要我々の現場では、API ベースのWeb Application を開発する際に、Swagger を用いて API 設計をしたり、BFFサーバー開発者やフロントエンド開発者とのコミュニケーション手段として活用しています。 ただし、Web Application の規模が大きくなってくると、Swagger の 定義ファイルは肥大化してしまい、メンテナンスが困難になってきます。 今回は、Web Application の規模が大きくなっても耐えうる Swagger 定義ファイルの運用方法を

                                                                    swagger-merger を用いた大規模API開発における Swagger 運用
                                                                  • A Modern C Development Environment

                                                                    Webinar: How New IoT Security Regulations Will Shape the Industry’s Future - Tuesday, Sept. 17th @ 9AM PT | 12PM ET | 6PM CET | RSVP Now Sometimes, C/C++ projects have a long development cycle. When working on such a project, it can be easy to take our development environment for granted, and forget about the effort invested in its bring-up. The build environment works like magic, the test framewo

                                                                      A Modern C Development Environment
                                                                    • Go言語で基本的なCRUD操作を行うREST APIを作成 | DevelopersIO

                                                                      Javaのエンジニアだった私がGo言語でREST APIを作る上で学んだことをまとめています。 プロジェクト構成、単体テスト、Dockerイメージの作成など実際にREST APIを開発する上で必要だと思われる要素を盛り込みつつサンプルプロジェクトを作成していきます。 はじめに Javaのエンジニアだった私がGo言語でREST APIを作る上で学んだことをまとめています。 プロジェクト構成、単体テスト、Dockerイメージの作成など実際にREST APIを開発する上で必要だと思われる要素を盛り込みつつサンプルプロジェクトを作成していきます。 今回はできるだけ外部ライブラリやフレームワークを使わずにGo言語の標準機能のみで開発しました。 これからバックエンドにGo言語を使用することを検討されている方の参考になれば幸いです。 ※この記事は既にGo言語の開発環境をセットアップ済みで基本的な文法を学

                                                                        Go言語で基本的なCRUD操作を行うREST APIを作成 | DevelopersIO
                                                                      • OSS 版 API Gateway、Kong Gateway をつかってみる - Techtouch Developers Blog

                                                                        バックエンドエンジニアの taisa です。テックタッチでは API Gateway として、AWS の API Gateway ではなく、クラウドでもオンプレでも使えるオープンソースの Kong Gateway を利用しています。この記事では Kong Gateway とは何か、なぜ使うのか、どうやって使うのか、を簡単にまとめてみました。 Kong Gatewayとは なぜ Kong Gateway を使うのか Kong Gateway をインストールできる環境 Kong Gateway の特徴 Kong Gateway の概念と機能 Kong Gateway のドキュメント Mac + DB Less(YML)環境で動かしてみる 構成 下準備 Kong をセットアップする kong.yml にサービスとルーティング情報を記述する Rate-Limit プラグインを利用する プロキシキャ

                                                                          OSS 版 API Gateway、Kong Gateway をつかってみる - Techtouch Developers Blog
                                                                        • Dockerメモ : awesome-dockerで紹介されているDocker関連の便利ツール - もた日記

                                                                          管理ツール lazydocker ctop portainer cadvisor ユーティリティ dive docker-slim docker-bench-security watchtower container-diff pumba container-structure-test Linter/Formatter hadolint dockfmt Dockerfileサンプル チートシート github.com awesome-dockerで紹介されているDocker関連の便利ツール、Dockerfileサンプル、チートシートなどをいくつか見てみる。 ざっくりとしか確認していないので実際には使えないものもあるかも。 管理ツール Repository スター数 jesseduffield/lazydocker 14,925 bcicen/ctop 9,823 lirantal/doc

                                                                            Dockerメモ : awesome-dockerで紹介されているDocker関連の便利ツール - もた日記
                                                                          • KeyTrap (CVE-2023-50387)を検証してみた - knqyf263's blog

                                                                            DNSは趣味でやっているだけですし有識者のレビューを経ているわけでもないので誤りを含むかもしれませんが、DNS界隈には優しい人しかいないのできっと丁寧に指摘してくれるはずです。 追記:めちゃくちゃ丁寧にレビューしていただいたので修正いたしました。森下さんほどの方に細かく見ていただいて恐れ多いです...(学生時代に某幅広合宿で森下さんの発表を見てDNSセキュリティに興味を持った) 4万文字を超える大作、おつかれさまです。わかりやすく書けていると思いました。 ざっと読んで、コメントしてみました。ご参考まで。https://t.co/bVj5WeFHQr https://t.co/ku5NOx6ua8— Yasuhiro Morishita (@OrangeMorishita) 2024年2月19日 要約 背景 詳細 DNSSECとは? DNSSECの可用性 鍵タグの衝突 攻撃内容 SigJam

                                                                              KeyTrap (CVE-2023-50387)を検証してみた - knqyf263's blog
                                                                            • docker-composeを便利にするツール「dip」を使ってみた|TechRacho by BPS株式会社

                                                                              更新履歴 2019/11/27: 初版公開 2020/05/01: サブコマンド実行部分に追記 2021/04/14: dip 7.0に合わせて更新 2021/07/16: docker-composeコマンドをdocker composeに置き換え dipとは dipは、Rails開発会社のEvil Martiansのメンバーが作った、docker-composeでの作業を能率的に行えるツールです。dipはDocker Interaction Processの略だそうです。 dipはRubyで書かれているのでRuby実行環境が必要です。元々Rails向けに作られたツールのようですが、Evil MartiansのReactアプリにもdip.xmlがあることからわかるように、Railsに限らず一般のdocker-composeでも使えます。私の場合はローカル開発環境でのみ使っています。 追記

                                                                                docker-composeを便利にするツール「dip」を使ってみた|TechRacho by BPS株式会社
                                                                              • 円安を乗り越えるための Arm アーキテクチャへの移行が完了! そのプロセスを公開します - カミナシ エンジニアブログ

                                                                                こんにちは。ソフトウェアエンジニアの坂井 (@manabusakai) です。 カミナシでは、クラウドインフラストラクチャに AWS を採用していますが、昨今の円安を受けて円換算での請求額は右肩上がりで増え続けています。サービスの規模や特性に関わらず、パブリッククラウドを利用する多くの日本企業で頭痛の種になっているのではないでしょうか。 円安になる前から継続的にコスト最適化には取り組んできましたが、クイックウィンで実施できるものはやり尽くしており手詰まり感がありました。しかし、我々スタートアップにおいて適正なコストに抑えることはランウェイ(キャッシュ不足に陥るまでの残存期間)を伸ばす意味でも重要なため、現状に甘んじることなく次の最適化ポイントを探していました。 Arm アーキテクチャ移行によるコスト最適化への期待値 AWS は Arm ベースの Graviton プロセッサを開発しており、

                                                                                  円安を乗り越えるための Arm アーキテクチャへの移行が完了! そのプロセスを公開します - カミナシ エンジニアブログ
                                                                                • 線形代数演習講義へのjulia導入を考える

                                                                                  本記事はJulia Advent Calendar 2022の12/23の記事です。 東京大学で働いている松井と申します。 線形代数の講義における演習(実際にコードを書き行列演算を行う)の重要性を感じています。 そのためにjuliaを使えないかと思い至り、pythonとの比較に焦点を当て思っていることを述べます。 線形代数における演習の意義 線形代数は工学全般において重要で基盤的な学問体系ですが、なかなかとっつきにくいものです。その理由の一つは線形代数の諸アルゴリズムは最終的には計算機で実行するにも関わらず、学生は自分の手を動かしてコーディングする機会が少ない点だと感じます。多くの大学のカリキュラムでは大学初年次に線形代数講義があると思いますが、座学がメインであることが多いと思います。本当は、座学と並行して実際にコーディングして行列演算を行う「演習講義」があれば、理解が深まるだろうと感じま