カミナシ エンジニアブログ

株式会社カミナシのエンジニアが色々書くブログです

Go の検索結果:

TypeScriptで負荷シナリオテストを作りたくなった話

…しょう! yarn go:k6で処理を実行します。 gyazo.com うまく実行出来ていますね! ここで最後に表示されているオプションに関してですが、実際に処理を実行した結果を確認出来ます。 表示されたオプションのうちで特に重要なものを説明します。 vus 同時実行したVUの数 iteration_duration default/main 関数の完全な反復処理を 1 回完了するのに要した時間 checks チェックの成功率 http_req_duration リクエストの…

Goでの自動化が唸るカッコいいworkflow画面を作りたい

これはGo 4 Advent Calendar 2020 18日目の記事です こんにちは株式会社カミナシのエンジニアの浦岡です。 個人的に、Goが一番輝きを放つのはworkflowの自動化だと思っています。 k8sなど自動化分野でGoはなくてはならない存在ですよね! ただ、そのworkflow、テキストで記述するか、画面があってもフローチャートのような物が多く、どこか味けなくないでしょうか? 見た目大事!! 少しジャンルは違いますが、こちらIntegromatというiPaaS…

【Golang + echo】S3のファイルをバイナリデータでレスポンスする

はじめに この記事はGo 4 Advent Calendar 2020 17日目の記事です。 こんにちは、株式会社カミナシのエンジニア @imuです。 早速ですが、S3にあるファイルをバイナリデータで取得してレスポンスに含めたいと思ったことはありませんか? 『カミナシ』ではバッチ処理でファイルを作成してS3にファイルをアップロードした後、Client側でファイルをダウンロードする機能があります。 よくある処理はClient側からAWSにアクセスをしてファイルをダウンロードする…

【Go言語】自作コンテナ沼。スクラッチでミニDockerを作ろう

…ntu 18.04 golang 1.15 Dockerの機能おさらい docs.docker.com まず、ドキュメント内を読み進めてDockerに対する知識を整理します。 DockerはDocker daemonを基幹とし、その呼び出しを行うREST API, Docker Cliと機能が覆い被さっています。 普段Cli経由で処理を行う、network, container, image, volumesはCli経由からこのDocker daemonの機能の呼び出しを行い…

フロントエンドエンジニアがGoの書き方を理解する

Go

本記事は Go3 Advent Calendar 2020 15日目の記事になります。 こんにちは、株式会社カミナシのエンジニア @tomiです。 JavaScript, Node.jsをメインに扱ってきたエンジニアがGoに触れるときにどう解釈したかを、JavaScriptとGolangを比較しながら、理解を深める記事となっています。 はじめに まず私自身のJavaScriptへの理解としては、VueやReact,Redux.Next.jsなどのフロントエンド周りに加え、Ex…

GoでGraphQL Subscriptionsを実装する

はじめに この記事はGo3 Advent Calendar 2020の11日目の記事です。gqlgenを使ってGraphQL Subscriptionsを実装する方法とハマったポイントを紹介したいと思います。 利用技術 gqlgen GraphQL SchemaからGoのコードを出力するコードファーストなライブラリ Redis Pub/Sub Redisでクライアント間通信を行う echo Webフレームワーク 今回はドメイン3層とgqlgenの生成物を合わせた構成にしていま…

iPhone 12 Pro(LiDAR) + ARFoundationで ARゲームことはじめ

… class SetGoat : MonoBehaviour { [SerializeField] Rigidbody m_GoatnPrefab; public Rigidbody goatnPrefab { get => m_GoatnPrefab; set => m_GoatnPrefab = value; } private ARRaycastManager raycastManager; private List<ARRaycastHit> hitResults =…

スタートアップが取組むコンテナ化。EC2からECS Fargate移行の道のり

…成を取っています。 golangで吐き出したシングルバイナリを起動するalpine linuxのコンテナをFargate上で起動し、その他のミドルウェアに関連するコンテナをサイドカーパターンで別で切り分けるようにしています。 サイドカーパターン。コンテナの責務を各ユニットで分割 メインコンテナとはまた別のユニットとして立ち上げるため、仮にサイドカーで立ち上げたコンテナにエラーが発生した時にもメインコンテナ内への影響はなく動作するところがメリットです。 またサイドカー形式で立ち…

React Native と Flutterを比較してみた

…Native 企業 Google Facebook 言語 Dart JavaScript GitHubスター数 107k 91.3k 開発環境 React Native 開発環境の構築やローカル環境の起動はExpoが便利です。 Expo CLIでは主に以下の機能が提供されています。 新しいプロジェクトの作成 ローカル環境の起動 シミュレータ起動 ログ実行 Publish 各プラットフォーム向けのビルド ローカル環境を起動すると以下の画面が表示されます。 ログの出力やシミュレー…

サービスサイトをGatsby×Wordpress×NetlifyでJamstackなサイトにリニューアル

…・Jekyll・Hugo・Gatsby.jsでした。 その中からGatsby.jsを採用した理由は複数あります。 カミナシアプリでもReactが使われていること 魅力的なフレームワークはたくさんあり、ついつい新しい技術に手を出したくなってしまいますが、複数のエンジニアが今後作業するとなると、すでに使っている技術を使った方が開発コストが下がるので、カミナシのアプリでも採用しているReactを使ったNext.jsかGatsby.jsが良いのではと考えました。 Typescript…

【LT参加レポート】GoによるGraphQL実装

…シではAPIの開発にGo言語を使用しています。自分はGraphQLが好きなのですがこれまでGoのライブラリを利用してGraphQLランタイムを実装したことがありませんでした。なのでGoのライブラリの一つであるgqlgenを利用してサンプルアプリケーションを実装してみました。 今回は勉強会で発表した内容を編集して書いていきます。 speakerdeck.com ※ただし書き カミナシのプロダクトではGraphQLを使っていません。 サービスサイトではGatsbyを使っていてこち…

Metabaseのグラフをslackへ通知するbotをServerless Framework + Puppeteerで作ってみた

…wait page.goto(embedUrl) // ダッシュボードが読み込みを完了するまで画面内で待機 await page.waitFor(5000) // fullPageをtrueに設定して、画面内全ての項目を表示出来るように const buffer = await page.screenshot({ fullPage: true }) await browser.close() return buffer } 実装のうちで 画面全体を撮影する方法 スクリーンショ…

【LT参加レポート】「Goと面と向かう」というテーマで発表してきました!

…バサイドの言語としてGoを活用しています。 自分はカミナシに入って約1年ほどになりますが、カミナシは創業して以来サーバーの言語はずっとGoを使って開発しています。 カミナシではちょうど自分が入ったタイミングで新規プロダクトの開発を開始していて、このプロダクト内でもGoが大活躍してます。 改めて成長する事業に寄り添い柔軟に形を変えられる、Goの魅力をひしひしと感じます。 発表の内ではそんな自分がGoとどう向き合い、課題を解決していったのかを話してきました。 スタートアップで自分…