並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 21 件 / 21件

新着順 人気順

TrimPathの検索結果1 - 21 件 / 21件

  • 【Go編】Next.js × Go × AWSでJWT認証付きGraphQLアプリとCI/CDを構築してみよう - Qiita

    ■ご案内■ 本連載の背景/作成できるアプリケーション/進め方をご理解頂く上でも【環境構築編】 をご一読頂けると幸いです。 【環境構築編】 【Next.js編】 【Go編】  👈いまここです 【AWS編】 これからも頑張ってハンズオン系の記事を書いていきたいと思っているので、いいねっと思って頂けたらLGTM押していただけると励みになります! 環境構築 本サンプルアプリの環境構築方法は【環境構築編】に記載しているので、そちらをご参照ください。 クリーンアーキテクチャ風なディレクトリ設計 以下の記事を参考にしつつクリーンアーキテクチャ風なディレクトリ設計をしてみました。 各階層間をインターフェースを利用して、システムの各部分を疎結合化しております。 # 簡単のため一部ファイルは割愛しています go-graphql-jwt-api/ ├── build/ │ ├── db/ │ └── dock

      【Go編】Next.js × Go × AWSでJWT認証付きGraphQLアプリとCI/CDを構築してみよう - Qiita
    • nostr と Bluesky に7つ bot を作り k8s で稼働させた

      俳句bot (nostr) nostr の日本リレーを監視し、投稿を 575 または 57577 判定し、引用でお知らせする。狙った俳句ではなく、天然物の俳句がマッチするとウケが良い。 Go で実装。内部では go-haiku を使って俳句を判定。監視は日本語の投稿が流れる日本のリレーをお借りしている。普通の Go アプリなので golan:1.20-alpine でビルドして scratch でイメージ作成。 # syntax=docker/dockerfile:1.4 FROM golang:1.20-alpine AS build-dev WORKDIR /go/src/app COPY --link go.mod go.sum ./ RUN apk add --no-cache upx || \ go version && \ go mod download COPY --link

        nostr と Bluesky に7つ bot を作り k8s で稼働させた
      • goのLambdaはコンテナイメージでよくない? - エムスリーテックブログ

        【Unit4 ブログリレー8日目】 こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 今日の記事は、タイトルのとおりgoのLambdaはコンテナイメージで管理するのがオススメって話です。 城島高原パーク(きじまこうげんパーク)は、大分県別府市の城島高原にある遊園地。本文には関係ありません。 go1.xランタイムのサポート終了 コンテナイメージにする利点 起動時間は遅くならないの? 構成 処理本体 main.go Dockerfile 本番実行用イメージ ローカル実行用イメージ ローカルで実行 Lambdaの設定 まとめ We are hiring! go1.xランタイムのサポート終了 先日、AWS Lambdaの go1.x ランタイムのサポート2023/12/31で終了することが話題になっていました。 「なっていました」と伝聞なのは、Unit4ではすで

          goのLambdaはコンテナイメージでよくない? - エムスリーテックブログ
        • Go製バイナリを配布するためのGitHubワークフロー - Plan 9とGo言語のブログ

          前置き 以前、BuildInfoからバージョンを取得する方法を紹介しました。 blog.lufia.org go installで正規の公開されたバージョンをインストールした場合は、以下の出力においてmodの行が示すように、sum.golang.orgでチェックサム等が検証されてバイナリのメタデータに埋め込まれます。 $ go version -m dotsync dotsync: go1.22.2 path github.com/lufia/dotsync mod github.com/lufia/dotsync v0.0.2 h1:JWm92Aw8pSKJ4eHiQZIsE/4rgwk3h5CjEbJ/S30wiOU= build -buildmode=exe build -compiler=gc build -trimpath=true build DefaultGODEBUG=ht

            Go製バイナリを配布するためのGitHubワークフロー - Plan 9とGo言語のブログ
          • Docker Desktop の Extensions を実装してみよう - kakakakakku blog

            2023年1月にリリースされた Docker Desktop v4.16.0 (release notes) で GA になった「Docker Extensions」の Extensions は段々と種類が増えてきて,Disk Usage / Aqua Trivy / LocalStack など,最近使う機会もあったりする.今回は "Quickstart" ドキュメントを読みながら Docker Extensions の実装に入門してみた❗️ \( 'ω')/ オレオレ Docker Extension を実装するぞー docs.docker.com 🐳 docker extension コマンド まず,Docker Extensions を実装するためには docker extension コマンドを使う.コマンド一覧を以下に載せておく. $ docker extension --he

              Docker Desktop の Extensions を実装してみよう - kakakakakku blog
            • Go 言語製実行ファイル解析の紹介 ~関数情報~ - FFRIエンジニアブログ

              はじめに お久しぶりです。セキュリティエンジニアの桑原です。 近年、Go 言語によって作成されたマルウェアが増加しています。 Go 言語の特徴として開発の容易さや任意の環境に向けてビルドを行うクロスコンパイルが可能であるといった点があります。 攻撃者も Go 言語を使用することで、手早く、複数の環境を攻撃できるマルウェアを開発できることが増加要因の 1 つとして挙げられます。 また、以前の記事でも紹介した通り、Go 言語製の実行ファイルは C/C++ 等で作成された実行ファイルとは大きく異なるバイナリ構造をしています。 このため、Go 言語を使用するだけでパターンマッチングによる検出を容易に回避できる可能性があることも増加要因として考えられます。 私たちセキュリティエンジニアは最新の攻撃者の動向に対応するため、Go 言語製マルウェアの解析も必要になってくることでしょう。 そこで、私は先日、

                Go 言語製実行ファイル解析の紹介 ~関数情報~ - FFRIエンジニアブログ
              • Go 1.19 Release Notes - The Go Programming Language

                Introduction to Go 1.19 The latest Go release, version 1.19, arrives five months after Go 1.18. Most of its changes are in the implementation of the toolchain, runtime, and libraries. As always, the release maintains the Go 1 promise of compatibility. We expect almost all Go programs to continue to compile and run as before. Changes to the language There is only one small change to the language, a

                  Go 1.19 Release Notes - The Go Programming Language
                • [v1.13版] goでスタティックバイナリを生成する方法 - Programs must be written for people to read

                  はじめに この記事は Go7 Advent Calendar 2019 の 22 日目の記事です。 最近GoをDockerに乗せて運用することが多いのですが、Goをクロスコンパイルする方法をググってると、結構みんな違うこと言っててどれが正しいのか疑問に思ってたのでちゃんと調べてみました。 結論 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build "-ldflags=-s -w -buildid=" -trimpath -o server ※ CGOを使ってない場合のみ可 ※ GOOS/GOARCHは適宜設定。対応表がこちらにまとまってます ※ “ldflags …” と -trimpath はなくても全く問題ありません フラグの説明 -ldflags 内部的に使うgo tool link へのフラグ(一覧) ”-ldflags=-s -w”: バイ

                    [v1.13版] goでスタティックバイナリを生成する方法 - Programs must be written for people to read
                  • LambdaをカスタムDockerランタイムで開発する方法 | フューチャー技術ブログ

                    TIGの伊藤真彦です。 普段からAWS Lambdaにはお世話になっているのですが、初めてカスタムランタイムを動かす仕事が舞い込んできました。 AWS LambdaのカスタムランタイムとはAWS Lambdaは2021.09.13時点で次のランタイムがサポートされています。 Node.js Python Ruby Java Go .NET 2018年からDockerコンテナでカスタムランタイムを構築することが可能になりました。 Dockerコンテナを準備すれば上記以外の言語、実行バイナリなど自由なアプリケーションをAWS Lambdaで動かすことが可能ということになります。 今回私が作成したカスタムランタイムは、GoでOracle DBのクライアントライブラリを操作可能なカスタムLambdaランタイムです。 GoでOracle DBに接続するGoでOracle DBを利用する方法を検討した

                      LambdaをカスタムDockerランタイムで開発する方法 | フューチャー技術ブログ
                    • Perfectly Reproducible, Verified Go Toolchains - The Go Programming Language

                      Russ Cox 28 August 2023 One of the key benefits of open-source software is that anyone can read the source code and inspect what it does. And yet most software, even open-source software, is downloaded in the form of compiled binaries, which are much more difficult to inspect. If an attacker wanted to run a supply chain attack on an open-source project, the least visible way would be to replace th

                        Perfectly Reproducible, Verified Go Toolchains - The Go Programming Language
                      • Lambda Function URLs をGoでお試し。実行時間の上限(タイムアウト)やWeb API構築周りで気になること | フューチャー技術ブログ

                        Lambda Function URLs をGoでお試し。実行時間の上限(タイムアウト)やWeb API構築周りで気になること はじめにTIG DXユニット真野です。2022/04/06にGAになったと発表された、Lambda Function URLsは、AWS Lambdaに直接HTTPSエンドポイントを追加できるというもので、API Gateway(やALB)無しでWeb APIやサイトを構築できると話題になりました。 Announcing AWS Lambda Function URLs: Built-in HTTPS Endpoints for Single-Function Microservices (4/14公開の日本語訳)AWS Lambda Function URLs の提供開始: 単一機能のマイクロサービス向けの組み込み HTTPS エンドポイント 私も業務でAPI

                          Lambda Function URLs をGoでお試し。実行時間の上限(タイムアウト)やWeb API構築周りで気になること | フューチャー技術ブログ
                        • Goでリリースビルドするときに最低限付けておきたいオプション - Qiita

                          みなさん、Goでビルドするときには、どんなオプションを指定していますか? Goではgo buildだけでも何事もなくビルドできるので、特に何も指定していないという人もいるかと思います。 しかし、オプションを何も指定せずにビルドした実行ファイルには、デバッグ情報などのリリース時には不要な様々な情報が含まれています。 本稿ではリリースビルドを作成するときに最低限付けておきたいオプションについて、簡単に紹介したいと思います。 ※ビルドオプションを網羅的に紹介する記事ではありません。 リリースビルド時に最低限付けたいオプション Goでリリースビルドを作成する時に最低限付けておきたいオプションは次の2つです。 -ldflags="-s -w" デバッグ情報(シンボルテーブル等)を含めないオプション ファイルサイズが小さくなります -trimpath ビルド環境のローカルパス情報を取り除くオプション

                            Goでリリースビルドするときに最低限付けておきたいオプション - Qiita
                          • GoでJSTのタイムゾーンを扱う方法 - 技術メモ

                            本記事はGoでJSTのタイムゾーンを指定する方法を紹介します。 *time.Location の取得方法 タイムゾーンを指定して時刻を取得する方法 方法1.時刻をパースする際に In でロケーションを指定する 方法2. time パッケージが保持しているグローバル変数を更新する 方法1'.ロケーション付で時刻が取得できる関数を生成 文字列から time.Time に変換する方法 まとめ 現在時刻を取得するには time.Now() を使うことになります。time.Now() はデフォルトではローカルな時刻が取得できます。例えばAWS Lambda上ではUTCの時刻が取得できます。日本のロケーションで動作するアプリケーションを前提にすると、アプリケーションによっては時刻をJSTで統一したほうがシンプルで扱いやすい、といったケースもあるでしょう。本記事ではGoのアプリケーションでJSTの時刻を

                              GoでJSTのタイムゾーンを扱う方法 - 技術メモ
                            • Go 1.19 Release Notes - The Go Programming Language

                              Introduction to Go 1.19 The latest Go release, version 1.19, arrives five months after Go 1.18. Most of its changes are in the implementation of the toolchain, runtime, and libraries. As always, the release maintains the Go 1 promise of compatibility. We expect almost all Go programs to continue to compile and run as before. Changes to the language There is only one small change to the language, a

                                Go 1.19 Release Notes - The Go Programming Language
                              • go command - cmd/go - Go Packages

                                Go is a tool for managing Go source code. Usage: go <command> [arguments] The commands are: bug start a bug report build compile packages and dependencies clean remove object files and cached files doc show documentation for package or symbol env print Go environment information fix update packages to use new APIs fmt gofmt (reformat) package sources generate generate Go files by processing source

                                • Go 1.22 リリース連載 encoding, encoding/json | フューチャー技術ブログ

                                  はじめにCSIGの棚井です。 本ブログは、Go 1.22 Release Notes の内容を紹介する「フューチャー技術ブログ Go 1.22リリース連載」の4本目の記事です。 今回は encoding のアップデートを取り上げます。 encoding/base32,base64,hexencoding/jsonまた、本ブログは release-branch.go1.22 での動作をベースとしています。 $ go version go version go1.22rc2 linux/amd64 encoding/base32, base64, hexTL;DR(1)encoding/base32, encoding/64, encoding/hex に、byte slice を利用したエンコード関数とデコード関数が追加されましエンコード関数: AppendEncodeデコード関数: App

                                    Go 1.22 リリース連載 encoding, encoding/json | フューチャー技術ブログ
                                  • 【Docker】Dockerのbest practicesをGo言語で - Qiita

                                    はじめに これはDockerのbest practicesをGo言語のイメージを例にやってみた、という内容の記事です。 Dockerの使い方は覚えたけれど、どのようなDockerfileにすれば良いのかわからない。という方に1つの例を提供することを目的としています。 環境 Docker: Docker version 20.10.23, build v20.10.23 Dockerfileサンプル Dockerのbest practicesを参考に作成したDockerfileがこちらになります。 FROM golang:1.21.0-bullseye AS base WORKDIR /app COPY go.mod go.sum ./ RUN --mount=type=cache,target=/go/pkg/mod/ \ go mod download FROM base AS dev

                                      【Docker】Dockerのbest practicesをGo言語で - Qiita
                                    • マルチプラットフォーム向けのMakefileは闇

                                      前回、 Go の学習を始めた際のまとめを記事として書きましたが、Makefileの作成は後回しにしていました。 Go のプロジェクトでは殆どの場合、 Makefile によりビルドを記述しています。Makefileは GNU Make 用のルールを記述したファイルで、 マルチプラットフォーム で利用することができます。 Makefile 完成版 今回、 Go 用のマルチプラットフォーム (Windows-cmd.exe, Windows-PowerShell, Windows-Git-Bash, Linux(ChromeOS-Crostini(Debian), WSL(Ubuntu), 他)) で動作する Makefile を作ってみました (GNU Make は Chocolatey の非 MinGW 版 4.3 を使用しました)。 Docker の scratch イメージで動作するよ

                                        マルチプラットフォーム向けのMakefileは闇
                                      • TypeScriptを使って、エントリーポイントに紐づくts, js, vueの依存関係を追う

                                        はじめに 現在 https://snkrdunk.com/ では、多くのWebアプリケーションにおいて、webpackを利用してマルチページアプリケーション(MPA)の構成でFrontendの実装をしています。 エントリーポイントは100を超え、その大半がVue.jsとJavaScript、TypeScriptを組み合わせて実装されています。 今回は、そんな環境の依存関係を紐解くべく調査のためのscriptを作成したお話になります。 エントリーポイントごとの依存関係をJSON形式で生成 [ { "entryPointPath": "src/entryPointA.js", "dependencies": [ "vue", "vue-router", "src/moduleA.js", "src/moduleB.js" ] }, { "entryPointPath": "src/entryP

                                          TypeScriptを使って、エントリーポイントに紐づくts, js, vueの依存関係を追う
                                        • Backtraces with strace

                                          I discovered strace somewhere between my first part time web development part time job in 2005 and my first full time “software engineering” job in 2008, and it seemed like a superpower giving me x-ray vision into running infrastructure. When a process was stuck, or existing after a cryptic error message, instead of grepping around I could get a pretty good timeline of what the process was up to.

                                          • Actions Runner Controller Deep Dive!- コード解説 前編 - - APC 技術ブログ

                                            こんにちは!ACS事業部の谷合です。 皆大好きGitHub Actionsにおける、GitHub社公式のSelf-hosted runnerであるActions Runner Controller(以降ARC)の紹介をシリーズでお送りしております。 前回前々回は以下の記事を書いておりました。 Actions Runner Controller Deep Dive!- アーキテクチャ編 - - APC 技術ブログ Actions Runner Controller Deep Dive!- 動作解説編 - - APC 技術ブログ 今回はARCのコードを解説していきたいと思います。 なお、解説は長くなるので今回を前編とします。 はじめに この記事のこと ARCを構成するComponentの種類と役割 Controller Pod Controller処理概要 コード解説 各Controllerの

                                              Actions Runner Controller Deep Dive!- コード解説 前編 - - APC 技術ブログ
                                            1