タグ

2021年9月16日のブックマーク (11件)

  • シェルスクリプトを書くのをやめる - blog.8-p.info

    今年から、できるだけシェルスクリプトを書くのをやめようとしている。私が毎日 zsh に打ち込んでいるのも広義のシェルスクリプトだし、自分用の雑なスクリプトを書くことはあるけれど、チームの他の人も将来に使ったり改変したりするようなものは、なるだけ他の言語を使っている。 シェルスクリプトを書くのは難しいし、その難しさは、学ぶに値しないといったら言い過ぎかもしれないけれど、2021年に初心者が取り組むべき問題とは言い難いと思う。 シェルは悪いプログラミング言語である Bash Strict Mode とかを使ってみても、シェルスクリプトには落とし穴が多すぎる。自分で書いたものを自分で使っている分には大丈夫なのだけど、スクリプトがチーム内で使われるようになると、考慮していなかったところ、例えばファイル名に空白文字が含まれるとか、そういうレベルの微妙なところで、ちゃんと書かれていないスクリプトは壊れ

  • Staticcheck

    Staticcheck is a state of the art linter for the Go programming language. Using static analysis, it finds bugs and performance issues, offers simplifications, and enforces style rules. Code obviously has to be correct. Unfortunately, it never is. Some code is more correct than other, but there’ll always be bugs. Tests catch some, your peers catch others, and Staticcheck catches some more. After co

    Staticcheck
  • Mirrativのバックエンド開発におけるMySQLとの向き合い方 - Mirrativ Tech Blog

    こんにちは、バックエンドエンジニアのmakinoです。先日、LINE LIVEさんとの共催イベントにて「Mirrativを支えるバックエンド開発 ~MySQLとの向き合い方~」というテーマでLTをしました。 connpass.com speakerdeck.com 今回はLTの内容から一部抜粋して、Mirrativのバックエンド開発において遭遇したMySQLに関する問題と、その対策について紹介します。 問題 その1 データ量/QPSの増加に伴って、非効率なクエリが顕在化した サービス初期の段階ではデータ量が少なかったり、ユーザーのアクティビティが少ないために問題がなかったクエリも、サービスの成長に伴ってデータ量・QPSが増加したことによって、MySQLに負荷をかけてしまうことがありました。 具体例を以下にいくつか示します。 数千件レコードのfilesort 適切なindexが利用できればM

    Mirrativのバックエンド開発におけるMySQLとの向き合い方 - Mirrativ Tech Blog
  • Dockerコンテナをサーバレス化する「Google Cloud Run」で、非同期処理やバックグラウンドタスクなどが実行可能に

    Googleは、Dockerコンテナをサーバレスで実行するサービス「Cloud Run」の新機能として、非同期処理などを可能にする「CPU allocation on Cloud Run」機能をプレビューとして発表しました。 非同期処理などが難しかったCloud Run サーバレスコンピューティングでは一般に、何らかのイベントやリクエストをトリガーにインスタンスが起動し、処理が終わるとインスタンスが終了します。 Google CloudのCloud Runではこうした処理をDockerコンテナで実現するサービスです。HTTPやgRPCなどによるリクエストによってあらかじめ用意されていたDockerコンテナが起動し、レスポンスを返したところでDockerコンテナが終了してCPUの割り当てが解放されるようになっています。 そのため、Cloud Runでは処理を非同期にしてレスポンスを先に返し、

    Dockerコンテナをサーバレス化する「Google Cloud Run」で、非同期処理やバックグラウンドタスクなどが実行可能に
  • 複数バージョンのGoをインストールする - CLOVER🍀

    これは、なにをしたくて書いたもの? Goはapt(+PPA)でインストールしているのですが、他のバージョンが使いたくなる時もあったりします。 Ubuntu · golang/go Wiki · GitHub こういう時はどうしたらいいのかな?と思ったのですが、Go自体が複数バージョンのGoをインストールする方法をドキュメントに 書いていますね。 Managing Go installations - The Go Programming Language 調べている過程でgvmやgoenvというのも見つけましたが、こちらはあまり更新されていなさそう。 GitHub - moovweb/gvm: Go Version Manager GitHub - syndbg/goenv: Like pyenv and rbenv, but for Go. gvmは、SDKMANが名前を変えた理由だった

    複数バージョンのGoをインストールする - CLOVER🍀
  • Go言語の開発環境セットアップとサンプルプロジェクト作成 | DevelopersIO

    Javaエンジニアだった私がGo言語を始める上で学んだ開発環境のセットアップ方法についてまとめていきたいと思います。 Go言語をインストール後サンプルプロジェクトを作成し、Goのプロブラムの実行/ビルド方法や各種周辺ツールをご紹介していきます。 はじめに Javaエンジニアだった私がGo言語を始める上で学んだ開発環境のセットアップ方法についてまとめていきたいと思います。 Go言語をインストール後サンプルプロジェクトを作成し、Goのプロブラムの実行/ビルド方法や各種周辺ツールをご紹介していきます。 この記事がこれからGo言語で開発を始めたい方のとっかかりになれば幸いです。 ※他言語で開発経験がある方を想定しております。 動作環境 今回使用した動作環境は以下のとおりです。 PC : Mac M1(Apple Silicon)チップ OS : macOS Big Sir 11.5.2 Go

    Go言語の開発環境セットアップとサンプルプロジェクト作成 | DevelopersIO
  • GitHub ActionsでAWSの永続的なクレデンシャルを渡すことなくIAM Roleが利用できるようになったようです | DevelopersIO

    GitHub ActionsでAWSの永続的なクレデンシャルを渡すことなくIAM Roleが利用できるようになったようです アクセスキー、撲滅してますか? ナカヤマです。 目黒方面より、以下のような福音が聞こえてきました。 何がどのくらい最高かと言いますと! GitHub Actions に AWS クレデンシャルを直接渡さずに IAM ロールが使えるようになることがまず最高で! クレデンシャル直渡しを回避するためだけの Self-hosted runner が必要なくなるところも最高です!!✨✨✨ https://t.co/IUQmfzkIB0 — Tori Hara (@toricls) September 15, 2021 元ネタはこちら。 Ok I blogged about it. That's how excited I am. 1. Deploy this CFN templ

    GitHub ActionsでAWSの永続的なクレデンシャルを渡すことなくIAM Roleが利用できるようになったようです | DevelopersIO
  • GitHub ActionsのOIDC id tokenでGCPにアクセスしてみた - ryotarai's blog

    注意: この記事は古くなっています。現在は正式リリースされています。ドキュメントはこちら 巷で話題になってるGitHub Actionsのid tokenでGCPにアクセスしてみた。 AWS federation comes to GitHub Actions | Aidan Steele’s blog (usually about AWS) これを参考に試してみた。 GCP側 以下、49482415725, ryotarai-github-oidc-sampleはproject number, project ID(このprojectは削除済み) cloud.google.com これを参考にWorkload Identityまわりの設定をする。 まず、IAM, Resource Manager, Service Account Credentials, and Security Tok

    GitHub ActionsのOIDC id tokenでGCPにアクセスしてみた - ryotarai's blog
  • 踏み台EC2を廃止してSession Manager接続に置き換えました

    こんにちは、エウレカ SRE チームの原田です。 今年 (2021年) エウレカでは、公開鍵認証で接続するEC2の踏み台サーバを廃止し、代わりに各サーバへの接続をIAMで認証できるSSM Session Managerへのリプレースを行いました。記事ではそのモチベーションや、実装のポイントを紹介していきたいと思います。 旧来の踏み台サーバ 旧来の踏み台サーバエウレカで長く運用されていた踏み台サーバ (Gateway) は以下のようなものでした。 各開発者は、自分の秘密鍵を使って踏み台サーバへSSHを行う ( 踏み台サーバ上には各開発者の個別ユーザーおよび公開鍵が登録されている )踏み台上では、接続が許可されているSSH対象のサーバの秘密鍵がユーザー毎に配置されており、その鍵で各サーバにSSHするMySQL / Elasticsearch / Redis など、Private Subnet

    踏み台EC2を廃止してSession Manager接続に置き換えました
  • 本人確認にeKYCを利用するメリットとセキュリティリスク | サイバーセキュリティ情報局

    2020年4月、改正犯罪収益移転防止法が施行された。オンラインで完結できる人確認の選択肢が増えたことで、eKYCに対する関心が高まっている。オンラインで人確認を完結させることは、さまざまなメリットがある一方で、セキュリティ上のリスクも存在する。そこで記事では注目を浴びるeKYCについて、基的な仕組みやメリット、そのリスクなどについて詳しく解説する。 eKYCとは eKYCは「electronic Know Your Customer」の頭文字をとったもので、人確認の手続き(KYC)を電子的(electronic)な方法で行う仕組みのことを指す。スマートフォン(以下、スマホ)の普及などによってユーザーの環境が変わり、また2020年4月に犯罪収益移転防止法(以下、犯収法)が改正されたことで注目を集めている。 eKYCでは撮影した免許証等の画像に加え、スマホなどで撮影した人の画像を送

    本人確認にeKYCを利用するメリットとセキュリティリスク | サイバーセキュリティ情報局
  • UnityでTDDハンズオンRepositoryを作っている - imog

    最近更新したのでちょっと宣伝。 github.com なにこれ 最近、副業だったりプライベートなどでUnityを使う人でテストに興味ある方を対象にTDDについてお話する活動などをしています。その際に座学としてお話することもあれば、ハンズオン形式で実際に手を動かして書いてもらうということもあります。その際に使うサンプルリポジトリです。 ぜひお手元で考えながら書いてみてください。勉強会の資料などで使っていただいても大丈夫です。 なぜやってるのか ゲーム開発はソフトウェア開発の中でもかなり複雑性が高いと感じています。そして性質上変更頻度も高い。ゲームごとに作り方が変わる以上これは仕方ないことだと考えています。だからこそより変化に対応できるようにテスタビリティの高いコードになっていてほしいと考えていますがその難易度、そしてそもそものテストコード文化というものがないためにテストコードが書かれているこ

    UnityでTDDハンズオンRepositoryを作っている - imog