息抜き C# ~ New Normal なコードの書き方:第00回「新しいC#の機能達」 ~

f:id:ecb_smiyahara:20210309005443j:plain

ごあいさつ

みなさんC#書いてますか?
こんにちはecbeingでアーキテクトをやっている宮原です。
この度はC#の新しい書き方についてお話させて頂きたいと思います。

  • ごあいさつ
  • 可読性のはなし
    • 可読性の重要度
    • 可読性は誰が判断するのか
    • 可読性と新機能
  • 新しい機能
    • 保守的なコード
    • 新しいコード
    • 新しいコードはシンプルなコード
  • 新しいコードは良いコード
    • 可読性を落とさずに新しいコードを書くには?
    • 息抜きついでに読める新機能解説、始めます
続きを読む

新卒エンジニアがTerraformでインフラ構築やってみた

f:id:ecb_OtaYuichi:20210219014309p:plain

はじめまして。
2020年新卒として、ecbeingのプロダクト開発統括部に所属している太田と申します!
普段は、スクラムモブプロなどアジャイルな開発手法に触れながら、新たなSaaSサービスの開発に携わっております。

さて今回の記事は、私が配属されて初めて任された仕事であるTerraformを使ったインフラ構築についてです。

現在もチームで開発を進めていく上で私は、Terraformを使って迅速に新たな開発環境を提供するという、開発サポート的な役割も担当しています。
そんな私がこの記事を書く約半年前、Terraformと果たした運命的な出会いについて紹介していきたいと思います。

続きを読む

社会人になって本を読み始めた新人の話

はじめに

はじめまして、ecbeing新卒1年目でプロダクトグループに所属している佐山(さやま)です。

普段は、バックエンド側の実装からスマホアプリまで幅広い分野を担当させていただいています。最近はアプリ系が増えてきました。

AndroidはWindowsで、iOSはMacで開発と環境の違いに戸惑っている最中です。

配属されてから半年が過ぎたもののまだまだ新人…と思いきや、次の新人が入ってくるのが間近となって驚いている今日このごろです。


さて、今回は「読書」をテーマに執筆させていただきたいと思います。


インターネットが発達して多くの情報を手軽に集められるようになった世の中で「どうして読書を?」と思った方もいるのではないでしょうか?

確かに間違いではないと思いますが、読書には読書の良いところがあるのです。

そんな読書の良さを伝えられたら…と思いながらこの記事を書かせていただいております。

最後に読んで良かったと感じた本をいくつか紹介してますので良かったら手に取ってみてください。学生にも社会人にも役立つと思ったものを紹介しています。

f:id:ecb_SayamaDaisuke:20210220105511j:plain

目次

  • はじめに
  • 目次
  • 読書を始めたきっかけ
  • 自分の思う読書の良いところ
  • オススメの本たち
    • 『倒れない計画術』 著:メンタリストDaiGo
    • 『ロジカル・プレゼンテーション』 著:高田 貴久
    • 『ユーザーストーリーマッピング』 著:Jeff Patton
    • 『リーダブルコード』 著:Dustin Boswell
  • おわりに
続きを読む

入社1年目がVS Codeの拡張機能を作って、ちょっと嬉しくなった話

f:id:ecb_YugamiShun:20210113104748p:plain

はじめに

はじめまして、ecbeing新卒1年目でプロダクトグループに所属している、湯上(ゆがみ)と申します!

日頃は、当社製品の「ecbeing」の技術開発を行っています。

今回、ブログをはじめて投稿させていただきますので、暖かい目で見ていただけると幸いです_(._.)_

さて、早速本題に移りたいと思います。

今回は、そんな新人の私がはじめて社内向けのVisual Studio Code(以下、VSCodeと記述)の拡張機能を作ってみたら、色々感じたことがありました。

そのときに感じた、ちょっとした気持ちを皆様に共有させていただきたいと思います。

目次

  • はじめに
  • 目次
  • 今回の成果物
  • ことの経緯
    • 参加することになったぞー
  • いざ開発
    • そもそもVSCode 拡張機能って何?
      • 特徴
    • 準備
    • やったこと
      • 1. 構文ハイライト拡張機能
        • 気をつけたこと
      • 2. マークアップ拡張機能
        • 気をつけたこと
  • 完成!
  • 作ってみて
    • 1. どんな形であれ、反応をもらえるのは嬉しい
    • 2. 達成感
    • 3. 業務効率化ができた! はず
  • まとめ
続きを読む

なぜあんなに難しい?Factory Methodパターン

f:id:ecb_smiyahara:20201216135724p:plain

こんにちはecbeingでアーキテクトをやっている宮原です。

皆さんデザインパターンについてはどのくらいご存知でしょうか?
「かなり自信がある」という方も「名前は聞いたことあるけど・・・」という方もいると思います。

今日はそんなデザインパターンの中から「Factory Method」を取り上げます。

続きを読む

Amazon Transcribeで1on1の会話ポゼッションを可視化してみた

f:id:ecb_kkanazawa:20201207215704p:plain

こんにちは。ecbeing金澤です。
普段はReviCoや他のプロダクトの開発リーダーをやりつつ、管理職としてチームのマネジメントもやったりしています。

1on1でついつい喋りすぎちゃう問題

プロダクト開発統括部では、個人の面談に1on1を取り入れています。
1on1はコーチングの場と言われており、基本的にはメンティー(部下)が喋り、メンター(上司)はその内容に対してフィードバックをする。
という流れが理想なのですが、自分が普段どのくらい喋っているかというのは、なかなか自分では分からないもの。

「見えない問題は解決できない」ので、どうにか可視化できないか考えていたところ
Amazon Transcribeを使えば計測できそう、ということに辿り着きました。

