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

  • 新卒Webエンジニアだった頃の自分に教えたいちょっとしたタスクからでも経験値を積んでいく考え方 - SMARTCAMP Engineer Blog

    最近髪型を変えました。スマートキャンプの今川(@ug23_)です。 4月です。新卒の時期ですね。やがて令和の新卒と呼ばれる時期がくるでしょう。 自然と自分が新卒の頃に想いを馳せてしまいますね。 新卒の頃って雑用みたいな結構技術的には軽いタスクを振られて俺ももっと技術的に難しい開発アイテムやりたい!!!とか、面白くない、もっとコード書きたいという想いを持つ人もいるかもしれません。 でも、楽しい開発ばかりではないんですね。例えば サービス名変えるからこっからここまで直しといて! 的な、文言変更のような見方によっては雑用かもしれないと思うようなタスクをやることになったりします。 ※ 会社によっては、エンジニアに依頼しなくても直したい人が自分でプルリクエストを送って反映できるというところもあるようですね。すごい。 engineer.crowdworks.jp でも「文字列変えるだけじゃん??」と思

    新卒Webエンジニアだった頃の自分に教えたいちょっとしたタスクからでも経験値を積んでいく考え方 - SMARTCAMP Engineer Blog
    als_uz
    als_uz 2019/04/05
    新卒のころを思い出しながらかきました!
  • コピペでできるGoでgRPCサーバ立ててRailsからアクセスする方法 - SMARTCAMP Engineer Blog

    最近社内でElixirをひっそり布教しようとしている、瀧川です。 弊社の一部プロダクトでは、gRPCGolangアプリケーションを呼び出す構成をとっています。 それを説明するためにハンズオンをしたので、その一連の流れをこちらにもつらつら書いていきます! 内容は、以下の画像みたいなのを作っていこうと思います。 必要なコードは記事中に載せるのでコピペで動くはずなので、ぜひ実際にやってみてください! そもそもgRPCって? 実践 事前にインストールしてください リポジトリを作成しましょう さっそくProtocol Buffersで通信を定義しましょう GolanggRPCサーバ作りましょう 定義からGolangのソースコードを生成 生成したGolangのインタフェースを実装したサーバを作成 動作確認 Railsを実装しましょう gRPC定義からRubyのソースコードを生成 呼び出すコードをC

    コピペでできるGoでgRPCサーバ立ててRailsからアクセスする方法 - SMARTCAMP Engineer Blog
    als_uz
    als_uz 2019/03/28
    なんか後ろでやってた!
  • TerraformをMFA & Assume Roleな環境でも実行 - aws-vaultでやってみた - SMARTCAMP Engineer Blog

    Terraform 0.12がbetaになりワクワクしていたら、それより前にTerraformAWS Providerの2.0.0がリリースされていたことに気づいて焦る笹原です。 いきなりですが、AWSを使う際に、多要素認証(MFA)をかけるのは必須ですよね! また、IAM UserとしてログインするAWSアカウントから、Assume Roleして実際に作業するAWSアカウントに入ることも多くなっていると思います。 そういった環境だと、Assume RoleをするのにMFAを必須にすることもあると思います。 今回はそんなMFAをした上でAssume Roleする必要があるAWSアカウントでもTerraformを実行するために、aws-vaultを使った話をしようと思います! 背景 aws-vaultとは aws-vaultとTerraform aws-vaultの設定 Terraform

    TerraformをMFA & Assume Roleな環境でも実行 - aws-vaultでやってみた - SMARTCAMP Engineer Blog
    als_uz
    als_uz 2019/03/13
    aws-vaultマジ便利なので知ってほしい
  • 気づいてますか!?エンジニアマネージャーをするマーケターが思う『エンジニアの凄い所』5選 - SMARTCAMP Engineer Blog

    はじめまして。スマートキャンプでエンジニアマネージャーをしています林です。 私はエンジニアマネージャーをやっているのですが、エンジニアではありません。 新卒の頃に1年程やっていたことがあるのですが、それからもう10年程たっていて、今となってはコードは全くかけません。 スキルセットはマーケターで、前職では医療機器のネット販売で年間数億の売上を上げていました。 スマートキャンプにはマーケターとして入社しましたが、マーケティングで成果を最大化するためにプロダクト改善に着手し、エンジニアに協力してもらっていたところマネージメントも担当するようになり、エンジニアマネージャーを務めるようになり今日に至ります。 お伝えしたい事の概要 私は現在、エンジニアのチームとWEBマーケティングのチーム、コンテンツマーケやニュース等記事作成のチームをみています。 またマーケターという仕事柄様々な部署と関わりながら仕

    気づいてますか!?エンジニアマネージャーをするマーケターが思う『エンジニアの凄い所』5選 - SMARTCAMP Engineer Blog
    als_uz
    als_uz 2019/03/08
    うちの部長です
  • SPAをSimpleHTTPServerでテストしたい! - SMARTCAMP Engineer Blog

    BigQuery大好き瀧川です! 最近弊社ではVue.jsを使ってSPA(SinglePageApplication)!という構成がよく使われています。 普段の開発だとwebpack-dev-serverを利用していて、手軽だしホットリロードもサポートされているし特に不自由なく運用できています。 でも、例えばWebpackでのproductionビルドをテストしたい、生成された静的ページにアクセスしたいということがちょこちょこあるんですよね。 大体いままで静的ページのテストをするときにはPythonSimpleHTTPServerを使っていたけど、SPAの場合はチョット工夫が必要だった...😣ということをメモとして書いておきます! そもそもSimpleHTTPServerって?🤔 SPAでSimpleHTTPServerを使ったときの問題点😥 解決 🤗 おわり 😚 そもそもSi

    SPAをSimpleHTTPServerでテストしたい! - SMARTCAMP Engineer Blog
    als_uz
    als_uz 2019/02/15
  • 負荷テストを定期実施するために必要な9つのポイント【後編】 - SMARTCAMP Engineer Blog

    メガリザードンYと同じ身長・体重なことに気づきました。スマートキャンプの今川です(@ug23_)。 前編 の記事ではGatlingを使った負荷テストなどについてソースコードを載せつつ説明しました。 tech.smartcamp.co.jp 後編ではどちらかというとプロセス的な部分により着目してまとめていきます。 【ポイント6】ミスを防ごう 私は負荷テストで1件やらかしました。 番環境に負荷テストをしてしまうという失態を。翌日に番インスタンスの2台が過負荷で死んでいました。 幸いサービス提供には大きな問題はなかったものの冷や汗ものでした。 こういったミスが起きないように以後は以下のことに気をつけています。 負荷テスト環境にドメイン(番のサブドメイン)をつけて明確に分け、試験中は負荷の向き先を変えない 負荷テスト環境のELBのインスタンス付け外しの場合にダブルチェックを実施する 負荷シナ

    負荷テストを定期実施するために必要な9つのポイント【後編】 - SMARTCAMP Engineer Blog
    als_uz
    als_uz 2019/02/08
    負荷テストについてちょっとエモめに書いてみました。
  • BigQueryだけでRedashから個人情報見えなくする方法解説 - SMARTCAMP Engineer Blog

    データエンジニアの瀧川です。 Redash使ってますか!? Redashが出てここ数年、加速度的に導入事例が聞かれるようになり、もうスタートアップのデファクトスタンダードとも言えるのではないでしょうか。 その導入事例の中でよく聞かれるのが、 全社的に Redashを公開して、だれでもデータにアクセスできるようにしたよという話です。 確かにRedashは、クエリの蓄積・共有が容易ですし、グラフやダッシュボード機能がそのまま営業活動に使えたりと利点はたくさんあります。 ただ、ここで問題になるのが、個人情報を始めとする 一般ユーザが見ることのできないデータ をどのように制御するかだと思います。 記事では、弊社で使っている BigQueryだけ で、個人情報をマスキングしたデータを用意し、権限設定でデータへのアクセスを制御する方法を紹介しようと思います! 目標 方法 元テーブルからマスクテーブル

    BigQueryだけでRedashから個人情報見えなくする方法解説 - SMARTCAMP Engineer Blog
    als_uz
    als_uz 2019/02/04
    BQで個人情報をマスキングしていい感じに社内のデータ基盤として使っています
  • TerraformとCircleCIによるAWSアカウント管理のコード化 - SMARTCAMP Engineer Blog

    この1月に普通自動二輪の免許を取得したので、早く暖かくなってツーリングに行きたいなとそわそわしている笹原です。 みなさんはAWSを使った開発をするときに、どうやってIAMユーザを管理してますか? 開発者に権限を与えすぎれば セキュリティリスクは高まる ので、与える権限を少なくしたいですが、少なくしすぎても 開発・運用時に作業や権限の申請が頻繁に必要 になります。 また、入社時や退職時にIAMユーザの作成・削除をしたり、定期的な棚卸しを実施したりといった運用も管理が煩雑になっていると意外と工数がとられたりするものです。 今回はAWSユーザ管理を管理者からの一方通行ではなく、TerraformとCircle CIを使って開発者からのPull Requestベースでやってみた事例を公開したいと思います! AWSのマルチアカウント構成 Terraform 下準備 ディレクトリ構成 Serviceア

    TerraformとCircleCIによるAWSアカウント管理のコード化 - SMARTCAMP Engineer Blog
    als_uz
    als_uz 2019/01/22
    ユーザ管理がterraform+circle ciでMerge即適用されるので「この権限追加してもらえますか???」という面倒なコミュニケーションがGithub上で完結します。
  • 負荷テストを定期実施するために必要な9つのポイント【前編】 - SMARTCAMP Engineer Blog

    こんにちは。好きなテストフレームワークはやっぱりRSpec、スマートキャンプの今川(@ug23_)です。 みなさんは負荷テスト、定期的にやっていますか? リリースごと、マイルストーンごと、など単位はさまざまでしょうが、定期的にやる仕組みは重要だと感じています。 今回は社内で負荷テストを定期的に行う仕組みを整えたときについてまとめました。 この記事は 前編 です。前半の5つのポイントについて紹介していきます。 負荷テストの背景 スマートキャンプではいくつかのWebサービスを運営しております。 ほとんどのサービスは公開しているサービスなので、ユーザの挙動によって負荷が大きく変わります。 例えば、テレビに取り上げられるなどしてバズったりすることもあるでしょう。 スケールアップするにしても、スケールアウトするにしても いまの構成でどんだけ耐えられるの?がわからないと対策が的外れなことになりかねませ

    負荷テストを定期実施するために必要な9つのポイント【前編】 - SMARTCAMP Engineer Blog
  • スマートキャンプのエンジニアブログ始めます - SMARTCAMP Engineer Blog

    あけましておめでとうございます! スマートキャンプ株式会社でエンジニアをしている瀧川と申します。 満を持してこの度エンジニアブログを始めることとなりました。 我々が日々どういった思いや考えで、どういったチャレンジをしているのかを、実例を通してお伝えしていきたいと考えています。 そして、このエンジニアブログを継続することで、社内で技術を精査する文化を作り、読んでいただいた多くの人に価値を届けられるように努力していきます! もし一緒にエンジニア文化を育てていこうといってくださる方がいれば、以下からお申し込みいただきお話させていただければと思います。 どうぞよろしくお願いいたします! smartcamp.asia

    スマートキャンプのエンジニアブログ始めます - SMARTCAMP Engineer Blog
    als_uz
    als_uz 2019/01/15
    はじめました
  • BigQueryでSQLをDRY(Don't repeat yourself)に書いてみよう! - SMARTCAMP Engineer Blog

    スマートキャンプ株式会社でデータエンジニアをしている瀧川です。 皆さん!分析SQLを書いていますか!? 弊社ではアプリケーションのログや、各種データをBigQueryに集約しており、諸々の分析をRedashSQLを書くことで行っています。 Redashは良くも悪くも、SQLですべてを完結する必要があるので、もともと複雑な分析SQLがさらに長くなる...みたいなことありますよね。 そこで私が普段使っている、BigQueryでクエリをDRY(Don't repeat yourself)に書く方法を紹介したい思います! ※ 記事ではクエリの可読性にフォーカスしているため、パフォーマンスに関しては考慮していません。 ※ 記事内の例はSQLの書き方のみであり、内容に意味はありません。 参考 BigQuery公式Doc 目次 with で結果を一時保存しよう with とサブクエリで定数定義しよう

    BigQueryでSQLをDRY(Don't repeat yourself)に書いてみよう! - SMARTCAMP Engineer Blog
    als_uz
    als_uz 2019/01/15
    MySQLしか知らない自分ははじめて見た時with句に衝撃を受けたけど、だんだんなれてきた