タグ

ブックマーク / tech.smartcamp.co.jp (30)

  • 後で楽できるTerraformの書き方(※ただし書くときは辛い) - SMARTCAMP Engineer Blog

    はじめに ざっくりしたシステム構成の紹介 全体の構造 設計のポイント コーディング規約 上の階層を見に行かない 変数名は全体でユニークにする 変数のデフォルト値は設定しない main, outputs, variables 以外のファイルを原則置かない ポリシードキュメントはJSONファイルのまま管理する 変数で処理を変える仕組みを極力使わない 値のハードコードをためらわない コードが冗長であることをためらわない 残っている課題 AWSアカウント単位でしか用意しないものの扱い ECSのタスク定義の扱い 最後に はじめに はじめまして。スマートキャンプのおにまるです。 2022年10月に入社し、SRE兼インフラエンジニアとして働いています。 今回は、あるプロダクトの再スタートにあたって新しく作った、AWSTerraformについてお話したいと思います。 再スタートにあたってアプリケーション

    後で楽できるTerraformの書き方(※ただし書くときは辛い) - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2023/04/16
  • Cloudflareの画像最適化料金をWorker KVで97%削減した話 - SMARTCAMP Engineer Blog

    BOXILでエンジニアをやっている永井です。前回は入社エントリを書きましたが今回は技術的な記事を書こうと思います。 今回はCloudflareにおける画像の最適化処理のコストカットをした話をします。ざっくりいうとCloudflare内のKVという機能を使い、最適化をした画像をキャッシュしました。似たような問題で悩んでいる方は参考にしてもらえると嬉しいです。 TL;DR Cloudflareで画像のリサイズ(形式変更)を行っていた リサイズ後の画像はデフォルトではキャッシュされず、都度リサイズの処理が実行されていた Cloudflare内のWorker KV機能を使いキャッシュの実装をしたところ、コストがおよそ97%削減できた TL;DR 前提 問題 対策 Workers KVとは 注意事項とか サンプル 事前準備 KVのnamespace作成 KVをworkerに登録 流れ Keyについて

    Cloudflareの画像最適化料金をWorker KVで97%削減した話 - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2021/12/24
  • ZoomやDiscordではなくGatherをリモートワークのコミュニケーションツールに選んだ理由 - SMARTCAMP Engineer Blog

    こんにちは!スマートキャンプ ソフトウェアエンジニアの中川です。 リモートワーク全盛の昨今ですが、みなさんはチームのコミュニケーションをどうされていますか? 弊社のBOXIL開発チームはこのたびメインのコミュニケーションツールをDiscordからGatherに移しましたので、今回の記事ではそのなかで得られた知見やコツなどをご紹介できればと思います! 前提・リモートワークにおけるコミュニケーションの二大方針について Discordによる同期的なコミュニケーションで起きた課題 Gatherとは Gatherによって起きたポジティブな効果 カジュアルな雑談の創出 ほどよいプライベート空間の確保 オフィスの視覚的な再現 全体 執務室エリア キャンプスペース(広間的なエリアやなんとなく集まる場) 会議室エリア 1on1エリア Gatherに足りてないこと・期待したいこと 提供されていない機能は補完で

    ZoomやDiscordではなくGatherをリモートワークのコミュニケーションツールに選んだ理由 - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2021/10/08
  • 19歳で転職した私が気づいた、すれ違わないチーム開発をするために必要なこと - SMARTCAMP Engineer Blog

    こんにちは!!!スマートキャンプ、エンジニアの吉永です。 私は8月にスマートキャンプに中途入社し、今月で3ヶ月目となります。 前職では受託開発を主にした小さな企業に未経験で入社し、そこで一年間フロントエンド、バックエンド問わず開発したり、テックリードのような業務も行ったりしていました。 小さな会社なので部署というような区切りはほぼ無く、社長含め全てのメンバーがエンジニアといったようなエンジニア集団の環境で、日々開発タスクをこなしていました。 しかしある時期をきっかけに、外部の方と協力する機会が増え、エンジニアだけがいる環境から様々な人間が関わる環境へと変わっていき、とあるプロジェクトを進めている最中、私達エンジニアサイドと、企画サイド、デザイナーサイドでうまく噛み合わず、スケジュールが大幅に遅れてしまいました。 そして、このことをきっかけに私自身がエンジニア以外の人間に対して苦手意識を持っ

    19歳で転職した私が気づいた、すれ違わないチーム開発をするために必要なこと - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2020/11/12
  • メンタルが弱いエンジニアが安心して開発するために気をつけていること - SMARTCAMP Engineer Blog

    スマートキャンプで業務委託でエンジニアをしている佐藤です。BOXILの開発を1年3ヶ月前から、沖縄からフルリモートでやっています。 皆さんは、毎日楽しくお仕事できていますか? エンジニアという職業は労働時間やストレスが多く、IT業界は他の業界と比べて精神疾患にかかりやすいと言われています。 私はもともと自己否定ばかりしてしまう思考の癖があることに加えて、7年前に起業に失敗してメンタルを壊してしまったことをいまだに引きずっていて、日々悩みながら生活をしています。 スマートキャンプは、過労とは無縁で、メンバー間のサポートもよく、これ以上ないくらい私に合った職場です。それでも自分の心の問題で不安になったり、絶望感に襲われたりすることがあります。今回はそうなるたびに書き綴ったメモを、開発中にネガティブな気持ちにならないための技術としてまとめようと思います。 メンタルが強くないエンジニアはこんな気持

    メンタルが弱いエンジニアが安心して開発するために気をつけていること - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2020/10/15
  • Docker ComposeのAmazon ECSデプロイを試してみた - SMARTCAMP Engineer Blog

    スマートキャンプ、エンジニアの入山です。 2020年7月にDockerAWSのコラボレーションにより、単一コマンドでDocker ComposeのyamlファイルからAmazon ECS上に各コンテナをデプロイできる機能追加が発表され、非常に注目を集めました! From Docker Straight to AWS - Docker Blog AWS and Docker collaborate to simplify the developer experience | Containers ローカルでDockerを利用して開発を行っている方々は、ほぼ間違いなくDocker Composeを利用してアプリの動作に必要な各コンテナを一括管理しているかと思いますが、このECS Pluginを利用するとAmazon ECSへの各コンテナのデプロイとECSの動作に必要な各AWSリソースを一括し

    Docker ComposeのAmazon ECSデプロイを試してみた - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2020/10/09
  • Let'sリファクタリング!! 〜ボクシル開発チームでやってきたこと〜 - SMARTCAMP Engineer Blog

    こんにちは!フリーランスエンジニアの曽根田です。 日は「Let'sリファクタリング!!」ということで、以下の内容でお届けさせていただきます。 はじめに ボクシル開発チームで取り組んできたこと リファクタリングに取り組むにあたっての背景 リファクタリングコードのサンプル Let's リファクタリング DB への問い合わせの削減(N+1 対策) 対策 1: categories と category_setting_items を予め読み込んでおき、キャッシュさせておく 対策 2: product_category_settings を予め読み込んでおき、キャッシュさせておく/ view での SQL の発行を止める 改善結果 view のコンポーネント化 未使用の関数の削除 外部キー制約をつける NOT NULL 制約をつける test コードを書く まとめ はじめに スマートキャンプさん

    Let'sリファクタリング!! 〜ボクシル開発チームでやってきたこと〜 - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2020/09/25
  • エンジニアとしてインターンするなかで気がついた質問の仕方 - SMARTCAMP Engineer Blog

    こんにちは!スマートキャンプに21卒入社予定の関口大地です。 私は現在大学に通っている4年生で、法律学を専攻しています。大学では法律学を専攻していますが、在学中に趣味ではじめたプログラミングの楽しさにハマり、Webエンジニアを目指し就活をしていました。 今年の1月にスマートキャンプから内定をいただき、 今年の4月からBOXIL開発チームで内定者としてインターンをしています。 今回のブログでは、内定者インターンとして業務をする中で気がついたことを、紹介していこうと思います。 なぜ内定者インターンをするのか? 内定者インターンを始めてからの気づき 質問できない背景を考えてみた 実際に試してみたこと この経験から学んだこと なぜ内定者インターンをするのか? 私は今年の4月から内定者としてインターンをしています。 私はこの内定者インターンを始めるまで、開発の業務経験はありませんでした。 このインタ

    エンジニアとしてインターンするなかで気がついた質問の仕方 - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2020/08/13
  • スマートキャンプでの在宅勤務環境下のエンジニア間コミュニケーション施策の紹介 - SMARTCAMP Engineer Blog

    こんにちは、 https://boxil.jp を作っている徳田です。 今回は技術共有ミーティングであるSMARTCAMP Tech Talk、通称「STT」と、Stay Home環境下でのコミュニケーション施策について紹介します。 SMARTCAMP Tech Talkについて はじまった経緯 準備するKibelaのイメージ 数回開催した結果 他: 在宅勤務でのコミュニケーション施策について プロダクト部 夜会 メンバ間1on1 SMARTCAMP Tech Talkについて 2週間〜1ヶ月ぐらいの頻度で開催される、エンジニア達がそれぞれ興味のある技術ネタを持ち寄って紹介するミーティングです。 用意されたKibelaにそれぞれが事前に紹介したい内容を書いておき、それをもとにワイワイ話します。 持ち時間は一人5分程度、ラフなLT大会のようなノリで実施しています。 はじまった経緯 スマート

    スマートキャンプでの在宅勤務環境下のエンジニア間コミュニケーション施策の紹介 - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2020/07/31
  • セールスチームにKPTを導入してみた - SMARTCAMP Engineer Blog

    スマートキャンプ、プロダクトマネージャーの郷田です。 弊社スマートキャンプのセールスチームに、開発チームで行っているKPTによる振り返りを導入してみました。 この記事では実際にKPTを導入するまでの背景と流れ、また実施してみたセールスチームからの感想を紹介いたします。 きっかけ 何ができるか考える やってみた 心理的安全性の説明 リーンコーヒー KPT セールスチームによるKPTの感想 セールスチームに導入してみて まとめ きっかけ ある日に1日かけて、ボードメンバーとセールスチームのマネージャー数名と共に、BALES(自社サービス)の現在のアウトカムの設定・ターゲットの詳細化・仮説の設定などを行うMTGでファシリテーターをさせていただく機会がありました。 ディスカッションの準備から関わらせてもらったため、参加されてた方からは「フレームワークを使いふわっとしたことを整理するのが得意な人」と

    セールスチームにKPTを導入してみた - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2020/07/25
  • 技術顧問のヨシオリさんと歩んできた半年間について話しました - SMARTCAMP Engineer Blog

    こんにちは。プロダクト部で部長(開発に関わる部署のマネージャー的な役割)をしている米元です。 弊社では昨年から技術顧問としてヨシオリさんに参画して頂いております。 今回はヨシオリさんにこれまでどんな形で関わって頂いたのか、スマートキャンプがどのように見えるのかを話して頂きました。 ​ 最初に自己紹介をお願いします! 技術顧問を始められた背景を教えてください 試行回数を増やしたい 視野を広げたい 技術顧問として開発チームとどんな関わり方をしていただいていますか? スマートキャンプ開発チームの印象はいかがでしょうか? 全体的な印象 良いところ 改善点/足りない点 スマートキャンプで活躍できそうなはどんな人でしょうか 開発チームへの今後の期待をお願いします! まとめ 最初に自己紹介をお願いします! 庄司嘉織といいます。 インターネット上でも twitter.com/yoshiori とか y

    技術顧問のヨシオリさんと歩んできた半年間について話しました - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2020/07/09
  • SendGridでメールを配信するまでに知っておきたいことをまとめてみた - SMARTCAMP Engineer Blog

    こんにちは、スマートキャンプでBiscuetを開発している井上です。 今回はSendGridでメール配信をするときにやったこと、知っておきたいことなどをまとめてみました! SendGridとは? SendGridでメールを配信する理由 メールに必要な機能が充実している 送信実績 日語ドキュメントの充実感 料金プランについて検討する 共有IPと固定IPの違い 共有IPの場合 固定IPの場合 共有IPと固定IPでの作業の違い IPを育てる なぜ, IPを育てる必要があるのか? レピュテーションとは? IPウォームアップ とは? IPウォームアップのやり方 レピュテーションを維持するための宛先のクリーニング 宛先のクリーニングとは? 宛先のクリーニング対応方法 SendGrid側でやってくれる対応 オプトアウトの対応をする オプトアウトとは? SendGridのオプトアウト機能 メールイベント

    SendGridでメールを配信するまでに知っておきたいことをまとめてみた - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2020/06/26
  • フロントエンドの爆速な開発サーバを実現する Vite を試してみた - SMARTCAMP Engineer Blog

    こんにちは!スマートキャンプでエンジニアをしている中川です。 先日Twitterを何気なく眺めていたところ、Vue.js 生みの親の Evan You氏が何やら興味深いツイートをしているのが目に止まりました。 As I was going to bed, I had an idea about a no-bundler dev setup (using native browser ES imports), but with support for Vue SFCs **with hot reload**. Now it's almost 6AM and I have PoC working. The hot reload is so fast it's near instant.— Evan You (@youyuxi) 2020年4月20日 ...なるほど。これまでReactVue

    フロントエンドの爆速な開発サーバを実現する Vite を試してみた - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2020/06/18
  • リモートワークによる開発チームの課題をFigmaで改善した話 - SMARTCAMP Engineer Blog

    スマートキャンプのデザイナー/エンジニアのhaguriです。 弊社では3月からリモートワークに移行しています。 スマートキャンプでは開発チームが、「BOXILチーム」と「Biscuetチーム」の2つあります。 以前の記事では、リモートワーク中の開発チームの様子や、行っているコミュニケーションの工夫などを紹介しました。 tech.smartcamp.co.jp 今回は、2ヶ月弱リモートワークをすることで見えてきた「Biscuetチーム」内の課題と解決に向けて試した方法について紹介します。 発生した課題「認識のズレ」 改善1:共通で呼べる名前をつける 改善2:必須確認事項をいつでも見れるようにする 改善3:アイテムごとにUIを作成して、UIを軸に話し合う 改善4:KPTを付箋のようにやる 「認識のズレ」をビジュアルコミュニケーションで改善 発生した課題「認識のズレ」 通常では、あるトピックにつ

    リモートワークによる開発チームの課題をFigmaで改善した話 - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2020/04/25
  • 在宅勤務中の開発チームの様子を紹介するよ! - SMARTCAMP Engineer Blog

    こんにちは、BOXIL開発チームの徳田です。 ついに(?)緊急事態宣言が発令され、社会全体がバタバタしていますが皆さん元気にやっていますでしょうか。 スマートキャンプでは3月2日から新型コロナウイルスの感染防止対策として在宅勤務が行えるようになり、現在では原則出社禁止となっています。 これまでほとんどの業務時間を対面で過ごしていましたが、全員が在宅で仕事をするようになったので、今回はその様子をお伝えしようと思います! これまでの開発体制 BOXIL開発チームの様子 基地Zoom部屋 ペアプロ・モブプロ 週次振り返り (Retrospective) 週次成果発表 (Sprint Review) テキストコミュニケーション Biscuet開発チームの様子 サブZoom部屋 週次振り返り (Retrospective) おまけ: 全社的な動き これまでの開発体制 スマートキャンプは開発チームが2

    在宅勤務中の開発チームの様子を紹介するよ! - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2020/04/10
  • Vueユーザーが感じたSvelteのおもしろい機能を紹介する - SMARTCAMP Engineer Blog

    スマートキャンプでエンジニアをしている瀧川です! 2月に育休を取得し、3月に復帰したと思ったらコロナでリモートワーク、そしてチーム異動となかなか落ち着かない今日このごろ。 みなさんいかがお過ごしでしょうか? 今回家にいる時間が多くなり、せっかくだから新しいことしたいよなーということで、以前から気になっていた Svelteを触ることにしました! Svelteの紹介記事では、「Vue.jsと構文が似ているため習熟が簡単」「Vue.jsの50倍早い」みたいなところにフォーカスされることが多いかなと思いますが、記事ではSvelteのTutorialをやるなかで、フレームワーク(ライブラリ)の機能として普段Vue.jsを利用している私がおもしろいなーと思ったものをご紹介したいと思います。 Svelteとは 基文法 特徴的な機能 propsやclassの省略記法 Await Block React

    Vueユーザーが感じたSvelteのおもしろい機能を紹介する - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2020/04/03
  • Kubernetesを1年間運用してわかった3つのこと - SMARTCAMP Engineer Blog

    スマートキャンプ、エンジニアの入山です。 弊社で技術的挑戦の意味も込めて始めたKubernetes(k8s)も、小規模ながら運用を開始して1年以上が経ちました! 現在では、k8sでのインフラを採用したプロダクトが無事に番リリースを迎え、ユーザーが番稼働を行うまでになっており、躓きながらも少しずつ運用知見が溜まってきています。 今回は、k8sを実際に運用してわかった3つの知見を紹介したいと思います! PodのNode配置が偏る 解決策 ローリングアップデート時にダウンタイムが発生する 解決策 Pod削除時にコンテナによってプロセスが終了するタイミングが異なる 解決策 最後に PodのNode配置が偏る k8sではPodを新規作成する場合に、kube-schedulerが各ノードのリソース使用状況等から判断した最適なNodeへスケジューリング(配置)を行います。 しかし、このスケジューリン

    Kubernetesを1年間運用してわかった3つのこと - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2020/02/28
  • エンジニアチームで行っているオンボーディングを紹介するよ - SMARTCAMP Engineer Blog

    こんにちは、スマートキャンプでエンジニアをやっている徳田(@haze_it_ac)です。社内ではとってぃと呼ばれています。 今回は弊社のエンジニアチームで行っているオンボーディングの取り組みについてご紹介します。 オンボーディングとは? オンボーディングで行うこと 仕事に必要な知識を手に入れる チームに馴染んでもらう、仕事に慣れてもらう スマートキャンプのエンジニアチームで行っているオンボーディング 選考前後、選考中 内定承諾後 入社〜1ヶ月 二ヶ月目以降〜 その他 PDCAを回す 最後に オンボーディングとは? On-boardingとは、新しくチームに加わったメンバーをはやく馴染んでもらい、戦力になってもらうための取り組みを言います。直訳で 新入研修 です。 人事・総務で実施される全社的なものと、配属されるチームで具体的な業務に当たるためのものに大きく分かれますが、今回は後者をメインに

    エンジニアチームで行っているオンボーディングを紹介するよ - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2019/12/06
  • AWS IoTとLambdaとDynamoDBでオフィス環境を可視化してみた - SMARTCAMP Engineer Blog

    スマートキャンプエンジニアの今川(@ug23_)です。 10月中旬に、スマートキャンプのエンジニアチームで開発合宿にいってきました。合宿のテーマは、スマートキャンプのミッションテクノロジーで社会の非効率を無くすになぞらえて、テクノロジーでSMARTCAMPの非効率を無くすでした。合宿を楽しんでいるメンバーの様子は来週のブログでお届けする予定なので、このエントリでは作ったものについて触れます。 解決する課題 できたもの - bony システム構成 オフィスのヒートマップ AWS IoT Coreを使ってみて ふりかえり さいごに 解決する課題 合宿のチーム分けが決まり、合宿のためのプロダクトを検討し始めた頃、我々はちょうどオフィス移転から2ヶ月後ぐらいの真夏の時期でした。チームで社内の課題を出し合ったところ、オフィス移転してから風邪引いてるひと増えたかも、空調が効き過ぎていて寒いって言ってる

    AWS IoTとLambdaとDynamoDBでオフィス環境を可視化してみた - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2019/11/16
  • 開発チームで実運用しているスクラムを画像いっぱいでまとめてみた - SMARTCAMP Engineer Blog

    スマートキャンプの郷田です。 私はBiscuet(ビスケット)という新規SaaSのプロダクトマネージャーをしております。 Biscuetでは開発プロセスに課題を感じていたため、外部からアジャイルコーチの天野さんをアドバイザーとして召喚し、スクラムの導入を進めています。 そこで今回は、Biscuetチームで先月から導入を進めているスクラムの現状を、たくさんの画像を用いてまとめてみたいと思います! スクラムの役割 開発チーム プロダクトオーナーチーム スクラムマスター スクラム全体像 スクラムのセレモニー PBL(Product Backlog) SBL(Sprint Backlog) 朝会(Daily Scrum) モブプロスペース KPT(Sprint Retrospective) その他 最後に スクラムの役割 開発チーム 開発チームはエンジニアの3人が中心となって開発を進めています。

    開発チームで実運用しているスクラムを画像いっぱいでまとめてみた - SMARTCAMP Engineer Blog
    peketamin
    peketamin 2019/10/24