並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 186件

新着順 人気順

CGI-Applicationの検索結果1 - 40 件 / 186件

CGI-Applicationに関するエントリは186件あります。 modulejavascriptprogramming などが関連タグです。 人気エントリには 『経産省発の npm モジュール!住所や電話番号の正規化、ジオコーディングなどができる IMI コンポーネントツールを試した!』などがあります。
  • 経産省発の npm モジュール!住所や電話番号の正規化、ジオコーディングなどができる IMI コンポーネントツールを試した!

    経産省発の npm モジュール!住所や電話番号の正規化、ジオコーディングなどができる IMI コンポーネントツールを試した! Code for Japan の関さんが SNS でシェアしてて知ったのですが、経産省さんがなにやらオープンソースで住所や電話番号の正規化などなどをするツールを公開したとのこと。 https://info.gbiz.go.jp/tools/imi_tools/ 経産省が住所変換や法人種別名、電話番号の正規化に使えるIMIコンポーネントツールを公開しました。 ソースコードも公開。README にも使い方が丁寧に書かれていました。https://t.co/fPbV00EgZP 素晴らしい動き。こういう... #NewsPicks https://t.co/bew0qGKMFE — Hal Seki (@hal_sk) May 28, 2020 ぶっちゃけ当初はあまり期待

      経産省発の npm モジュール!住所や電話番号の正規化、ジオコーディングなどができる IMI コンポーネントツールを試した!
    • Adobe製デザインシステム「React Spectrum」がすごいので紹介したい - Qiita

      🚀 Super excited to announce: ♿️ React Aria — Accessible UI primitives for your design system. 👑 React Stately — State and core logic for your design system. 🌈 React Spectrum — Adobe’s design system. Learn more: https://t.co/ucVguh3rqp Github: https://t.co/e8aOfLgCVK — Devon Govett (@devongovett) July 15, 2020 7月15日にAdobeのデザインシステム react-spectrum がリリースされました。 デザイン製も優れていますが、他の部分でのクォリティーが個人的にショックだった

        Adobe製デザインシステム「React Spectrum」がすごいので紹介したい - Qiita
      • なぜ default export を使うべきではないのか?

        Takuma HANATANI2020-05-20Engineering Manager at LINE Corp. @potato4d フロントエンド開発センター(通称: UIT)の花谷(@potato4d)です。 この記事では、 ESModule の仕様であり、現在の JavaScript を用いた開発で必須である import / export 構文について、 default export ではなく named export を利用すべきである理由について紹介します。 前提知識について なお、本記事は以下を前提知識として、詳細の説明を省きます。 ESModule と import / export についての基本 CommonJS module との違い esModuleInterop 周り(CJS → ESM の import については扱わないため) プロジェクトで使われている技

          なぜ default export を使うべきではないのか?
        • npm, yarn による zero install 戦略 - from scratch

          jsconf.eu 2019 に行ってきました。 特に npm や yarn の今後の話とそもそも Registry をどうしていくか、の話があったのでお知らせします。 そもそも Registry をどうしていくかについては次のエントリで話します。 tink: A Next Generation Package Manager npm の次のコマンドラインツールである tink が紹介されていました。 github.com presentation: github.com video: www.youtube.com そもそも npm の仕組み ローカル依存ファイルを読む (package.json, package-lock.json, shrinkwrap.json) 存在しないパッケージのメタデータをfetchする 木構造を計算して、実行する(npm v3 以降だとflattenする

            npm, yarn による zero install 戦略 - from scratch
          • Zホールディングス株式会社

            Zホールディングス株式会社

              Zホールディングス株式会社
            • Goのプロジェクト構成の基本

              Goのプロジェクトをどの様なファイル構成で配置すれば良いか読み物が少ないという指摘を見たのでまとめてみようと思う。 GOPATHについて Go1.16がリリースされたことでGo-Moduleによるプロジェクト構成が標準で推奨されることになりました。(Go1.11までさかのぼってGo-Moduleは使える様になってます) Go-Moduleモードでは「GOPATH配下にプロジェクトを置かなければならない」という制約からは解放されています。なので、実質GOPATHはどこを指していても構わないし設定されていなくても「ユーザーホーム/go」というデフォルトの場所が決まっているので開発できます。 おすすめの環境変数設定は以下の2つだけ。 「GOPATH=~/.go」(WindowsはGOPATH=%USERPROFILE%\.go) 「PATH=$GOPATH/bin:$PATH」(Windowsは

                Goのプロジェクト構成の基本
              • HUNTER × HUNTERの軍儀、発売前から「先手必勝」だと指摘される

                初期配置は駒を交互に一枚ずつ設置していきますが、どちらかが「済み」を宣言するとそこで終了、余った駒は持ち駒になる 先手が一駒目で「済み」宣言し、後手も一駒置いて初期配置終了 守る駒が一切ない状況で、駒打ち(新)をすれば先手が勝つ? Yu Yamaguchi | Turing Inc. @ymg_aq Turing, Director of AI / 自動運転の研究開発をしています / Turing🚘 ← HEROZ☗ ← 産総研📔 / NHK杯将棋囲碁トーナメント評価AI / 🦑 XP2450 https://t.co/3FD8JEWVjN Yu Yamaguchi | Turing Inc. @ymg_aq 今度発売されるというHUNTER × HUNTERの軍儀のボードゲーム、公開されているルールを検討したところ、おそらく9手で先手必勝ですね…。 ☗9-9-1帥(済)☖5-3-1

                  HUNTER × HUNTERの軍儀、発売前から「先手必勝」だと指摘される
                • 依存モジュールが少ないソースコードを読む - スペシャリスト岡野真也に聞くPythonの読み方と使い方 - エンジニアHub|Webエンジニアのキャリアを考える!

                  依存モジュールが少ないソースコードを読む - スペシャリスト岡野真也に聞くPythonの読み方と使い方 現在、多くの支持を集めるPython。10年以上にわたりPythonを使い続ける岡野真也さんに、同言語の学び方、使い方を聞きました。 機械学習やデータサイエンスの隆盛に伴い、Pythonは多くの人に使われる言語になりました。GitHubの「The State of the Octoverse 2019」のレポートによると、GitHubリポジトリのコントリビューターから人気のあったプログラミング言語として、PythonはJavaScriptに次いで2位となっています。 「さまざまな課題を、楽に解決できるのがPythonの魅力」と語るのは、10年以上も前からPython・Djangoフレームワークのヘビーユーザーであり続けてきた岡野真也(おかの・しんや/ @tokibito )さん。彼はいか

                    依存モジュールが少ないソースコードを読む - スペシャリスト岡野真也に聞くPythonの読み方と使い方 - エンジニアHub|Webエンジニアのキャリアを考える!
                  • マイクロソフト、ビルド時にソフトウェアの部品表(SBOM)を自動生成する「SBOM Tool」、オープンソースで公開

                    マイクロソフト、ビルド時にソフトウェアの部品表(SBOM)を自動生成する「SBOM Tool」、オープンソースで公開 マイクロソフトは、ビルド時にそのソフトウェアがどのようなソフトウェア部品から構成されているかを示すデータ「SBOM」を生成してくれるツール「SBOM Tool」を、オープンソースで公開しました。 SBOMによるサプライチェーンリスクの解決 SBOMとはSoftware Bill Of Materialsの頭文字をとったもので、日本語では「ソフトウェア部品表」とされます。あるソフトウェアがどのようなソフトウェア部品によって構成されているのかを示す情報がまとまったデータのことです。 ほとんどのソフトウェアは単独で成立しているわけではなく、多数のライブラリやコンポーネントなどのソフトウェア部品に依存しています。そのなかのいずれかに脆弱性が発見されればドミノ倒しのように他のさまざま

                      マイクロソフト、ビルド時にソフトウェアの部品表(SBOM)を自動生成する「SBOM Tool」、オープンソースで公開
                    • SPA Componentの推しディレクトリ構成について語る

                      こんにちは、よしこです。 この記事は 2020年に立ち上げたWebフロントエンド構成の振り返り の「Componentのディレクトリ構成」項の詳細記事です。単体でも読めますが、よければ元記事もあわせてどうぞ! この記事では、今わたしが 株式会社ナレッジワーク というスタートアップで開発・運用しているプロジェクトにおいてうまくいっていると感じているComponentのディレクトリ構成についてご紹介していきます。 ディレクトリ構成 Componentは src/components の中にまとめていて、その下に以下の4種類の分類ディレクトリを切っています。 src/components/page src/components/model src/components/ui src/components/functional 分類ディレクトリを考えるにあたって重視したポイントは以下。 新しくco

                        SPA Componentの推しディレクトリ構成について語る
                      • Terraform Module Designs

                        思考の引き出しを増やすモジュール設計のヒント

                          Terraform Module Designs
                        • 椎名林檎 ダンマリに「ダサい」とファン離れ加速…ヘルプマーク酷似騒動の大きすぎる代償(女性自身) - Yahoo!ニュース

                          アルバム購入特典グッズがヘルプマークと赤十字マークに酷似していたため物議を醸していた椎名林檎(43)。騒動からまもなく1カ月が経つが、“当事者”であるにもかかわらず沈黙を貫く姿勢に波紋が広がっている。 【写真あり】今回の件に沈黙を貫き続け、無関係であるという“お墨つき”も得た椎名 騒動の発端は10月7日に、自身初となるリミックスアルバム『百薬の長』のリリースとあわせて、椎名の所属するレコード会社「UNIVERSAL MUSIC」から3種類のグッズを付属した同作の限定版の発売が告知されたこと。 しかし公表されたグッズデザインには、赤地のアクリル・カードケース上部に白十字、白地のマスクケースには赤十字が描かれており、「ヘルプマークと赤十字マークに酷似している」と批判の声が相次いだ。 「批判を受けてレコード会社は“協議中”と発表しましたが、ヘルプマークの考案者である東京都からも『早急な対応を』と

                            椎名林檎 ダンマリに「ダサい」とファン離れ加速…ヘルプマーク酷似騒動の大きすぎる代償(女性自身) - Yahoo!ニュース
                          • RustでLinuxカーネルの機能を拡張しよう!

                            Linuxカーネルの機能を安全に拡張できるeBPFのコードはC言語で実装する必要があると知り、がっかりしているクラウドネイティブ 世代の皆様に朗報です。実は、Rustで、eBPFのコードを実装することができます。今更、C言語(クラウドネイティブ ではない感じ)を学ぶ必要はありません! eBPFとプログラミング言語eBPFを活用するソフトウェアは、カーネルスペースで動作するeBPFバイトコードと、eBPFバイトコードを制御するユーザスペースのアプリケーションから構成されます。後者は、Go、Python、Rustなど様々なプログラミング言語で実装することができますが、前者は、制限のあるC言語で実装する必要があります。 eBPFの構成Rust用eBPFライブラリRustでeBPFを扱う一般的な方法は、libbpf-rsライブラリです。これは、C言語でユーザスペースのアプリケーションを実装するため

                              RustでLinuxカーネルの機能を拡張しよう!
                            • Node.js + TypeScriptのモジュールを整理してみる

                              はじめにlink 最近受けるNode.js + TypeScript環境の相談の中で、CommonJSやECMAScript Modulesのあたりで落とし穴にはまっている人が多いという事に気づいた。 Node.jsは歴史的にCommonJSとECMAScript Modules(以後ESMと表記)がどうしても入り乱れる環境にあり、これにTypeScriptのモジュールが加わると組み合わせでさらに複雑度が増すのが現状である。 説明する際に口頭より整理した文章が欲しいと思ったので記事にする。 以下のリポジトリで検証コードを管理している。 https://github.com/koh110/module_test Node.jsモジュールチェックシートlink まず最初にNode.jsにおけるCommonJSとESMの挙動について整理する。 いきなり書かれても把握できないかもしれないが、一旦こ

                                Node.js + TypeScriptのモジュールを整理してみる
                              • 書いた JavaScript をそのまま動かすフロントエンド開発の未来のために必要なもの

                                大きめのテーマです。もしかしたら「うちでは書いた JS をそのまま配信してるぜ〜」って人もいるかもしれないでが。 最近の Web フロントエンド開発では、書いた JavaScript をそのまま動かさないことが多い 最近のフロントエンド開発ではエンジニアが書いた JavaScript をそのままブラウザで動かすことはほとんどないかもしれません。 例として最近流行のフレームワークを考えてみましょう。Next.js や Remix、Nuxt.js など、いずれも内部的にトランスパイラやモジュールバンドラを使い、エンジニアが書いた JavaScript を別の形へと変換してからユーザーのブラウザで動かすような仕組みになっています。 一昔前だと Next.js のようなフレームワークが今ほど発展していなかったこともあり、webpack や Babel を直接使っていたと思いますが、それも同じです。

                                  書いた JavaScript をそのまま動かすフロントエンド開発の未来のために必要なもの
                                • アンサー: named exportは有害なのか - uhyo/blog

                                  こんにちは。ここ数日は、以下の記事が話題になりました。 named exportは有害だと考えられます「named exportは有害」という主張はこれまで常識と思われていたこととは異なるため、界隈のエンジニアからは否定的・懐疑的な意見が見られます。実際、筆者もnamed exportが有害であるとは1ミリグラムも思っていません。 しかし、自分と異なる意見は当然に下等・幼稚なものであるというのは筆者が最も嫌う考え方ですから、このような異なる意見を分析・理解する必要があると思い、アンサー記事という形でまとめました。具体的には、異なる意見に達する理由としては前提が異なることと論理が異なることが主に挙げられます。前提が異なることが分かれば、自分と異なる意見に至った理由を理解でき、場合によっては取り入れることもできます。論理が違うのであれば、それは瑕疵であり指摘しなければいけません。 なお、そもそ

                                    アンサー: named exportは有害なのか - uhyo/blog
                                  • Organizing a Go module - The Go Programming Language

                                    A common question developers new to Go have is “How do I organize my Go project?”, in terms of the layout of files and folders. The goal of this document is to provide some guidelines that will help answer this question. To make the most of this document, make sure you’re familiar with the basics of Go modules by reading the tutorial and managing module source. Go projects can include packages, co

                                      Organizing a Go module - The Go Programming Language
                                    • Go1.16からは go get は使わず go install を使おう - Qiita

                                      この記事はGo Advent Calendar 2020 16日目の代打記事です。奇しくも16日目にGo1.16の話をすることになりました。 【追記】タイトル改題しました 状況が落ち着いてだいぶ経ったのと、未だに多くの方にこの記事を見ていただけていることから、Go1.16での変更というより、今を生きる私達がどうすればいいか、という点にフォーカスしたタイトルに改題しました。本文に変更はありません。一応注記すると、go get が廃止になったわけではなく、普段の開発フローで使うことはまずなくなった、という意味です。(一通り読んでいただければお分かりいただけるかと。) 【追記】Go1.18について ついに待望のGo1.18がリリースされましたね! https://go.dev/doc/go1.18#go-command そして予告通り go get によるインストール機能は削除されました。どうし

                                        Go1.16からは go get は使わず go install を使おう - Qiita
                                      • Adoさん、テイラー・スウィフトさんの楽曲「TikTok」で提供停止…著作権保護で合意できず

                                        【読売新聞】 【ニューヨーク=小林泰裕】大手音楽会社ユニバーサル・ミュージック・グループ(UMG)が、中国発の動画共有アプリ「TikTok(ティックトック)」上で今月1日以降、米国の人気歌手テイラー・スウィフトさんらの楽曲の提供を相

                                          Adoさん、テイラー・スウィフトさんの楽曲「TikTok」で提供停止…著作権保護で合意できず
                                        • TypeScript におけるモジュール関連オプションの整理

                                          TypeScript 4.7 で “module” という名前で始まる Compiler Option がさらに追加されて、さすがに何が何やら感あるので、役割を軽く整理。 この記事では雑な紹介に留めるので、それぞれの詳細は TSConfig Reference を読みに行ってください。 対応関係ソースコードとそれぞれのオプションが何に作用しているのかを雑に図示するとこんな感じ。 重要なことどのオプションをいじっても、import 指定子 (上図の “./hoge” の部分) がコンパイル時に書き換えられることはない。 これが頭に入っていれば、.mts, .cts といった TypeScript のファイルで import "./foo.cjs" と書くことや、 --moduleSuffixes がソースコードの探索にしか影響しないことに得心できるはず。 --moduleTypeScript

                                            TypeScript におけるモジュール関連オプションの整理
                                          • 2022年に試した開発ワークフロー関係の機能やツール - Kengo's blog

                                            数えてみたら意外と数あったのでまとめます。 release-please Google謹製のリリース自動化ツール。monorepo対応のRelease Drafterという感じですが、リリースはDraft Releaseの安定版への昇格ではなく、PRのマージによって行います。PRでリリースするという点ではgit-pr-releaseぽいですが、ブランチは main だけでリリースブランチは無い感じ。changesetsよりはとっつきやすい印象です。 github.com 例えば↓のようなワークフローを用意すれば、モジュールごとにGitHub Releaseを作成するためのPRを自動作成できます。 初期セットアップでJSONファイルを2つ作る必要があるのが若干面倒ですが、それさえ越えてしまえば考えることは少なさそうです。 # .github/workflows/release-please.

                                              2022年に試した開発ワークフロー関係の機能やツール - Kengo's blog
                                            • [Rust] モジュールのベストプラクティス

                                              Rust のモジュールシステムは私の知る中でもトップクラスによくできた仕組みだと思います。特にリファクタリングによってモジュールを再構成するときのやりやすさは他の言語では経験できないものです。例えばそれなりの規模の Python プロジェクトを回帰バグを導入せずにモジュール構造のリファクタリングするのは不可能に近いですが、 Rust ではそのような不安を覚えたためしがありません。 Rust のモジュールシステムがどういうものかは、 The book にも書かれていますし、すでに大量のガイドが書かれていると思います。しかし、どのように使うべきかについては意外なほど情報が少なく感じます。 ベストプラクティスというのもおこがましいですが、数年使ってきて Rust のモジュールシステムを使う上でスムーズに感じる方法をまとめておきたいと思います。 Rust のモジュールシステム 本稿の主題はモジュー

                                                [Rust] モジュールのベストプラクティス
                                              • import * as 構文とパフォーマンス最適化 - Qiita

                                                JavaScriptには、import * as という構文があります。これは、インポート先のモジュールの中身全部をオブジェクト(モジュール名前空間オブジェクト)として取得できる構文です。 import * as mod from "./some-module"; console.log(mod.foo, mod.bar); たまに、「この構文を使うとTree Shakingが効かなくなる」といった説明が見られることがありますが、必ずしもそうではありません。そこで、この記事ではimport * as構文とパフォーマンス最適化に関連する正しい知識と、その背景をご紹介します。 webpackで検証してみよう Tree shakingを行うのはモジュールバンドラであることが知られています。そこで、webpackを使って色々と構文を検証してみましょう。今回は次のような設定を用います。これは最適化を

                                                  import * as 構文とパフォーマンス最適化 - Qiita
                                                • Go 1.13 に向けて知っておきたい Go Modules とそれを取り巻くエコシステム - blog.syfm

                                                  はじめに 今年の 8 月にリリースが予定されている Go 1.13 では、Go 1.11 で導入された Go modules に加え、Go module proxy といった新しいエコシステムが登場します。 そこで、そもそも Go modules は何を行っているのかや、何ができるのか、どういった要素で構成されているのかを紹介します。 また、古い Go バージョンから Go 1.13 へアップデートする場合や、 dep や Glide といったベンダリングツールから Go modules へ移行する際の懸念点も併せて紹介します。 先日発表した "Go Modules and Proxy Walkthrough" はこのポストがベースになっています。 TL;DR な人はスライドを見るのがおすすめです。 speakerdeck.com Go Modules Go modules という仕組みは

                                                    Go 1.13 に向けて知っておきたい Go Modules とそれを取り巻くエコシステム - blog.syfm
                                                  • ブックマークしておくと便利! Tailwind CSSで実装された最新のUIコンポーネントライブラリ -Sailboat UI

                                                    // tailwind.config.js const defaultTheme = require("tailwindcss/defaultTheme"); const colors = require("tailwindcss/colors"); module.exports = { content: ["./src/**/*.{html,js}"], theme: { extend: { // Set font family fontFamily: { sans: ["Inter", ...defaultTheme.fontFamily.sans], }, // Set theme colors (Required config!) colors: { primary: colors.blue, secondary: colors.slate, }, }, }, // Add plu

                                                      ブックマークしておくと便利! Tailwind CSSで実装された最新のUIコンポーネントライブラリ -Sailboat UI
                                                    • IEが終了したので、webpackやbabelは不要? - Qiita

                                                      IE終了により、webpackやbabelを使う必要がなくなるのか、フロントエンドからビルドステップを完全に消し去ることはできるのか。 そもそもなぜフロントエンドを「ビルド」していたのか そもそもなぜwebpackやbabelを使ってJavaScriptをバンドル(1ファイルにまとめる)していたのか 1. HTTP/1.1とモジュールシステムの相性の悪さ ブラウザにはES Moduleというモジュールシステムが導入されています。これはimport文で他のファイルを読み込むことができるシステムです。 HTTP/1.1については、ブラウザ側で同時接続数制限があります。これは、ファイルを多数読み込む必要があるES Modulesには不向きでした。 2. ブラウザのES Module対応率の低さ ES ModulesはIE非対応です。開発するWebサイトがIEをターゲットにしたい場合、ES Mod

                                                        IEが終了したので、webpackやbabelは不要? - Qiita
                                                      • Streamlit • The fastest way to build and share data apps

                                                        Streamlit turns data scripts into shareable web apps in minutes. All in pure Python. No front‑end experience required.

                                                          Streamlit • The fastest way to build and share data apps
                                                        • Node.js Dual Packages (CommonJS/ES Modules) に対応した npm パッケージの開発 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                          こんにちは。フロントエンドエキスパートの平野(@shisama_)です。 フロントエンドエキスパートチームでは業務時間の 30 % の時間で技術探究を行っています。 今回は探究した技術の中から Node.js の ES Modules(以下 ESM)についてと Dual Package (CommonJS/ES Modules) に対応した npm パッケージの開発について紹介します。 ES Modules の特徴 ESM はブラウザ互換 ESM は Strict モード ESM は非同期 ESM は静的解析可能 Node.js の ESM 対応について Dual Package(CJS/ESM)に対応した npm パッケージの開発 Conditional Exports によるファイルの指定 .mjs と .cjs require など CJS 特有の機能を使う ESMから CJS ファ

                                                            Node.js Dual Packages (CommonJS/ES Modules) に対応した npm パッケージの開発 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                          • Python の __init__.py とは何なのか - Qiita

                                                            Python を使い始めると、ディレクトリの階層で分けてファイルを管理したくなります。 そこで出てくるのが __init__.py ファイル。 これは一体何者なのか。 色々と情報がころがってはいるものの、なかなか納得行くように説明しているものが見当たりません。 Python のドキュメントでも、何を参照すれば正解なのかがわかりにくい1。 ということで、__init__.py についてまとめてみました。(少し長いです) 読み物形式で書いていますので、結論(「__init__.py の役割」)だけ見たい方はスクロールして最後の方を読んでください。 python コードの例は、主に 3.6/3.5 を使用しています2。 「モジュール」と「パッケージ」と「名前空間」 モジュールと階層構造 単一ファイルのモジュール ディレクトリによる階層構造と名前空間 ディレクトリと名前空間のマッピング __ini

                                                              Python の __init__.py とは何なのか - Qiita
                                                            • go.modとgo.sumの読み方

                                                              go.mod 主にモジュールのインポートパスとバージョン情報を書いておくためのファイルで、いくつかのディレクティブを使ってアプリケーションがどのような依存関係を持っているか記述しておきます。 go mod tidy等を実行するとこのファイルを元に依存先を取得し次項で解説するgo.sumを生成します。 サンプル module github.com/ryo-yamaoka/sample-lib go 1.17 require github.com/ryo-yamaoka/direct-dependent-lib v0.0.2 require github.com/ryo-yamaoka/indirect-dependent-lib v0.0.4 // indirect exclude github.com/ryo-yamaoka/direct-dependent-lib v0.0.1 repl

                                                                go.modとgo.sumの読み方
                                                              • nginx でリクエストを複製できるモジュール「ngx_http_mirror_module」 - kakakakakku blog

                                                                nginx でリクエストを複製できるモジュール「ngx_http_mirror_module」を使うと,簡易的な「Shadow Proxy」を構築することができる.例えば,本番環境のリクエストの一部を開発環境に流せるようになる.この「ngx_http_mirror_module」は nginx 1.13.4 で実装された機能で,2017年8月リリースなので,最近のバージョンだとデフォルトで使えるようになっている.今回は「リクエストの複製」を試すため,Docker Compose を使って検証環境を構築した. nginx.org 検証環境 今回 Docker Compose を使って,nginx と Sinatra を起動する検証環境を構築した.コンテナは計3種類で,以下の構成図にまとめた.基本は Frontend と Backend でリクエストを処理し,今回は Mirror にもリクエス

                                                                  nginx でリクエストを複製できるモジュール「ngx_http_mirror_module」 - kakakakakku blog
                                                                • Terraformのベストなプラクティスってなんだろうか | フューチャー技術ブログ

                                                                  はじめにこんにちは、TIG DXユニット 1の木村です。 入社以降ずっと触ってきたTerraformですが、巷ではWorkspace派だったり、module派だったり、ディレクトリ完全分離派だったり、様々な流派(プラクティス)が乱立しているのを目にします。私自身ベストな構成を模索していく中で辿り着いた結論は、ケースバイケースで全てのデザインパターンに対応できる万能なものは存在しないのかな (当たり障りないですね..)ということです。 そんなわけで、様々なTerraformの流派を紹介し、各流派がどのようなパターンに向いているのか(はたまた不向きなのか)の個人的見解をまとめてみました。 ※本記事中のサンプルコードはすべて Terraform 0.12、 provider google cloud で解説してます Terraformとは?当社過去記事に解説があります。Terraformの概要や

                                                                    Terraformのベストなプラクティスってなんだろうか | フューチャー技術ブログ
                                                                  • Terraformアンチパターン(2019年版) - Qiita

                                                                    はじめに Infrastructure as Code(以下IaCと略します)って最近では当たり前のように実践されてますよね。特にterraformはかなりユーザが多く、開発のスピードも速い印象です。 IaCを実現できたインフラエンジニアの皆さんの多くが次に直面する問題はコードの保守運用に関する事柄ではないでしょうか? terraformもコードなので、アプリケーションのコードと同じように保守性(テスト容易性、理解容易性、変更容易性)を意識する必要があります。ただコード化しただけでは属人性を排除したとは言えないと思います。 保守性の高いterraformって具体的にどう書けばいいの?と周りに聞いてみても、巷には「ぼくのかんがえた最強のterraformベストプラクティス」が乱立していて、自転車置き場の議論になりがちです。 また、v0.12前後でterraformの記法が大きく変わったので、

                                                                      Terraformアンチパターン(2019年版) - Qiita
                                                                    • Go 製 CLI にプラグイン機構を作る方法n選

                                                                      この記事は Go 3 Advent Calendar 2020 25日目の記事です。2018年から3年連続での Go 3 25日目です。クリスマスに追い込まれるのが得意。 便利なツール、とくに何かしらを操作したり生成するタイプのツールでは、その対象物の種類を増やすにあたってプラグイン機構を作りたくなることが多々あります。そういうときに世の中のツール、特に Go 製のツールがどういう手法をとっているかを軽く調べてまとめてみました。 似たような内容を2年前の GoCon で話しており、プラグイン機構を作るモチベーションなどはスライドの方を参照してもらうといいかもしれません。 評価項目 これまたスライドでも述べていますが、プラグイン機構自体の導入モチベーションから、「プラグイン機構の導入で UX が悪化しないか」「プラグインの開発体験がどうか」の大きく2項目を見ていきます。 User Exper

                                                                        Go 製 CLI にプラグイン機構を作る方法n選
                                                                      • IMI 情報共有基盤 コンポーネントツール

                                                                        公開リソース一覧 gBizINFOで使用しているリソースの一覧です。 各リソースはIMI(https://imi.go.jp)が提供する以下の技術仕様に準拠して作成しています。 IMI語彙記法 バージョン1.0.1 DMD仕様 バージョン3.0.1 マッピングファイル仕様 バージョン1.0.1 構造化項目名記法 バージョン1.0.1 1.WebAPIコンポーネントと仕様書 各コンポーネントの一式(ソースコード、テストコード、仕様書に相当する README.md を含む)を収録しています。 使用方法は各コンポーネントの `README.md` をご覧ください。 (1) 住所変換コンポーネント imi-enrichment-address-2.0.0.src.tgz imi-enrichment-address-2.0.0.tgz (2) 法人種別名の抽出コンポーネント imi-enrichm

                                                                        • GOPATH に(可能な限り)依存しない Go 開発環境(Go 1.15 版)

                                                                          2018 年ごろまでの Go に対する不満として以下のようなものがありました。 $GOPATH/src 配下でしか開発できない これは、import された package の探索先として $GOPATH/src が使用されていたことに起因します。 つまりどこかから呼び出される package を書きたい場合は $GOPATH/src 配下に存在しなければ探索できない、そのため実質 $GOPATH/src 配下でしか開発できないということでした。 しかし 2018 年末にリリースされた Go 1.11 によりこの不満は解決されることとなります。 Go 1.11 で導入された Go modules という新たな仕組みを有効にしておくと package 探索先として $GOPATH/src が使わなくなったのです。 その代わりに例えば github.com/go-sql-driver/mysq

                                                                            GOPATH に(可能な限り)依存しない Go 開発環境(Go 1.15 版)
                                                                          • 「モジュールとしてのマイクロサービス」と 「分割単位としてのドメイン」について考える

                                                                            昨今のシステムは社内外のシステムと連携していて境界定義が難しいといわれます。マイクロサービスの文脈でもどのようにシステムを分割するかの議論があります。実はこれは50年来続く「部品の分割=モジュール化」の歴史といえます。最近ではこの部品の分割単位としてドメイン駆動設計の「ドメイン」がよく話題になります。「モジュール」と「ドメイン」にどんな関係があるのでしょうか。Chatwork社でのマイクロサービス化の事例も踏まえながらマイクロサービス設計を「モジュール」と「ドメイン」の軸で語りたいと思います。

                                                                              「モジュールとしてのマイクロサービス」と 「分割単位としてのドメイン」について考える
                                                                            • "CSS Module" をめぐる混乱

                                                                              これのこと。そしてその実装。 現状フロントエンドエンジニアが指すものはだいたいこれ。 Web 標準になりつつあるもの Import Assertions で実現しそうな Synthetic Module としての CSS Module 標準になりそうな所まで来ている。 この2つに関して話がごちゃごちゃになるんで整理する。 コミュニティベースの CSS Module https://github.com/css-modules/css-modules コレ自体は概念的なもの。 その実装 として Webpack の CSS Loader などがある。 なので、一般的に「CSS Module か Styled Component か」みたいな議論ででてくるものの場合、 Webpack の CSS Loader を入れるかやめるかみたいな文脈が多い。 State of CSS 2020 で出てくる

                                                                                "CSS Module" をめぐる混乱
                                                                              • Perlの依存モジュールのアップデートを自動化するためのCLIツールを作った。GitHub Actions上で動かしてPull Requestも送れる - hitode909の日記

                                                                                近年のソフトウェア開発では、RenovateやDependabotといった依存関係更新のためのツールが普及していて、ツールの支援を借りながら依存ライブラリを更新していく開発フローが広まってきている。 これらのツールは、package.jsonで管理されているライブラリだったり、Dockerfileで指定しているイメージだったりを自動的に最新版に更新してPull Requestを出してくれるので、人間は内容を確認してマージボタンを押すか、変なところがあったら手直ししてからマージしていくだけでよい。 はてなでの開発フローでも使い倒していて、先月くらいにも、社内で共有して使ってる設定を公開したりしていた。今ではRenovateのない暮らしに戻ることは考えられないくらいに広まっている。 developer.hatenastaff.com 普段、仕事ではPerlやTypeScriptを書いていて、T

                                                                                  Perlの依存モジュールのアップデートを自動化するためのCLIツールを作った。GitHub Actions上で動かしてPull Requestも送れる - hitode909の日記
                                                                                • TypeScriptのmoduleオプションの話、あるいはTypeScript開発者の苦悩、あるいはCJSとESMの話

                                                                                  皆さんこんにちは。早速ですが、TypeScriptのmoduleオプションはご存じでしょうか。moduleオプションは、例えば次のような値をサポートしています。 commonjs umd es2015 esnext node16 nodenext 皆さんは、moduleオプションが何を設定するオプションなのか一言で説明できますか? 実は、TypeScriptの熟練者であってもmoduleオプションを一言で説明することは難しいはずです。なぜなら、そもそもこのmoduleオプションが複数の異なる意味で使われており、もはや一言で説明できるようなものではなくなってしまったからです。 この記事では、TypeScriptのメンテナーが書いた次のGitHub issueをベースに、moduleオプションを取り巻く状況を説明します。 moduleオプションの意味とは 昔はmoduleオプションの意味は明確

                                                                                    TypeScriptのmoduleオプションの話、あるいはTypeScript開発者の苦悩、あるいはCJSとESMの話

                                                                                  新着記事