エンジニア転職でのポートフォリオ・ネタに困ったら

カミナシの浦岡です。 みなさん、ポートフォリオの成果物や学習目的でプログラムを作る場合に 課題や題材を設定していますか? これの有無で、最初の一歩を踏み出す動機づけ、モチベーションの持続に影響します。 この記事では、以下のような人に向けてネタ…

【Expo SQLite + TypeORM】Jestでexpo-sqliteの接続テストが書けなかった話

こんにちは、株式会社カミナシのエンジニア @ImuKnskです。 はじめに みなさんのプロダクトでテスト書いてますか? 『カミナシ』はオフライン機能を提供しており、ローカルデータベースはSQLite(expo-sqlite)を利用しています。 オフライン機能って何?と…

RDBMSの先を行く?NewSQLを支えるアルゴリズムRaftをGoで紐解く

初めまして。株式会社カミナシPMの@gtongy1です。 みなさんはNewSQLをご存知ですか? 強い整合性を持つ分散型のSQLデータベースサービスのことをNewSQLと呼びます。 RDBMSではなし得なかった分散アーキテクチャを、またNoSQLではなし得なかった強い整合性を…

開発環境で送信したメールを確認するためにMailHogを導入しました(勝手に)

Go

こんにちは、カミナシの@tomiです。 開発環境で送信したメールを確認するためにMailHogを導入してみました。 MailHogとは送信したメールをブラウザで確認できるツールです。 導入のきっかけ 以前、Ruby on Railsで開発している際に、letter_openerという送信…

【Golang】で【Amazon API Gateway Lambda オーソライザー】と【FirebaseAuth】を利用しての認証をやってみた

初めに 初めまして。2021年3月より株式会社カミナシにジョインすることとなりました、エンジニアの@Takuと申します。 業務とは直接関係ないのですが、API Gateway Lambda オーソライザーとFirebaseAuthを組み合わせた認証をやってみたので記載させていただき…

NoSQLで悩ましいインデックスとアクセス権限管理を、Firestoreのサブコレクションで実装する

概要 FirestoreはNoSQLの中でもデータ構造に特徴があります。 本記事では私自身が実際に設計したデータ構造がサブコレクションでどう変わったかをみていくことで、サブコレクションでできることを書いていきたいと思います。 開発環境 Node (14.15.4) Fireba…

React Native Debuggerを使った、React Native+Expo開発の流れ

こんにちは、カミナシの@tomiです。 React Native + Expoで開発する上で、React Native Debuggerが自分にとって必須のものとなっています。 このツールを使って日々どういった感じで開発しているかをまとめました。 他にもReactotronやReact Native Toolsな…

UIが嘘をつく? UXデザインにおける「楽観的な更新」とSPAでの作り方

こんにちは、デザインエンジニアのショウです。 突然ですが、UI/UX デザインにおいて、「楽観的な更新」という言葉を聞いたことがありますか?あまり聞いたことがなくても、実は日常にたくさん存在しています。 例えば、 twitter や facebook のいいねボタン…

【Golang + Excelize】Excelファイルを操作してみよう

こんにちは、株式会社カミナシのエンジニア @ImuKnskです。 はじめに MicrosoftExcelファイル(以後、Excelという)は、切っても切れない関係ですよね。 OpenOffice、Google スプレッドシート、Numbers は、いずれもExcelとの互換性を保っています。 互換性…

ヌルヌル動くReactコンポーネントの作り方【入門】

こんにちは、カミナシの浦岡です。 最近、弊社のメンバーとしてUIデザイナーが新たに加わり、プロダクトのUI改善を進めています。 以前は、AntDesignなどUIライブラリーのコンポーネントをそのままプロダクトで使用する機会が多かったのですが、UI改善を行う…

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

はじめに 初めまして。株式会社カミナシPMの@gtongy1です。 負荷量の増加。どの企業にとっても悩みの種じゃないでしょうか? そんな時にこそ、負荷シナリオテストツールを導入したい!となると、負荷シナリオテストだとLocustとかが有名所。 ただPythonを知…

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

これはGo 4 Advent Calendar 2020 18日目の記事です こんにちは株式会社カミナシのエンジニアの浦岡です。 個人的に、Goが一番輝きを放つのはworkflowの自動化だと思っています。 k8sなど自動化分野でGoはなくてはならない存在ですよね! ただ、そのworkflow…

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

はじめに この記事はGo 4 Advent Calendar 2020 17日目の記事です。 こんにちは、株式会社カミナシのエンジニア @ImuKnskです。 早速ですが、S3にあるファイルをバイナリデータで取得してレスポンスに含めたいと思ったことはありませんか? 『カミナシ』では…

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

