サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
tech.smartcamp.co.jp
はじめまして、もしくはまたお会いしましたね。BALES CLOUD(以下BC)エンジニアのてぃがです。 BCでは、最近フロントエンドのテストを始めました。 また、個人としても社内でフロントエンドのテストの普及啓蒙活動をやっております。 今回はこれらについてお話ししたいと思います。 ※注意※ はじめに 補記 BCはフロントエンドのユニットテストをどう始めたのか 1. 各種決め事 2. 手段の決定・詳細化 3. やってみる とはいえ、各ステップをどう流したのか? そうしてどうなった? おわりに ※注意※ この記事で取り扱う「フロントエンドテスト」は主に「フロントエンドのユニットテスト」です。 ご了承ください。 はじめに これまで、BCにはフロントエンドのユニットテストがありませんでした。 とはいえ、かわりにE2Eテストがあり、また、プロダクトの意品質に大きな問題もありませんでした。 しかし、B
はじめに ドキュメントを残さないといけないことはなんとなくわかる。 なのでNotionなりkibelaなり社内で使うツールにちょこちょこドキュメントを残していたりもする。 だけどさ、残したドキュメント見られてます?使われてます? 本当に大事なことは自分が理解できるドキュメントではなく、読者が理解できるドキュメントを残すことなんじゃないか・・・!? ちなみにタイトルはbingが考えてくれました。 執筆のきっかけ 業務でAmazonPersonalizeを利用した機械学習、推論の作業を引き継ぐこととなった。 事前知識なんてない。全くない。 開発環境の閲覧権限のあるアカウントすら持ってなかった。 そんな中でデータPMの方が引き継ぎドキュメントを用意してくれた。 それをみてポチポチしていけば作業を完遂できた。しかも迷うことなく。 今まで自分が触れてきたドキュメントだと迷ったり、調べないといけなかっ
はじめに ざっくりしたシステム構成の紹介 全体の構造 設計のポイント コーディング規約 上の階層を見に行かない 変数名は全体でユニークにする 変数のデフォルト値は設定しない main, outputs, variables 以外のファイルを原則置かない ポリシードキュメントはJSONファイルのまま管理する 変数で処理を変える仕組みを極力使わない 値のハードコードをためらわない コードが冗長であることをためらわない 残っている課題 AWSアカウント単位でしか用意しないものの扱い ECSのタスク定義の扱い 最後に はじめに はじめまして。スマートキャンプのおにまるです。 2022年10月に入社し、SRE兼インフラエンジニアとして働いています。 今回は、あるプロダクトの再スタートにあたって新しく作った、AWSのTerraformについてお話したいと思います。 再スタートにあたってアプリケーション
こんにちは!スマートキャンプエンジニアの中田(のっち)です。 みなさんWebブラウザには何を使われてますか? Chrome, Firefox, SafariにEdgeなど多くの選択肢があるWebブラウザですが、私は2ヶ月ほど前に長らく使ってきたChromeから移行し、現在は Arc というbeta版が公開されている新しいWebブラウザを使ってみています。 この Arc がとても便利で楽しいものだったので、本記事ではそんな Arc の紹介 (※普及活動) をしていきます! Arcとは 概要 インストール方法 ※ 公式から情報を辿りたい方向けの補足 特徴 機能 1. タブ/ブックマークの管理 2. Note / Easel機能 3. Boosts機能 実装の方向性 WebのOS的な立ち位置のアプリ 推し機能 Note / Easelのキャプチャ機能 まとめ 参考サイト Arcとは 概要 Arc
vue3-migration-improve-frontend はじめまして! BALES CLOUDエンジニアのえーす(井上)です。この度、BALES CLOUDで長年使ってきたVue2から卒業し、Vue3を導入した状態でリリースできました。今日はこれについてお話できればと思います。 やったこと なぜVue3移行をしたか TypeScriptサポート 各ライブラリが古い Vue2のEOLが近い 具体的なVue3移行ステップ Vuetify卒業 Vue3導入 Vue3完全移行 移行にあたって問題だったこと ライブラリのアップグレード Vuetify卒業 ElementUI -> ElementPlus 巨大PRによるレビュー負荷 チーム体制 マイグレーションビルドと他ライブラリの相性 よかったこと 課題感 これから 2024/04/03 編集部追記 やったこと Vue2を卒業し、Vue3を
あいさつ こんにちは。スマートキャンプのデータアナリストのkumanomiです。 現在はBOXIL SaaSのデータ分析業務や社内のデータ民主化のため、小さいながらも日々改善を繰り返しています。 前職ではアプリエンジニアを経験した後にデータ周りを担当していました。 その際の職種はエンジニアでしたが、スマートキャンプではデータアナリストでの採用となりました。 スマートキャンプ内のデータアナリスト1人目です。 そのため業務内容は他社の同職の人がされている範囲とは違うかもしれません。 そんな僕がデータの役割について思うことを共有します。 データドリブン データ主導でビジネスの意思決定を行なうことをデータドリブンと言っていたりします。 例えば、うまい棒サラミ味が1本100円で売ってたら「高い」と思いますか?と質問されれば「高い」と答える人は大勢いるんじゃないかと思います。 なぜならうまい棒は1本1
挨拶 おすすめする人 dotfiles とは dotfiles を使ってみた感想 セットアップ方法 リポジトリ構成 自動セットアップ アプリケーションの管理 カスタマイズ デスクトップアプリケーション CLI アプリケーション Mac App Store のアプリケーション 完成系 プログラミング言語の管理 カスタム例 設定ファイルのシンボリックリンク作成 カスタム例 .gitignore および README.md .gitignore README.md さいごに 挨拶 こんにちは!スマートキャンプエンジニアの石井(トマス)です。現在、Boxil Event Cloudの開発に携わっています。 好きなことは「開発体験の向上」に取り組むことで、プロダクト参画時、開発環境をホストマシンに直接構築している状態で手順書もなく非効率だったのでDocker化し環境構築を簡略化しました。 今回は「開
スマートキャンプ、エンジニアリングマネージャーの入山です。 私は現在、弊社BOXIL SaaSの開発部長を務めており、タスクの管理や開発メンバーのマネジメントを中心に行っています。また、BOXIL EVENT CLOUD開発メンバーのマネジメントも兼務しており、弊社エンジニア組織の中でも直接業務で関わるメンバーの数が多い立ち位置となっています。 そんな私は、2つのプロダクトの開発メンバーだけでなく、上長やPM、他チーム開発メンバーなど、頻度はさまざまですが10名以上の方々と日々1on1をさせていただいています。 1on1は入社当時から今に至るまで役職や立場が変化しつつ色々なメンバーと実施していますが、最近では自分との1on1に対する満足度が高いという声をいただく機会が増えたように感じています。 今回は、私が1on1を実施する際に意識している内容について、紹介したいと思います! スマートキャ
はじめに リプレイスの背景 旧ETL基盤の構成 課題感 転送時間 コスト 汎用性 新ETL基盤 構成 Step Function AWS Glue Job AWS Lambda 成果 転送時間 コスト 汎用性 まとめ はじめに こんにちは!スマートキャンプエンジニアの中田です。 直近で、BOXIL SaaSのDBのデータをBig Queryへロードするために利用していたETL基盤をリプレイスし、運用コスト・転送時間を改善しました。 旧基盤 新基盤 運用コスト(料金) 約 $750/月 約 $70/月 転送時間 約 1時間 約 10分 本記事では、そのリプレイスの背景や内容についてお話できればと思います。 リプレイスの背景 旧ETL基盤の構成 弊社のデータ分析基盤はもともと以下の画像のような構成になっていました。 データ分析基盤の構成 今回リプレイスしたETL基盤は、画像真ん中あたりに位置す
挨拶 こんにちは。BALES CLOUDエンジニアの井上(エース)です。 BALES CLOUDは最近アナリティクス機能をリリースしました。この機能は、ユーザーのこれまでのコールやメールのデータをユーザーの好きな形で分析できるものです。 トップページの機能一覧の右上に表示されています。 この機能はSisenseの埋め込み機能を利用しています。SisenseはLookerやTableauのようなBIツールの一つですが、アプリケーションへ埋め込みが特に想定されているようで、非常に簡単にアナリティクス機能をBALES CLOUDに組み込むことができました。 話は変わるのですが、前回の私の記事ではLookerをスマートキャンプのデータ分析基盤のBIツールとして利用していることについての記事を書きました。ここで私はLookMLを使って開発をしていました。 どちらも第三世代BIツールとして知られている
あいさつ こんにちは!スマートキャンプ開発エンジニアのハヤシです。 私は入社エントリでも述べたとおり、コミュニケーションスキルの向上を目的にスマートキャンプに入りました。 約10ヶ月ほどBOXIL SaaSチームで働く中で、「入社当初と比べて結構変わったな〜」と思うことが増えてきました。 前回は技術的な記事を書いたのですが、今回は、思いっきりポエムに振り切って入社前と比べてどう変わったかを諸々振り返っていこうかなと思います!極めて個人的な話になってしまうのですが、よかったら見ていただけると嬉しいです!! あいさつ 自分自身について 入社半年ぐらいまで ぶち当たった壁 分からなくても相談・質問できない 想像以上にコミュニケーションが多く、疲弊する 人前で話すときに上手く話せない、言葉が詰まる なぜコミュニケーションが苦手なのか 苦手だと思っている理由 どう対応したか 思考・行動を変える 運動
こんにちは!! スマートキャンプでエンジニアをしている吉永(@__GGEasy)です! 自己紹介記事はこちら 前回の記事はこちら 私は現在、スマートキャンプの主力サービスであるBOXIL SaaSの開発にフロントエンド、バックエンド問わず携わっています。 今回は、弊社で新規サービスとしてリリースしたBOXIL SaaS質問箱(以下SaaS質問箱)にて、React.js(以下React)を私の主導で採用しました。 この記事では、フロントエンド整備に至った経緯や、今後のBOXIL SaaSにおけるフロントエンドの技術的な展望についてお話します。 BOXIL SaaSのフロントエンドで抱えていた課題感 さまざまな技術が同居している Vue + Atomic Designでの課題 構成変更の検討 どのようにフロントエンド構成を整備したのか SaaS質問箱のフロントエンド技術選定 React + T
こんにちは。 今年4月より22卒エンジニアとして、スマートキャンプに入社したピーターこと佐々木です。 本記事では、入社エントリと題しまして、スマートキャンプへの入社理由と、実際に入社してみてどうだったかについて書きたいと思います。 自己紹介 なぜエンジニアになったのか エンジニアに興味を持ったきっかけ 原点は AI創薬とGoogleForm ひたすらに興味の幅をひろげる やりたいことなんてなくていい 私が大事にしていること 密な連携と高い生産性 密さとは 連携とは 生産性とは 広い視野をもつ 経験からしか学べない性格 〜なんでも自分でやりたい症候群だった〜 エンジニアの枠を超える イノベーションを起こせる環境 ものを生み出すのが好き 私が今エンジニアである理由 なぜスマートキャンプに入ったのか? 出会ったきっかけ 決め手は求める環境が揃っていたこと 1. 個人を称賛する文化 密な連携と個人
スマートキャンプでエンジニアをやっております永井です。 若葉の緑が目にしみる季節となりましたが、皆さまいかがお過ごしでしょうか。 この度4/20にSaaS特化型Q&Aサイト「BOXIL SaaS質問箱」のβ版を公開しました。 prtimes.jp SaaSの選定をはじめ、そもそも何をすれば良いか分からずお困りの方はご質問の投稿お待ちしております。 いきなり宣伝からはじめてしまいましたが、今回はこのプロダクトの開発で色々試したことがあるので、それを「開発前編」と「開発中編」に分けてご紹介します。 私は今回のPJではPMと開発を半々でやっていました。ちなみにPMっぽいことははじめての経験です。 開発前編 初期 問題点 やったこと グロースサイクル図の作成 OOUI 開発編 朝会 タスク管理 見積もり ブランチ戦略 結果 振り返り 開発前編 初期 開発初期段階の状態はこのような状態でした。 開発
こんにちは!スマートキャンプ社でエンジニアとして働いている井上です。 この度開発改善でBALES CLOUDのバックエンド環境をRails 7・Ruby 3へのアップデートを1日でやりました!※リリースは調整などもあったので別日にやっています。 Rails・Rubyアップデートの具体的なコマンドなどはすでに書かれている記事などが多いので 今回は、1日でアップデートできた理由とどんな手順で進めたかなどを紹介できればと思います。 1日でアップデートできた理由 いきなり1日でアップデートできた理由を話をしますが、今回のアップグレード作業はマンパワーで一気にやったわけではなく1人でアップデート作業をしました。 これが可能だったのは自動テストの充実度と依存するgemが少なかったことによるところが大きいと思います。 自動テストの充実度 Rails・Rubyアップデートも機能のリリースと同様にRSpec
こんにちは!スマートキャンプエンジニアの井上(エース)です! 皆さんは自社プロダクトに対してどのようにデータ分析をされていますか? データ分析基盤は構築されているものの、少なからず課題を抱えている企業も多いかと思います。 今回は弊社のBOXIL SaaSに新しいデータ分析基盤を導入することになったので、その背景や導入にあたって課題だったこと、その対策などを書いていこうと思います。同じようにデータ分析基盤を導入しようとしている方の参考になれば幸いです。 元の基盤の課題 クエリの乱立とデータ定義のバラつき クエリ作成依頼についてのエンジニアの対応コストが高い データ分析ツールの統一 パフォーマンス 新しいデータ分析(BI)ツールに求められたもの Lookerの選定理由 LookMLによる統一的な管理 ドキュメントの充実度 プルリクベースでの開発 実際のアーキテクチャの紹介 導入にあたって課題だ
スマートキャンプ、エンジニアの入山です。 私は現在、弊社BOXIL SaaSの開発部長を務めており、開発タスクの管理やチー厶・メンバーのマネジメントを中心に行っています。 また、インフラエンジニアとして各プロダクトのインフラ構築に携わっており、社内で一番インフラを知ってる人という立ち位置も担っています。 そんな私ですが、今年の1月に子供が産まれ、40日間(約1ヶ月半)の育休を取得しました。弊社男性エンジニアとしては、3人目の育休取得となります。 今回は、私が取得した育休についてのお話をご紹介します! また、エンジニア1人目の育休取得者である執行役員の過去記事も良ければご覧ください! tech.smartcamp.co.jp 育休について 育休取得に至った理由 弊社エンジニア組織の育休事情 育休取得期間 育休前の業務内容 育休への準備 業務関連 育児関連 育休中を振り返って 業務関連 育児関
こんにちは!スマートキャンプエンジニアの中田です。 普段業務ではBOXIL SaaSの開発に従事しています。 突然ですが皆さんはスキーマ駆動に開発されてますか? 直近、BOXIL SaaSにOpenAPIを導入しスキーマ駆動開発を始めたので、今回はその紹介記事です。 導入の経緯や利用方法、メリット等についてご紹介していくので、導入や改善の参考にしていただけると幸いです! OpenAPI Specificationとは 導入の経緯 外部に公開するAPIを作ることになった とても便利なことに気づいた 内部利用のAPIの開発にも利用したくなった BOXIL SaaSでの利用方法 導入ツール OAS SwaggerUI Committee OpenAPIGenerator 導入時に意識したこと 導入で感じたメリット まとめ あとがき OpenAPI Specificationとは OpenAPI
初めに こんにちは、スマートキャンプ エンジニアの林です。 前回は私の自己紹介記事でしたが、今回は技術的な話をしたいと思います。 現在、Webフロントエンドを書くならNuxt.jsかNext.jsが選択される事が多いですが、皆さんはどちらがお好きですか? 私はVue.jsを使用したフロントエンド開発の経験が長いので、Nuxt.jsに親和性が高く、Next.js(React.js)の時代とされる今でも積極的にVue.jsを追いかけています。 そこで今回は旬なフレームワークであるNuxt3について書いていこうと思います。 TL;DR Nuxt3のNitroによってどれくらい早くなったか検証をしてみた。 サーバー側からのAPIへのレスポンス速度がNuxt2に比べて良くなったことが観測できた。 クライアント側からのAPIへのレスポンス速度の上昇は観測できなかった。 Nuxt3とは 今年の12月にN
こんにちは!スマートキャンプ社でWebエンジニアとして働いている中川(@let_mkt)です。 みなさんは普段ペアプロやっていますか? 今回の記事では弊社のエンジニア組織で定期的に開催している「ペアプロ会」について紹介します! 昨年の夏からこれまでに5回ほど開催してきたペアプロ会の開催までの経緯や概要、メリット、課題などについてが主な内容になります。 リモートワーク下でエンジニア間のコミュニケーションに課題感を感じている方には一例としてご参考になれば幸いです。 そもそもペアプロってなに?という方へ t_wadaさんによる素晴らしいスライドがあるので、ぜひそちらをご参照ください ペアプログラミングの5W1HとFAQ / 5W1H and FAQ of Pair Programming - Speaker Deck ペアプロ会とはなにか ペアプロ会とは、文字通り「ペアプロをする会」なのですが、
こんにちは!スマートキャンプでインサイドセールスに特化したSaaSであるBALES CLOUDを開発しているエンジニアの井上です。 皆さんは、開発・調査などでChrome DevToolsはよく使われているかと思います。 私達の開発するプロダクトでメモリリーク問題が起きたことがあり、 その際に調査方法で知っていれば助けになった内容をまとめていければと思っています。 JavaScriptのメモリ管理とは? GC(ガベージコレクション)とは? メモリリーク問題とGCで開放されないメモリ よく言われるメモリリークの種類 計測に使用したToolについて タスクマネージャー Chrome DevTools Memory Heap snapshot Allocation sampling Allocation instrumentation timeline Allocation instrument
こんにちは!!!スマートキャンプでエンジニアをしている吉永です! 自己紹介記事はこちら 前回の記事はこちら 私は現在、スマートキャンプの主力サービスであるBOXIL SaaS(以下、BOXIL)の開発にフロントエンド、バックエンド問わず携わっています。 恐らく新年一発目になる弊社テックブログの記事は私の記事ということで、今年もよろしくお願いいたします。 はじめに なぜパフォーマンス改善を行ったのか Core Web Vitals(以下: CWV), Lighthouseとは? CWVとは Lighthouseとは CWV & Lighthouseの改善結果 サービスページ(改善前) サービスページ(改善後) レビューページ(改善前) レビューページ(改善後) 改善をするにあたってチームで行ったこと コミュニケーション的なお話 タスクの洗い出し、調査方法 優先順位付け DatadogやSea
BOXILでエンジニアをやっている永井です。前回は入社エントリを書きましたが今回は技術的な記事を書こうと思います。 今回はCloudflareにおける画像の最適化処理のコストカットをした話をします。ざっくりいうとCloudflare内のKVという機能を使い、最適化をした画像をキャッシュしました。似たような問題で悩んでいる方は参考にしてもらえると嬉しいです。 TL;DR Cloudflareで画像のリサイズ(形式変更)を行っていた リサイズ後の画像はデフォルトではキャッシュされず、都度リサイズの処理が実行されていた Cloudflare内のWorker KV機能を使いキャッシュの実装をしたところ、コストがおよそ97%削減できた TL;DR 前提 問題 対策 Workers KVとは 注意事項とか サンプル 事前準備 KVのnamespace作成 KVをworkerに登録 流れ Keyについて
こんにちは!!!スマートキャンプでエンジニアをしている吉永です! 自己紹介記事はこちら 前回の記事はこちら 私は現在、スマートキャンプの主力サービスであるBOXILの開発にフロントエンド、バックエンド問わず携わっています。 初めに Supabaseとは PostgreSQLベースのデータベース 認証 ファイルストレージ APIの自動生成 料金プラン 他サービスとの料金比較 データベースに対する操作数 データベースの性能 認証 試してみる 環境構築 認証 データベースの作成、supabaseAPIの使い方 データベースの作成方法 データの取得方法 データの作成方法 リアルタイムデータベース TypeScriptの型サポート 良かった点・不満点 良かった点 不満点 まとめ 初めに 皆さんはFirebaseというBaaS(Backend as a Service)を利用したことがありますか? G
こんにちは。スマートキャンプでエンジニアをしている井上です。社内ではエースと呼ばれていますが、特にエースらしいことをしたわけではないです。 さて、突然ですが皆さんは資格取得に興味はおありでしょうか。周りに認められたい、資格取得奨励金が欲しい、会社での評価を上げたい、就職や転職に有利になるように、などの理由で資格取得に挑戦された方も多いと思います。しかし最初は資格勉強を始めたものの、なかなかうまくいかないというときもあるのではないでしょうか。 私の前職はSIerでしたが、そこで私はさまざまな資格を取得しました。難しいものから簡単なものまで色々あり、今は合計で9つほど保有しています。 基本情報技術者 応用情報技術者 AWS Certified Solutions Architect - Professional AWS Certified SysOps Administrator - Asso
スマートキャンプ、エンジニアの入山です。 皆さんが運営されているWebサイトには、画像が何枚使われていますか? また、その画像たちは最適化(表示領域に対して画像のサイズや画質が適切に設定)されていますか? Webページの評価基準としてCore Web Vitals(CWV)が重要視されている昨今においては、表示速度(Performance)と向き合う機会が増え、配信する画像のサイズや画質にも気を配る必要が出てきました。 しかし、Webサイト上に数多く存在する画像を自前で最適な状態に管理して配信するのは簡単ではないため、対応できていないケースも多いのではないでしょうか。 弊社も画像の最適化には長らく対応できていない状況でしたが、CDNの機能を活用することで比較的簡単に改善できました。 本記事では、CDN(Cloudflare)での画像最適化(Image Resizing)について、紹介したい
こんにちは。スマートキャンプ エンジニアの中田です。 皆さんはGoのORMには何を使われていますか? 有名どころだと機能の豊富なGORMや取得データのマッピング部分だけを担うシンプルなsqlx、 最近だとテーブル定義からモデルコードの自動生成してくれるSQLBoilerなど、Goには多くのORMがあります。 筆者のORM遍歴は以下のようになってます。 Active Record(Ruby on Rails): 2年ほど GORM(Go): 半年ほど 弊社のプロダクトのバックエンドはRuby on Railsで作られているものがほとんどです。 Ruby on Railsを利用しての開発経験が私のキャリアの大半を占めていることもあり、個人的にActiveRecordのような機能の網羅率の高いORMには安心感を覚えます。 半年前から新規で開発を始めたプロダクトにて、新たにGoを利用し始めました。
こんにちは!スマートキャンプ ソフトウェアエンジニアの中川です。 リモートワーク全盛の昨今ですが、みなさんはチームのコミュニケーションをどうされていますか? 弊社のBOXIL開発チームはこのたびメインのコミュニケーションツールをDiscordからGatherに移しましたので、今回の記事ではそのなかで得られた知見やコツなどをご紹介できればと思います! 前提・リモートワークにおけるコミュニケーションの二大方針について Discordによる同期的なコミュニケーションで起きた課題 Gatherとは Gatherによって起きたポジティブな効果 カジュアルな雑談の創出 ほどよいプライベート空間の確保 オフィスの視覚的な再現 全体 執務室エリア キャンプスペース(広間的なエリアやなんとなく集まる場) 会議室エリア 1on1エリア Gatherに足りてないこと・期待したいこと 提供されていない機能は補完で
ご挨拶 2021年9月にスマートキャンプ株式会社に入社しました林です! そろそろ入社して1ヶ月が経つので、入社した経緯や入社してみて感じたことを、熱のこもった自己紹介と共に振り返っていこうと思います。 ご挨拶 これまでの経歴 学生時代から就職まで 就職からスマートキャンプへの転職まで なぜスマートキャンプを選んだか コミュニケーション能力を鍛えられそう チーム開発を通して切磋琢磨できる環境がありそう リファラルについて 入社してみて コミュニケーションはやっぱり多い 前職との違い 技術 仕事の進め方 入社後にしてたこと 抱負 まとめ これまでの経歴 初カキコ…ども… って感じで半生を振り返りながら、自由に経歴を記してみようと思います。 要約としては以下のような経歴でこれまで歩んできております。 大学を卒業 → 中小インフラSIer(2年) → 受託開発会社(10ヶ月) → 建設系スタートア
次のページ
このページを最初にブックマークしてみませんか?
『SMARTCAMP Engineer Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く