並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 2993件

新着順 人気順

namespaceの検索結果161 - 200 件 / 2993件

  • Istioに入門する - TECHSTEP

    今回はService Meshについて概要を調べ、Service Meshを提供するプロダクトの一つであるIstioに触れてみました。 Service Meshとは マイクロサービスの課題 Service Meshを考えるうえでまず必要になるのが、マイクロサービスアーキテクチャの抱えるいくつかの課題です。 マイクロサービスを導入・構築するうえでの課題として、ネットワークに関連する事項が挙げられます。マイクロサービスはお互いネットワークを通じて連携するため、ネットワークに関する機能(Load Balancing、Traffic Routingなど)を実装する必要があります。また、アプリケーションを構成するマイクロサービスの数が多くなるほど、マイクロサービス間の接続数は増加し、通信断の発生する確率やパフォーマンス低下など、ネットワーク関連の問題が発生する可能性も増加します。 これまで複数のグロ

      Istioに入門する - TECHSTEP
    • コンテナ仮想、その裏側 〜user namespaceとrootlessコンテナ〜 - Retrieva TECH BLOG

      レトリバのCTO 武井です。 やあ (´・ω・`) うん、「また」コンテナの記事なんだ。済まない。 技術ブログの開設と新セミナー運用の開始にあたって、「前に話した内容をブログにしつつ、新しい差分をセミナーにすれば、一回の調べ物でどっちのネタもできて一石二鳥じゃないか」と思っていたのですが、 前のセミナーが情報詰め込みすぎでブログの文量がとんでもないことになって、 → それが前提条件になってしまっているのでセミナー資料の文量も膨れ上がって、 → 差分だけと思っていたUser名前空間も思った以上のボリュームで、 → やっと一息かと思ったら、フォローアップ記事が残っていることを思い出すなど ←いまここ 一石二鳥作戦のはずが、どうしてこうなった……。 計画大事。 そんなわけで、今回は4/17にお話ししました「コンテナ仮想、その裏側 〜user namespaceとrootlessコンテナ〜」という

        コンテナ仮想、その裏側 〜user namespaceとrootlessコンテナ〜 - Retrieva TECH BLOG
      • テスト駆動開発(TDD)とは何か。コードで実践方法を解説します - パンダのプログラミングブログ

        この記事は、弁護士ドットコム Advent Calendar 2019 - Qiitaの2日目の記事です。 TL;DR TDDの実践方法を実際にコードを書いて解説します TDDの「レッド・グリーン・リファクタリング」のリズムを学ぼう 何度もテストを実行して、プログラムに対する不安を取り除こう TDDはテスト技法ではなく設計手法 TDD Boot Camp Sendai 9thに参加しました。TDDの伝道師和田さん(@t_wada)を講師に迎え、有志たちで開かれた勉強会でした。 午前中は和田さんによるTDDに関する講演とライブコーディング。午後は参加者同士のペアプロで出題されたお題を実装していく活気あるイベントでした。 イベントを通じてTDDはテストファーストのことだと考えていた自分は目を見開かされました。TDDは単にテストファーストでプログラムを実装することではなく、実装(ソフトウェア)が

          テスト駆動開発(TDD)とは何か。コードで実践方法を解説します - パンダのプログラミングブログ
        • Rails + Contentful で LP のコーディングをゼロにする - pixiv inside

          こんにちは、@f_subal です。 pixivFACTORY というサービスで普段はフロントエンドをやっています。 今回は Rails のサービスに Headless CMS の Contentful を導入し、ワークフローを改善した話をします。 ランディングページ、あるいはマスターデータの詳細について pixivFACTORY はグッズおよび同人誌がブラウザ上で簡単に作れるサービスです。 取り扱っているグッズは 60 種類以上あり、各グッズごとに仕様が大きく異なります。 グッズにはそれぞれ、仕様や出来上がりの写真を載せたページ(以下、product 詳細とも呼びます)が存在します。 要するに、以下の状況を想定してください。 運営が管理する静的なドメインモデル(ここでいう「作れるグッズの仕様」)が存在する モデルの各内容について説明するページが存在する 各ページの内容は DB の内容から

            Rails + Contentful で LP のコーディングをゼロにする - pixiv inside
          • Kubernetesのモダンな活用法 - 設計メソッドと、Virtual Kubeletで実現するサーバーレス化を学ぼう|ハイクラス転職・求人情報サイト AMBI(アンビ)

            ハイクラス求人TOPIT記事一覧Kubernetesのモダンな活用法 - 設計メソッドと、Virtual Kubeletで実現するサーバーレス化を学ぼう Kubernetesのモダンな活用法 - 設計メソッドと、Virtual Kubeletで実現するサーバーレス化を学ぼう Kubernetesはここ数年で一気にユーザーを増やしたコンテナオーケストレーターですが、一般化にともない、その活用法も洗練されてきました。本稿では「The Twelve-Factor Appを援用したKubernetes設計」と「Virtual Kubeletを活用したKubernetesのサーバーレス化」という、比較的新しい2つの活用法を武井宜行さんが解説します。 こんにちは。サイオステクノロジー株式会社でエンジニアをしております武井宜行(タケイ・ノリユキ/ @noriyukitakei )と申します。本稿では、比

              Kubernetesのモダンな活用法 - 設計メソッドと、Virtual Kubeletで実現するサーバーレス化を学ぼう|ハイクラス転職・求人情報サイト AMBI(アンビ)
            • 後悔先に立たずなマルチクラスタ運用の知見がてんこ盛り「最高のKubernetes on AWSを実現するために」 #AWSSummit | DevelopersIO

              「Kubernetes、考えることがいっぱいあって楽しいですね。今日はそんなKubernetesのお話です」 こんな謎の問いかけから始まった、Kubernetesセッション、皆さんご覧になりましたか? Kubernetesで実現するアプリケーションの未来まで見据えたとき、最初に検討しないと一生後悔する忘れがちだけど考えないといけない知見がてんこ盛りのセッションでした。このブログでは、そのセッション内容を余すことなく解説。 EKS/Kubernetesの運用に自信がない Kubernetesクラスタの長期運用を真剣に考えたい クラスターのアップデートができず不安 そんなあなたの未来を明るく照らす知見が、このセッションには詰まっています。ぜひ、Kubernetesクラスタ運用に迷いがあるかたはこのブログご覧になって、未来の負債をこの場で削ぎ落としましょう。 もう、アレコレ悩まなくても良いの…!

                後悔先に立たずなマルチクラスタ運用の知見がてんこ盛り「最高のKubernetes on AWSを実現するために」 #AWSSummit | DevelopersIO
              • 最近のLinuxカーネルに実装された3つのコンテナ関連機能 by @TenForward

                本記事は、TechFeed Experts Night#7 〜 コンテナ技術を語るのセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 本セッションの登壇者 セッション動画 加藤と申します。SNSでは@ten_forwardとして活動しています。また、gihyo.jpで2014年からコンテナに関する連載LXCで学ぶコンテナ入門 -軽量仮想化環境を実現する技術を執筆していて、それをもとにした同人本 Linux Container Book (1) Namespace / Network 編も作っていますので、よろしくお願いします。 今日はKubernetesのことをよくご存知の方がたくさんお揃いですが、私は趣味でコンテナを使っていて、とくにカーネル周辺の技術に興味があるので、そのあたりだ

                  最近のLinuxカーネルに実装された3つのコンテナ関連機能 by @TenForward
                • Terraform運用事例書きました - pixiv inside

                  こんにちは、インフラ部の id:sue445 です。 Terraformなにもわからないけどディレクトリ構成の実例を晒して人類に貢献したい - エムスリーテックブログ や Terraformのディレクトリ構成の模索 - Adwaysエンジニアブログ を読んで影響されたのでピクシブのTerraform運用事例を紹介しようと思います。 Terraformの採用理由 GitLabでのリポジトリ構成 Terraformのファイル構成 moduleがうまく使えたと思っている事例 GitLab CIでTerraformをいい感じにCIする テンプレートの使い方 ピクシブで実際に使っているテンプレートファイル このテンプレートでできること masterブランチ以外 masterブランチ このテンプレートファイルのポイント 最後に Terraformの採用理由 Terraformと同じようなプロビジョニン

                    Terraform運用事例書きました - pixiv inside
                  • もし新人プログラマが「プリンシプル・オブ・プログラミング」を読んだら - ecbeing labs(イーシービーイング・ラボ)

                    概要 ブンブン Hello world. はじめまして! ecbeing新卒1年目の開発です。 本名が開発です。部署名や役職名ではありません。 某有名Youtuberと同じ苗字なんです(血縁関係は恐らくありませんが)。 現在ecbeingチームで日々製品の改善等に努めております。 プロダクト開発チームは非常にメンバーの交流が活発で、学ぶことが多いなぁと感じる今日この頃です。 さて、そんなプロダクト開発チームではありますが、新人3人が配属され少し落ち着いたころに上司からこんな指令を頂きました。 「君たちには新人ミッションに取り組んでいただきます」 プロダクトの取り組み(新人ミッション) 前述のとおり、新人3人にはミッションが課されました。 内容としては「プリンシプル・オブ・プログラミング」をそれぞれ読み、各々が気になったトピックについてプレゼンするというものです。 書籍内容の深い理解や情報収

                      もし新人プログラマが「プリンシプル・オブ・プログラミング」を読んだら - ecbeing labs(イーシービーイング・ラボ)
                    • Platform Engineering on Kubernetes を読んでCloud Native の現在地を理解する - じゃあ、おうちで学べる

                      はじめに 近年、Kubernetesの採用が進む中、複数のチームが関わり、複数のクラウドプロバイダーへのデプロイを行い、異なるスタックを扱う組織では、その導入の複雑さが新たな問題となっています。本書 『Platform Engineering on Kubernetes』は、Kubernetes に登場しつつあるベストプラクティスとオープンソースツールを活用し、これらのクラウドネイティブの問題を技術的に組織的にどのように解決するかを示してくれます。 learning.oreilly.com 本書では、Kubernetes上に優れたプラットフォームを構築するための要素を明確に定義し、組織の要件に合わせて必要なツールを体系的に紹介しており、実際の例とコードを交えながら各ステップをわかりやすく説明することで、最終的にはクラウドネイティブなソフトウェアを効率的に提供するための完全なプラットフォーム

                        Platform Engineering on Kubernetes を読んでCloud Native の現在地を理解する - じゃあ、おうちで学べる
                      • GCP Professional Cloud Architectに1日で合格する方法 - Qiita

                        Professional Cloud Architectに合格しました。受験体験記を共有したいと思います。 Professional Cloud Architectとは 2022年の最も高収入につながる IT 認定資格ランキングで2位の資格です。平均年収2200万円($169,029) 合格するためにやったこと 模擬問題集で70%あれば合格できます。1セット1時間合計4時間で終わります。試験開始前に間違えた問題を再度確認しておきましょう。Udemyのセール時に購入するのがおすすめです 【最短攻略】Google Cloud 認定 Professional Cloud Architect 模擬問題集 Udemy自動化 Tampermonkeyをインストールし、下記ユーザースクリプトをインストールすることで次へボタンを自動で押せます。2倍ほど速くテストを進められるので便利です。タッチパネルでやる

                          GCP Professional Cloud Architectに1日で合格する方法 - Qiita
                        • 流行っている・流行っていないプログラミング言語に関する1つの考察 - Qiita

                          なぜ〇〇というプログラミング言語は流行らなかったのか? 最近、私は古くからあるプログラミング言語に興味があり、LispやSmalltalkなどの言語に興味があります。触っていくうちに、結構面白いな。と思うことがあるのですが、それほど人気があるとは言えません。 例えば、プログラミングの人気を表すTIOBE Indexでも、ランクが高いとは言えませんし、それらの言語はプログラミング言語の歴史。という中で、ちょっと学ぶぐらいで、それほど詳しくは知らない。という人が多いでしょう。 Quoraを探してみると、「Lispはなぜ覇権を握らなかったのでしょうか?」の回答であったり、「Smalltalk が広く使われなくなったのはなぜですか?」という回答が見つかります。 そのように各プログラミング言語に関する言説を読んだり、実際に使って見たり、歴史を紐解いていくうちに、思うことがあったので、まとめたいと思い

                            流行っている・流行っていないプログラミング言語に関する1つの考察 - Qiita
                          • GitHub ActionsのイメージビルドをDockerレイヤキャッシュで高速化(翻訳)|TechRacho by BPS株式会社

                            概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Build images on GitHub Actions with Docker layer caching — Martian Chronicles, Evil Martians’ team blog 原文公開日: 2021-03-11 著者: progapandist (And[re]y Bar[a]nov)、dragonsmith (Kirill Kuznetsov) サイト: Martian Chronicles, Evil Martians’ team blog -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 はじめに: 適切なDockerレイヤキャッシングでGitHub Actionsでイメージを構築する方法

                              GitHub ActionsのイメージビルドをDockerレイヤキャッシュで高速化(翻訳)|TechRacho by BPS株式会社
                            • メルカリの検索基盤の変遷について | メルカリエンジニアリング

                              ※この記事は、"Blog Series of Introduction of Developer Productivity Engineering at Mercariの一環で書かれています。 はじめに こんにちは、メルカリ、サーチインフラチームのshinpeiです。今回はメルカリの検索基盤の裏側について、そのアーキテクチャ変遷について書こうと思います。2018~2021年の4年間で、大きく3回、変化をしました。設計の段階では希望と期待にあふれているアーキテクチャでも、問題は後からやってきます。設計には良し悪しがあり、変化することで知見を得ながら、改善を続けています。え、これだと危ないのでは?、、あぁ、やはりそうなるのね。などと、ご笑覧いただければ幸いです。 前回までのお話 メルカリの検索は、創業時から、Solrをベースにしたシステムで組まれてました。その変遷はこちらのスライドにまとめてあ

                                メルカリの検索基盤の変遷について | メルカリエンジニアリング
                              • C++ コンパイル時「出力」 ~C++にできないことはない~ - Qiita

                                これは、 C++ でコンパイル時に出力まで済ませようとした話です。 コンパイラは GCC に限ります。 はじめに もうすぐクリスマスですね! クリスマスにすることといえば……、 そう、コンパイル時処理ですね!! コンパイル時処理 C++ のコンパイル時処理は非常に強力で、様々なことがコンパイル時にできてしまいます。 普通はコンパイル時に決まる定数の計算に使われますが、これを悪用利用してコンパイル時に処理がすべて終わるようなものも書くことができます。 例として、コンパイル時 FizzBuzz を書いてみます。 #include <array> #include <string_view> #include <algorithm> #include <concepts> #include <iostream> template <std::unsigned_integral T> conste

                                  C++ コンパイル時「出力」 ~C++にできないことはない~ - Qiita
                                • Kubernetesで実践するクラウドネイティブDevOps

                                  Kubernetesが標準プラットフォームであるクラウドネイティブの世界でアプリケーションを開発し運用する方法を解説する書籍です。 はじめに、Kubernetesの概要と背景、ソフトウェアの開発と運用にKubernetesがもたらす変化、コンテナの動作原理、コンテナの構築および管理方法、クラウドネイティブなサービスおよびインフラの設計方法などの基礎を紹介します。 そしてKubernetesアプリケーションの作成とデプロイ、Kubernetesクラスタの設定と運用、クラウドインフラの自動化、Helmなどのツールを用いたデプロイについてサンプルコードを使って学習します。ロールベースのアクセス制御(RBAC)をはじめとした、セキュリティ、認証、パーミッションなどに対するKubernetesのサポートや、本番でコンテナとKubernetesの安全性を確保するためのベストプラクティスについても学びま

                                    Kubernetesで実践するクラウドネイティブDevOps
                                  • 【Team & Project】OpenStackとKubernetesを用いたVerda Platformを開発しているチームを紹介します

                                    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog LINEの開発組織のそれぞれの部門やプロジェクトについて、その役割や体制、技術スタック、今後の課題やロードマップなどを具体的に紹介していく「Team & Project」シリーズを開始します。 第一回目である今回は、インフラ領域を統括するITサービスセンターでPrivate Cloud「Verda」を企画・開発・運用するVerda室において、OpenStackとKubernetesを用いたVerda Platformを開発しているVerda Platform開発チームを紹介します。 Verda Platform開発チームのzoom会議の様子 Verdaは、LINEの共通インフラ基盤であるプライベートクラウドです。LINEでは、

                                      【Team & Project】OpenStackとKubernetesを用いたVerda Platformを開発しているチームを紹介します
                                    • EKS環境下でコストが増大する事例とfreeeのアプローチ - freee Developers Hub

                                      はじめまして。freee の SRE チームに所属している nkgw (Twitter) です。 普段はエンジニアリングマネージャーをしつつ、開発チームの新規プロダクトリリースサポートをやっています。 我々のチームは大部分のプロダクトのコンピューティングリソース (CPU / Memory など) を Amazon Elastic Kubernetes Service (EKS) で実行できるようにインフラ基盤移行 (EC2 → EKS) を進めてきました。 移行プロジェクトの大部分は 2021 年 7 月に無事終わったのですが、移行スケジュールを最優先としたため割り当てている各リソースはかなり保守的 & 過剰でした。 (移行後の性能劣化が怖かったため、EC2 時代と比較し、1.5 倍のバッファを積むなど... etc) コスト増大したグラフ その結果、 去年と比較して、コストが倍以上に跳

                                        EKS環境下でコストが増大する事例とfreeeのアプローチ - freee Developers Hub
                                      • GCP Professional Data Engineerに1日で合格する方法 - Qiita

                                        Professional Data Engineerに合格しました。受験体験記を共有したいと思います。 Professional Data Engineerとは 2022年の最も高収入につながる IT 認定資格ランキングで1位の資格です。平均年収2200万円($171,749) 合格するためにやったこと 模擬問題集で70%あれば合格できます。1セット1時間合計8時間で終わります。試験開始前に間違えた問題を再度確認しておきましょう。Udemyのセール時に購入するのがおすすめです 【最短攻略】Google Cloud 認定 Professional Data Engineer 模擬問題集 Google Cloud Professional Data Engineer - GCP - Exams - 2022 テストは英語ですが、右クリックで日本語にできます。 Udemy自動化 Tampermo

                                          GCP Professional Data Engineerに1日で合格する方法 - Qiita
                                        • mints: 5.7kb の TypeScript コンパイラを作った

                                          世の中の TypeScript コンパイラが大きすぎるので作りました。 ここで試せます。 jsx と jsx pragma のサポートもしたので、 preact も動いています。 実装方針 ビルドサイズ第一 とにかく軽量に mints自体が他のコードをビルドするときの速度ではない点に注意 現状、まともなエラーレポートが出ない。エラーメッセージをインライン化するとビルドサイズが増えるため。 空白行と型情報を落とすだけ ES5 への変換や commonjs への変換は実装しない enum と constructor と jsx のみ transform する特殊対応をしている 真面目な構文解析をしてない 例えば 1+1*2 のような binary expression は結合順を解析してない。型を落とすだけなら不要 prettier でフォーマットされたコードはコンパイルできるのが目標(空白行

                                            mints: 5.7kb の TypeScript コンパイラを作った
                                          • コンテナエンジンの作り方 ~ さくらの夕べ ヤンジェネバトル ~ - Speaker Deck

                                            Transcript コンテナエンジンの作り方
 さくらの夕べ ~ ヤンジェネバトル ~
 さくらインターネット 株式会社 技術本部 大西 和貴 (C) Copyright 1996-2016 SAKURA Internet Inc 2019/10/08 自己紹介
 2
 大西 和貴 (@_k_onishi_)
 
 
 2017年度新卒
 SVOPチーム(運用) → レンタルサーバチーム(開発)
 
 サービスのコントロールパネルやメールソフトの
 バックエンドやフロントエンドを担当( Go / Typescript )
 
 
 Tech: 
 Linux / Unix / Kernel / File System / 仮想化 / コンテナ
 エミュレータ / バイナリ
 
 Lang: 
 C / Assembly / Perl
 
 Blog:
 レガシーガジェット研究所 Dock

                                              コンテナエンジンの作り方 ~ さくらの夕べ ヤンジェネバトル ~ - Speaker Deck
                                            • ローカルでk8sを試してみたいときはk3dが使えそう。Istioも動きそう。 - Mitsuyuki.Shiiba

                                              ## ローカルでk8s ちょっと試してみたいときとかに、ローカルでk8sを動かしたくて。以前だとMinikubeとかDockerについてくるk8sとかを使ったことがあるけど、今だとまた何か出てるかな?と思ってたらこういうスレッドを見つけた。 K3s, minikube or microk8s? : kubernetes Minikube Microk8s K3s Kind Desktop Docker K3d Kubeadm が紹介されてた。へー。と思って、なんとなくk3dが面白そうかなと思ったので試してみた。 ## k3d https://github.com/rancher/k3d 紹介されている一覧の中にあるk3sをDockerで動かしてくれるのがk3dということみたい。Dockerを動かすプラットフォームをDockerの中で動か・・・す?こんがらがる。 僕はUbuntu使ってるんだ

                                                ローカルでk8sを試してみたいときはk3dが使えそう。Istioも動きそう。 - Mitsuyuki.Shiiba
                                              • ChatOpsによる運用作業の自動化 - ZOZO TECH BLOG

                                                はじめに こんにちは、技術本部SRE部カート決済SREブロックの遠藤・金田です。 普段はSREとしてZOZOTOWNのカート決済機能のリプレイスや運用を担当しています。本記事では自作のコマンドラインツールをSlack + AWS Chatbot + AWS Lambdaを使用してChatOps化した事例をご紹介します。「日々の運用業務をコマンドラインツールを実装して効率化したものの今ひとつ広まらない」「非エンジニアにも使えるようにしたい」と考えている方の参考になれば幸いです。 目次 はじめに 目次 背景・課題 ChatOpsとは AWS ChatBotとは 構成 AWS ChatBot チャットツール側の設定 Slack Workflow Lambda 実装のポイント ChatBotのアクセス制御 User Roleの運用方法 ガードレールポリシー コマンドラインツールのLambda関数化

                                                  ChatOpsによる運用作業の自動化 - ZOZO TECH BLOG
                                                • 定期実行するLambdaが「起動しなかったこと」を検知するCloudWatch Alarmを作る | DevelopersIO

                                                  「1時間に1回起動するLambda」や「1日に1回起動するLambda」といった定期実行するLambdaが「起動しなかったこと」を検知するCloudWatch Alarmを作ってみました。 Lambdaを定期実行する仕組みをよく作ります。 1時間に1回起動する 1日に1回起動する これらのLambdaが「起動しなかった場合」に通知が欲しくなったので、CloudWatch Alarmを作ってみました。 実際にLambdaが起動しない事象に遭遇したことは無いですが、このAlarmがあると、「ちゃんと起動しているよね?」というモヤモヤが解消されます。万が一に気づける保険ですね。 おすすめの方 定期実行するLambdaが「起動しなかった場合」のCloudWatch Alarmを作りたい方 定期実行するLambdaとCloudWatch Alarmを作成する sam init sam init \

                                                    定期実行するLambdaが「起動しなかったこと」を検知するCloudWatch Alarmを作る | DevelopersIO
                                                  • 入門 モダンLinux

                                                    Linuxはサーバ、組み込み機器、スーパーコンピュータなどにおいて存在感を示してきました。近年では、オンプレミスのシステムだけではなく、クラウドサービスでも広く使われています。本書は、前半でLinuxを使いこなす上で必要な基本知識を、後半で最新情報をまとめています。Linuxの知識を体系的に整理したい、最新動向が知りたい、運用を改善したい、効率的に開発を行いたい、といった要望をかなえる内容となっています。時代の変化に柔軟に対応できるLinux技術者を目指すなら必読の一冊です。 訳者まえがき はじめに 1章 Linuxの入門 1.1 モダンな環境とは何か? 1.2 これまでのLinuxの歴史 1.3 なぜオペレーティングシステムなのか? 1.4 Linuxディストリビューション 1.5 リソースの可視性 1.6 Linuxの全体像 1.7 まとめ 2章 Linuxカーネル 2.1 Linux

                                                      入門 モダンLinux
                                                    • A new Go API for Protocol Buffers - The Go Programming Language

                                                      Joe Tsai, Damien Neil, and Herbie Ong 2 March 2020 Introduction We are pleased to announce the release of a major revision of the Go API for protocol buffers, Google’s language-neutral data interchange format. Motivations for a new API The first protocol buffer bindings for Go were announced by Rob Pike in March of 2010. Go 1 would not be released for another two years. In the decade since that fi

                                                        A new Go API for Protocol Buffers - The Go Programming Language
                                                      • MySQLで全文検索その1(Mroonga編) - 虎の穴開発室ブログ

                                                        こんにちは、お久しぶりです。虎の穴ラボのA.M.です。 前回の記事「全文検索エンジンについて調べてみた」から大分間が空いてしまいましたが、今回はとらのあなのサービスで使用頻度の高いMySQLで、実際に全文検索をやってみたいと思います。 MySQLで手軽に全文検索を実現するための手法としては、以下の2つが挙げられます。 MySQLのFULLTEXTインデックス:MySQLの標準機能。v5.7から日本語に対応。 Mroonga:GroongaベースのMySQLストレージエンジン。 ※FULLTEXTインデックスやMroonga、Groongaなどについて詳しくは前回の記事や、第3回ライトニングトークイベント記事をご参照ください。 toranoana-lab.hatenablog.com toranoana-lab.hatenablog.com 今回は、記事のタイトルにもあるように、Mroong

                                                          MySQLで全文検索その1(Mroonga編) - 虎の穴開発室ブログ
                                                        • タイムゾーンを含むタイムスタンプ文字列表現の標準化 - ASnoKaze blog

                                                          「Date and Time on the Internet: Timestamps with additional information」という提案仕様がIETFで提出されているので簡単に紹介する。 この仕様では、下記のようなタイムスタンプの文字列フォーマットの定義を行う 1996-12-19T16:39:57-08:00[America/Los_Angeles][u-ca=hebrew] 背景 TC39 Temporal Temporalという時間を扱う新しいAPIが、TC39でStage 3となっている。 tc39.es このAPIでは、タイムゾーンを含む文字列を生成できる。 const zonedDateTime = Temporal.ZonedDateTime.from({ timeZone: 'America/Los_Angeles', year: 1995, month:

                                                            タイムゾーンを含むタイムスタンプ文字列表現の標準化 - ASnoKaze blog
                                                          • Clean Architecture考察 - ROXX開発者ブログ

                                                            この記事は個人ブログの内容がソースです。 kami-programming.com そもそもなぜクリーンアーキテクチャーを考察するのか DRY原則やSOLID原則などが浸透している昨今ですが、実際の開発現場のソースコードを読み込んでみると必ずしもこれらの原則に則していない場合は多いのではないでしょうか。 そして、そういった開発環境でいざコーディングをしていくと、以下のような問題に直面するのではないでしょうか。 あるバグの修正をしたのだが、同じロジックが他の場所でも書かれていたようで重複箇所のバグは依然としてバグったままだった。 あるクラスを変更したが、依存性の方向性や範囲が把握しきれておらず、変更の影響で新たなバグを生んでしまった。 ビジネスロジックの変更を迫られたが、同じロジックが重複しすぎており修正範囲を特定するだけで一苦労。 想定外の値の入力があり、バグが発生してしまった。 これらは

                                                              Clean Architecture考察 - ROXX開発者ブログ
                                                            • 思いもよらないものをnpm publishしてしまった話(前任者の顔写真など) - Qiita

                                                              俺「すっげぇいい名前のライブラリ思いついた!!」 俺「npm あるかな?あるかな?」 (カタカタ) 俺「なかった!よっしゃ一番乗りや!!!今すぐ作らないと!!!」 俺「npm init enter enter enter enter npm publish うおおおおおおおいっけぇぇぇ!!!!!!!」 (カタカタカタカタカタカタカタカタッターン) 俺「ミ゜ッ!」 ーーー おはようございます。本番環境でやらかしちゃった人 Advent Calendar 2019の 23 日目を担当する、@sandessOjisanです。この記事では 思いもよらないものを npm publish したお話 を紹介します。 僕は あるとき 色々な会社の仕事を請け負っていた時期があり、そのときの無邪気なnpm publishによって、良くないことをしてしまったというお話しです。このコマンドを叩くといきなり本番環境

                                                                思いもよらないものをnpm publishしてしまった話(前任者の顔写真など) - Qiita
                                                              • Kubernetes環境に特化したCI/CDツール「Jenkins X」を試してみる | さくらのナレッジ

                                                                広く使われている継続的インテグレーション(CI)/継続的デリバリ(CD)ツールの1つに「Jenkins」がある。このJenkinsの開発チームが、Kubernetesに特化したCI/CDツール「Jenkins X」を発表した。今回はこのJenkins Xの特徴やインストール、基本的な使い方を紹介する。 昨今ではソフトウェア開発を迅速に進めるために「継続的インテグレーション(CI)」と呼ばれる手法が広く採用されている。CIはバージョン管理システムなどと組み合わせて使われるのが一般的で、たとえばバージョン管理システムへのコミットをトリガーとして自動的にビルドやテスト、パッケージ作成を実行する仕組みなどを構築できる。また、最近では「継続的デリバリ(CD)」という手法も使われる。CDはCIと似ているが、運用環境へのデプロイまでも自動で行うという仕組みだ。 CIツールとして著名なものの1つに、以前紹

                                                                  Kubernetes環境に特化したCI/CDツール「Jenkins X」を試してみる | さくらのナレッジ
                                                                • Laravel 製アプリケーションに対する自動テストでなにをどうテストすればいいか - Qiita

                                                                  この記事について 自分の所属するチームに、自動テストを書いたことがないメンバーが加わったとき、ガイドラインとなるようなドキュメントがほしいなと思っていたので、書きました。どうせなら他のチームでも使いたいので、ドメインはぼかして汎用的になるようにして公開します。独自のベストプラクティス的なものですが、これまでのチームではわりとどこもこれに近くうまくいっていたので、汎用的に使えるんじゃないかと想像します。 はじめに 環境 Laravel: 5.8 以上 PHP: 7.0 以上 PHPUnit: 7.0 以上 いちおうバージョンは書きましたが、あまり関係はないです。 基本方針 基本方針は、自分の経験上これがいちばんコストパフォーマンスがいいと思っているガイドラインですが、自分はベンチャーやスタートアップ企業で、スピード重視の文化に身を置くことが多いため、テストは最低限にして、素早くリリースするの

                                                                    Laravel 製アプリケーションに対する自動テストでなにをどうテストすればいいか - Qiita
                                                                  • Low-level Container Runtime:Runc Internals - 鳩小屋

                                                                    参考 おさらい runc architecture file main.go and command process runc create setupSpec startContainer linuxContainer LinuxFactory createContainer CreateLibcontainerConfig loadFactory factory.Create runner.run newProcess linuxContainer.Start newParentProcess parentProcess.start() runc init nsenter nsexec runc init(After nsexec) linuxStandardInit.Init runc start 低レベルコンテナランタイムruncの内部処理のまとめです。 参考 2021/05現在:

                                                                      Low-level Container Runtime:Runc Internals - 鳩小屋
                                                                    • Sassの新しいモジュールシステム

                                                                      Sassに新しいモジュールシステムが導入されます。具体的には@useと@forwardという2つのルールが登場し、@importルールは将来的に廃止される予定です。現在、Sassのおもな実装としてDart SassとLibSassがありますが、まずDart Sassへの実装が進んでいて、今年10月に安定版がリリースされる予定です。この新しいモジュールシステムを簡単に紹介したいと思います。 なお、ここで言うSassの「モジュール」とは、メンバー(変数、関数、ミックスイン)のコレクションを指し、具体的にはSassのソースファイルのことです。 背景 新しいモジュールシステムが開発された背景として、@importルールがかかえる多くの問題があります。ファイルスコープがないため依存モジュールの把握が困難になったり、名前空間を持たないためにライブラリの作者と利用者が命名を工夫しないといけなかったり、と

                                                                        Sassの新しいモジュールシステム
                                                                      • Cloudflareの画像最適化料金をWorker KVで97%削減した話 - SMARTCAMP Engineer Blog

                                                                        BOXILでエンジニアをやっている永井です。前回は入社エントリを書きましたが今回は技術的な記事を書こうと思います。 今回はCloudflareにおける画像の最適化処理のコストカットをした話をします。ざっくりいうとCloudflare内のKVという機能を使い、最適化をした画像をキャッシュしました。似たような問題で悩んでいる方は参考にしてもらえると嬉しいです。 TL;DR Cloudflareで画像のリサイズ(形式変更)を行っていた リサイズ後の画像はデフォルトではキャッシュされず、都度リサイズの処理が実行されていた Cloudflare内のWorker KV機能を使いキャッシュの実装をしたところ、コストがおよそ97%削減できた TL;DR 前提 問題 対策 Workers KVとは 注意事項とか サンプル 事前準備 KVのnamespace作成 KVをworkerに登録 流れ Keyについて

                                                                          Cloudflareの画像最適化料金をWorker KVで97%削減した話 - SMARTCAMP Engineer Blog
                                                                        • MOCO - Kubernetes 用 MySQL クラスタ運用ソフトウェア - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                          サイボウズの Kubernetes 基盤を開発している Neco プロジェクトの ymmt です。 サイボウズ製品のほとんどはデータベースとして MySQL を採用しています。 現在 400 を越える MySQL のインスタンスを運用しており、これら全てを新しい Kubernetes 基盤に移行していく予定です。 Kubernetes 上でアプリケーションやミドルウェアの運用を自動化するソフトウェアのことをオペレーターと言います。 大量の MySQL インスタンスを Kubernetes 基盤に移行するにはオペレーターが必須であると考え、技術顧問の @yoku0825 さんの監修の下で MOCO というソフトウェアを開発しオープンソースライセンスで公開しました。 本記事では Kubernetes 上の MySQL オペレーターの状況と、開発した MOCO の機能を詳細に解説いたします。 M

                                                                            MOCO - Kubernetes 用 MySQL クラスタ運用ソフトウェア - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                          • __init__.py を省略してはいけない - Qiita

                                                                            Python 3.3 から __init__.py を省略して良いと思っている人が多いですが、 省略しないでください。 なぜ勘違いが起こったのか Python 3.3 から、 PEP 420 で Implicit namespace package が追加されました。 Namespace package とは普通の package ではありません。 特殊な用途のもので、ほとんどの人にとっては 知る必要すらない ものです。 どうしても知りたければ、上の PEP 420 と packaging guide を読んでください。 __init__.py を省略する弊害 普通の package で Implicit namespace package を乱用すると弊害があります。 import が遅くなる 通常の package とは違うので import が package 内のモジュールを探すの

                                                                              __init__.py を省略してはいけない - Qiita
                                                                            • 実践 Node.js Native ESM — Wantedlyでのアプリケーション移行事例 | Wantedly Engineer Blog

                                                                              Wantedlyではこのたび、フロントエンドアプリケーションのひとつをNative ESM化しました。本記事ではNative ESM化の必要性と、必要な作業について説明します。 この記事の概要Node.jsにはNative ESMというモードがある。Native ESMはまだ普及していないが、ライブラリ側の更新が進み、移行が必要になりつつある。Native ESMをめぐる状況は (この記事の長さからわかるように) 色々複雑で、概念をちゃんと説明するだけでも大変。Native ESMへの移行にあたってはさまざまな困難が待ち受けている。Native ESMとは歴史的経緯から、JavaScriptには複数のモジュールシステムがあります。そのうちNode.js周辺でよく使われるのはCommonJS ModulesとES Modulesです。 CommonJS Modules (CJS) は実質的に

                                                                                実践 Node.js Native ESM — Wantedlyでのアプリケーション移行事例 | Wantedly Engineer Blog
                                                                              • Semantic Kernelを使ってGPTと外部ツールを簡単に連携してみる - Taste of Tech Topics

                                                                                こんにちは。最近湿度が上がってきてつらい@Ssk1029Takashiです。 最近当社ではAzure OpenAI Serviceを活用した検索ソリューションに取り組んでおり、私も開発として携わっています。 www.acroquest.co.jp そんな中でもOpenAIのGPT周りのアップデートが激しく、GPT-4のリリースなどニュースに事欠きません。 特にChatGPT PluginsというChatGPTと外部のデータソースやツールなどを連携する枠組み発表され、よりChatGPTにできることが広がっています。 その中で先月MicrosoftがSemantic KernelというSDKを発表しました。 Semantic KernelとはGPT-3などの大規模言語モデルをアプリ開発に統合するC#で開発されたOSSのSDKです。 これを使うことで、ChatGPT PluginsのようにGPT

                                                                                  Semantic Kernelを使ってGPTと外部ツールを簡単に連携してみる - Taste of Tech Topics
                                                                                • サーバーレスでもユニットテスト – TypeScript 製 AWS Lambda を Jest でテストする | DevelopersIO

                                                                                  最近は Lambda Function を TypeScript で実装することが多く、テストツールとして Jest を選択しました。導入から基本的なテスト、カバレッジ出力までやってみたので、その手順を記録します。 ユニットテストのモチベーション 変更に対する心理的な安全性を手に入れるため、という理由が大きいです。 たとえば API Gateway のバックエンドを Lambda Function で実装する場合。実装だけであれば、可能な限り any 型を使用せず、 interface や type の有効活用によりデータ型に起因する実行時エラーは大幅に少なくできます。 TypeScript を使うメリットのひとつですね。ではサーバーレスならではの難しいポイントはどこかというと、私の場合 前作った Lambda Function の挙動をすぐ忘れる ということがよくありました。それで、 L

                                                                                    サーバーレスでもユニットテスト – TypeScript 製 AWS Lambda を Jest でテストする | DevelopersIO