初めまして。株式会社カミナシPMの@gtongy1です。 Dockerというツール。SRE, Backend, Frontendどの領域のエンジニアも馴染みのあるツールではないでしょうか。 コンテナを利用することにより、インフラの環境を一つの空間に梱包し、その内部で柔軟に様々な…

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

Go

本記事は Go3 Advent Calendar 2020 15日目の記事になります。 こんにちは、株式会社カミナシのエンジニア @tomiです。 JavaScript, Node.jsをメインに扱ってきたエンジニアがGoに触れるときにどう解釈したかを、JavaScriptとGolangを比較しながら、理解を深…

GoでGraphQL Subscriptionsを実装する

はじめに この記事はGo3 Advent Calendar 2020の11日目の記事です。gqlgenを使ってGraphQL Subscriptionsを実装する方法とハマったポイントを紹介したいと思います。 利用技術 gqlgen GraphQL SchemaからGoのコードを出力するコードファーストなライブラリ R…

Gatsby・Wordpress・Netlifyで開発したときの躓きと解決方法

こんにちは、株式会社カミナシのエンジニア @tomiです。 前回、「サービスサイトをGatsby×Wordpress×NetlifyでJamstackなサイトにリニューアル」という記事を書き、たくさんの反響をいただきました。ありがとうございます。 kaminashi-developer.hatenablog.…

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

こんにちは、カミナシ・エンジニアの浦岡です。 iPhone12 Pro に搭載されているLiDARセンサーを活用したくARゲームの作成にチャレンジしようと思います。 今回、以下のような簡易的なゲームの作成を目標にします。 ゲームの流れ ①現実世界のスキャン ゲーム…

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

初めまして。株式会社カミナシPMの@gtongy1です。 みなさんは、インフラのコンテナ化はお済みでしょうか? 弊社は今年6月頃にサービスを正式にリリースしたのですが、それ以前はEC2 + ELBでインフラを構築しており、それまでになかなかコンテナ化をしたくて…

【React Native】表示速度が遅い問題のカイゼン

はじめに こんにちは、株式会社カミナシのエンジニア @MuiKnskです。 今回は「React Nativeの表示速度が遅い問題のカイゼン」について書きたいと思います。 『カミナシ』は新しい機能を最速でリリースして、ビジネスの速度を上げる期間がありました。 そのと…

React Native と Flutterを比較してみた

こんにちは。株式会社カミナシの keinuma です。 今回はReact NativeとFlutterの比較についてまとめてみました。 弊社ではモバイルアプリ開発にReact Native + Expoを利用しています。ExpoはCLIを筆頭に便利な機能が多く、開発フローの基盤になっています。 …

プログラミング言語「KAMINASHI」〜ノーコードで作る現場管理アプリ〜

こんにちは、株式会社カミナシのエンジニアの浦岡です。 この記事では、そもそもカミナシってどんな製品なのかのを紹介したいと思います。 我々が開発しているカミナシの製品コンセプトは「ノーコードで現場管理アプリを作る」です。 ノーコード(ビジュアル…

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

はじめまして、株式会社カミナシのエンジニア @tomiです。 カミナシは、2020年10月にサービスサイトをフルリニューアルしました。 kaminashi.jp 今回のサイトリニューアルでは、どのような構成で作ったのか、また技術選定で考慮した点をお伝えします。 Jamst…

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

はじめまして。株式会社カミナシでアプリケーションエンジニアをやってる keinuma です。 カミナシではAPIの開発にGo言語を使用しています。自分はGraphQLが好きなのですがこれまでGoのライブラリを利用してGraphQLランタイムを実装したことがありませんでし…

【React Native + Expo】オフライン対応について振り返ってみた

はじめに はじめまして、株式会社カミナシのエンジニア @MuiKnskです。 カミナシは3年目で最近はソフトウェアテスト、ソフトウェア品質に興味を持っています。 何故かと言うとバグはゼロに出来ないと思っていて、如何に減らしてサービスの品質を担保していく…

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

こんにちは。株式会社KAMINASHIでPMをやっている@gtongy1です。 みなさんはMetabaseをご存知ですか? 見た目の良さによる直感的なダッシュボードの構築、クエリ記述時の補完機能、グラフの種類数の豊富さ、ツール自体は無料で使える等便利なBIダッシュボード…

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

初めまして。株式会社KAMINASHIでPMをやっている@gtongy1です。 弊社ではサーバサイドの言語としてGoを活用しています。 自分はカミナシに入って約1年ほどになりますが、カミナシは創業して以来サーバーの言語はずっとGoを使って開発しています。 カミナシで…