続きを読む

TerraFormでAzure環境作って沼にハマったおはなし

f:id:ecb_ssakagami:20201208153432p:plain



前回の投稿からだいぶ日が空いてしまったサボり癖のある窓際社員のガミさんです
コロナが収まる気配がないですが気持ちだけは元気です

さて、本題です。
今回は社内でIaCを推進せい!ということでAzure環境をTerraFormで構築したおはなし

ハマりポイントを重点に記載をしているのでIaCってなに?TerraFormってなに?
という人はググってみよう!
必要があればIaCとTerraFormの記事もかきまする

天の声
えらいひと
おーい
ヒマやろ?
Azure環境簡単に作れるようにしてくれや!
開発環境、検証環境、商用環境も簡単につくれるようにな!
ほえー
ヒマじゃないのに・・・
今話題のIaCってやつやな
(承知しました!)
既読
2:30
えらいひと
また心の声と逆やで
ちゃちゃっと頼むわ
ほな

f:id:ecb_ssakagami:20201208171143p:plain

既読
2:30
※画像はイメージです。本当はちゃんと指示されました!
※LINE風CSSとスタンプはナコさんのサイトの素材を利用させていただいております。

続きを読む!

まずはGoogle先生に相談から
Googleせんせい

f:id:ecb_ssakagami:20201209140411p:plain

ぐぐるせんせい
なにが知りたいねん?

Azure環境をIaCでつくりたいん!
なんか知ってたらおしえてーな
既読
2:35

f:id:ecb_ssakagami:20201209140411p:plain

ぐぐるせんせい
それならTerraForm使うと幸せになれるで!

f:id:ecb_ssakagami:20201208171242p:plain

既読
2:35
それからつくられたAzure環境からIaCへのコード化はできるんか?
既読
2:36

f:id:ecb_ssakagami:20201209140411p:plain

ぐぐるせんせい
AWSさんとちゃうねん
TerraFormerみたいな便利なツールはAzure用にはないんやで!
セコセココード書いて頑張りな!

f:id:ecb_ssakagami:20201208171235p:plain

既読
2:37


さてここからがAzure TerraForm沼のはじまりでした・・・
ハマりポイントその1
恐ろしく時間だけが奪われていく
 TerraFormのリファレンスから構築に必要なリソース名を検索して実際にコードをAzureに流してみる

手動で構築したリソースとTerraFormで構築したリソースの差異を調べる

リソース内の未設定の項目のコードを書いてまた差分確認・・・
これをリソース分繰り返し実行していく
そのあとは商用、検証、開発環境用にプランをわけたりだなんだりだと・・・
本当に時間だけが搾取されていく

まさに沼

f:id:ecb_ssakagami:20201210143529p:plain



ハマりポイントその2
TerraFormの実行でエラーがよく発生する・・・
しかもエラーが発生するまでに1回あたり20分くらいかかることもある
他の人のPCだと動くお前の環境だけおかしい!(通称:おま環)問題が発生しまたも時間搾取が。。。
これを解決するのにGoogle先生とずっと会話を続け
・TerraFormのバージョンが違う
・ARMテンプレートのバージョンが違う
・BashじゃなくてPowerShellでやってみろ
・MacじゃなくてWindowsでやってみろ
といろいろアドバイスをいただいても解決しませんでした

そしてたどりつたいところはAzure CloudShellを使うということでした

おま環の駆逐を目指して今度はAzure CloudShellの調査を開始
調査、検証事項を全て書いてしまうと全3回くらいのブログ記事が書けてしまうのでちょっと割愛!
・CloudShellには元々TerraFormがインストールされているが安定版(0.13.3あたり)をインストールしよう!
binフォルダは保持されるけどセッションが切れるごとにTerraFormバージョンが元に戻るので・・・
初回実行時
mkdir bin
cd bin
wget https://releases.hashicorp.com/terraform/0.13.3/terraform_0.13.3_linux_amd64.zip
unzip terraform_0.13.3_linux_amd64.zip
$env:PATH="$HOME/bin/:"+$env:PATH
terraform -version

2回目以降
cd bin
unzip terraform_0.13.3_linux_amd64.zip
$env:PATH="$HOME/bin/:"+$env:PATH
terraform -version
・CloudShellのストレージは各アカウント容量が決まっている(5GBと説明があるが体感1GBくらい)のでTerraForm安定版のダウンロードとtfファイルくらいしか置くのをやめよう!
・毎回az loginが必要かつ20分(とは書いてあるけど5分で落ちてた時もあった)操作しないとCloudShellが落ちるので操作は一気に!
・ローカルPowerShellのTerraFormで使えていた[Invoke-SqlCmd]が使えなくなるので[sqlcmd]を使おう!
・パスワード自動生成などで[$'` ]を使用するとTerraFormがうまく動かないのでパスワード生成から外しておこう!

それ以外の注意事項は普通にTerraFormを使うのと変わらないので割愛します
※100スター⭐️到達したら真面目にTerraForm記事かきます
これでおま環もバス係数が1の状態も回避できる!

Tipsをいくつか書こうと思っていたのですがダラダラと沼のおはなしを続けてしまったので一旦おしまいにしておきます。
ちなみに書こうと思っていたTipsは↓です
・マルチテナント環境にテナントごとのリソース(ストレージとかKeyVaultとか)をループで簡単に追加したい!
・TerraFormでSQL Serverに対してSQLを自動実行する方法
などなどネタはあるのでマイペースにやっていきたいと考えています

~ecbeingでは、新しいことに楽しんでチャレンジできるエンジニアを大募集中です!~
careers.ecbeing.tech