タグ

ブックマーク / future-architect.github.io (46)

  • Engineer Camp2020でSQLフォーマッタを開発しました | フューチャー技術ブログ

    はじめにはじめまして。フューチャーのインターン”Engineer Camp”に参加した中村と申します。 フューチャーのインターンについてはこちらの記事をご覧ください! この記事では、今回のインターンで私が取り組んだ内容を紹介します。 SQLフォーマッタとは今回のインターンで私は、SQLフォーマッタの作成に取り組みました。 SQLフォーマッタとは以下のようにSQLのインデントなど整形するツールのことです。 SQLフォーマッタを用いることで、SQLの見た目を整える手間を削減したり、チームで統一感があるコーディングを実現できます。 取り組んだ課題もともとフューチャーではuroboroSQL formatterというSQLフォーマッタが開発されていました(このフォーマッタについてはこちらの記事をご覧ください!) しかし、このフォーマッタはPythonベースで書かれていたため、(現在広く使われている

    Engineer Camp2020でSQLフォーマッタを開発しました | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/09/19
  • チームで推奨するVSCode拡張機能を共有するtips | フューチャー技術ブログ

    こんにちは。 TIG DXユニットの市川です。 プロジェクトにアサインされて、まずやらなければならないのは環境構築だと思います。 私が新人としてプロジェクトに参画した頃は、リポジトリのクローンからローカルサーバーを起動させるまでの手順は詳細に記載されていたものの、開発で使用するエディタの説明は特になく、VSCodeに各々が好きな拡張機能をインストールしている状態でした。当時開発経験が浅かった私は開発中に必要となる拡張機能を都度入れていたり、作業を効率化できる拡張機能を入れられておらず、非常に困っていました。 そういった背景もあり、私のプロジェクトではプロジェクトで必要となる・開発を効率的に行うことができる拡張機能を選定し、それらをVSCodeに一括でインストールする環境を整えたことで、プロジェクトに参画をした新人やキャリア入社の方、インターンの方がスムーズにエディタの設定を行うことができま

    チームで推奨するVSCode拡張機能を共有するtips | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/09/05
    便利
  • Vue.jsで最速に始めるCheetah Grid | フューチャー技術ブログ

    はじめに2019年入社、TIG所属の吉野貴大です。 今回、記事を投稿することになったキッカケは、フューチャー発のOSSであるCheetah Gridを使用した業務システム開発に携わったことです。 また、Cheetah Gridの公式ドキュメントは英語のみで、現時点では日語の解説記事が少ないこともあり、業務システム開発で使いやすいと思われるCheetah Gridの機能を紹介していきます。 内容Cheetah Gridの入門として、業務システム開発で利用する際のCheetah Gridについて、各コンポーネントの概要と簡単な使い方を実装付きで説明します。 細かいコンポーネントの属性や高度なコンポーネント(c-grid-layout-rowとc-grid-header)については説明しません Cheetah GridのAPIにはJavaScript版とVue.js版がありますが、Vue.js

    Vue.jsで最速に始めるCheetah Grid | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/09/02
    フューチャー発OSSで、業務システムなど大量のデータをテーブルに描画するのに向く
  • VSCode の Go extension でよく利用するコマンド 7選 | フューチャー技術ブログ

    TIG DX チーム所属の多賀です。また Go についての記事を書きます。 最近 Go 開発体への加入が発表されるなど、盛り上がっている VSCodeGo extension ですが、私も基VSCode + Go extension を利用して開発しています。 開発する際によく利用するコマンドがいくつかありますので、まとめました。 環境 VSCode: 1.45.1 Go extension: 0.14.4 補完やその他機能を利用するために Go の Language Server Protocol の実装である gopls を利用しています。 https://github.com/golang/tools/tree/master/gopls Go extension 設定の go.useLanguageServer を true にしています。 その他の設定は以下の公式設定

    VSCode の Go extension でよく利用するコマンド 7選 | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/07/12
    おぉ、色々コード生成系の便利コマンドがある
  • Terraform Associate合格記 | フューチャー技術ブログ

    受験方法は自宅からオンラインで受けられます。AWSGCPの試験を受けたことがある方は、受験会場で画面に向かって受ける試験を自宅で行うものと考えてもらえれば良いです。試験内容は、IaCの一般的な知識から始まり、Terraformで使えるFunctionとかコマンドの挙動など概要から実践的な部分まで広く出題されます。HashiCorpから事前にサンプル問題が提供されているので、出題形式を押さえるという意味で見ておくことをお勧めします。 試験対策私が試験を受けるまでに行った対策と言えるものは以下になります。 Exam Review - Terraform Associate Certification HashiCorp Certified: Terraform Associate Practice Exam 試験ガイドはこれからTerraformの全容を知りたい人向けのStudy Guide

    Terraform Associate合格記 | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/07/02
    お、最近出たやつですね
  • フューチャー技術ブログの運営で心がけていること | フューチャー技術ブログ

    はじめにTIG DXユニットの真野です。フューチャー技術ブログの運営の1人です。未来報を運営している岡田さんなどと一緒に、気持ちは草の根活動で外部発信に携わっています。 IT企業の技術ブログ運営は、ある一定の質をキープしながらも、投稿頻度を高め・それを継続することが求められ、周囲の期待値もあるので中々気を抜けない仕事だと思います。単発ならともかく、継続することは忍耐が必要なので特に大変です。運営していてこれはナレッジだなと感じたことをまとめていきます。 2020/09/08 続編を公開しました: フューチャー技術ブログで行っている連載企画が良いよって話 技術ブログの大変なところ≒記事ネタを探すところ熱心な寄稿者が複数いて、運営からの声掛け無しで記事が集まるのであれば非常に楽ですが、たいていの組織やチームはそうでないと思います。また、業は記事を書くことではなく、自社プロダクトの開発やシステ

    フューチャー技術ブログの運営で心がけていること | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/06/02
    いい取り組み
  • あなたのGoアプリ/ライブラリのパッケージ構成もっとシンプルでよくない? | フューチャー技術ブログ

    2023.10.5追記: Goチームからプロジェクトの目的に応じたディレクトリ構造についてのドキュメントが公式に公開されています。 https://go.dev/doc/modules/layout Goプロジェクトのフォルダ構成どうしよう、とググると見つかるStandard Go Project Layout。とはいえ、これはかなりコード量を増やしてしまう恐れがありますので、導入する場合のデメリットも考えておく方が良いです。 特に、プログラマーは、最初にみたプログラミング言語のフォルダ構成を親だと思う特性があり、Javaや.NETに影響されるとかなり細かくフォルダを切りたくなったり、package privateなど細かく可視性を制御しようとしたりして、なおかつ「privateのテストってどうすべきなんですか?」とか議論を始めたりもしますが、Go先生によればこれぐらいは1パッケージにフ

    あなたのGoアプリ/ライブラリのパッケージ構成もっとシンプルでよくない? | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/05/28
  • 新米エンジニアが1か月のトラブルシューティングで学んだこと | フューチャー技術ブログ

    まえがきはじめまして。TIG DXチームにアルバイトとして参加させていただいている田直樹と申します。 昨年12月にAtCoder Jobs経由でアルバイト採用していただき、今月でちょうど半年になります。普段は文系大学生をしています。 採用後のアルバイトの作業は、 ゲームエンジンを利用したIoT情報可視化ツールの開発 Qiita記事をフューチャーのAdventCalendarに投稿 golang.tokyo #29に社員の先輩方と登壇 IoTクラウドインフラの開発 現在進行形でお手伝いしています に携わらせていただいております。 今回は、アルバイト業務でシステム開発するにあたり、ProxyやDNSなどのネットワーク周りで一か月強も溶かしてしまったので、その過程で学んだトラブルとの向き合い方についてまとめます。 トラブルの内容環境 WSL (Ubuntu 18.04) Go言語(go1.14

    新米エンジニアが1か月のトラブルシューティングで学んだこと | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/05/26
  • 仕事でPythonコンテナをデプロイする人向けのDockerfile (2): distroless編 | フューチャー技術ブログ

    なお、distrolessのイメージは2種類(3通りの名前)がありますが、Python 3.5はバグ修正はせず、セキュリティ修正のみでサポート期限が2020/9/13というステータスなので、エントリーでは3.7の方のみを扱います。 gcr.io/distroless/python3: Python 3.5.3 gcr.io/distroless/python3-debian9: Python 3.5.3(上のイメージと同一) gcr.io/distroless/python3-debian10: Python 3.7.3 一応サンプル等もありますが、どれも1ファイルで構成されたサンプルスクリプトばかりです。前回のsite-packagesにコピーする方法を軽く試したところうまく動かず、シェルもpipもensurepipもないため、ビルドイメージにすることもできません。いろいろ調べた結果、

    仕事でPythonコンテナをデプロイする人向けのDockerfile (2): distroless編 | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/05/14
    distrolessってのがあるんだ
  • 仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編 | フューチャー技術ブログ

    BusterとかStretchという名前が見慣れない方もいるかもしれませんが、これはLinuxディストリビューションとしてシェアの大きなDebianのコードネームです。 Debianバージョンが少し古いStretchの方がちょびっとサイズが小さかったりはしますが、まあ実用的にはサポートが長い方がいいですよね。slimを使ってGCCとかのコンパイラを自前でダウンロードしている記事とかもたまに見かける気がしますが、マルチステージビルドであれば、そんなにケチケチしなくていいのと、パッケージダウンロードは逐次処理なので遅く、処理系が入ったイメージのダウンロードの方が高速です。並列で処理されるし、一度イメージをダウンロードしてしまえば、なんどもビルドして試すときに効率が良いです。また、多くのケースでネイティブのライブラリも最初から入っており、ビルドでトラブルに遭遇することはかなり減るでしょう。 Py

    仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編 | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/05/13
  • GCPインスタンスを自動で停止させるツールの公開 | フューチャー技術ブログ

    はじめにこんにちは、TIG DXユニットの真野です。2019年時点ではフューチャーに入社して9年目、主にバックエンド側の設計や開発をしています。 TIG: Technology Innovation Groupの略で、フューチャーの中でも特にIT技術に特化した部隊です。 DXユニット: TIGの中でも特にデジタルトランスフォーメーションに関わる仕事を推進していくチームです。 GCPのインスタンス(GCE, SQL, GKE)を自動で停止させるGoで書かれたツールをGitHubに公開しました。 https://github.com/future-architect/gcp-instance-scheduler このツールの実装はアルバイト社員のdonkomuraさんが主体的に開発を進めていただいました。 別の機会にdonkomuraさんにはアルバイトブログを書いてもらおうと思うので、工夫した

    GCPインスタンスを自動で停止させるツールの公開 | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/05/02
  • Goならわかるシステムプログラミングが増刷されて初版4刷になりました | フューチャー技術ブログ

    Goならわかるシステムプログラミングが増刷されました。増刷される場合にはたいてい誤字が修正されたりするんですが、今回12ページほど増量しております。前回の3刷でも16ページ増えたので、初版と比べると28ページ増です。写真は1刷〜4刷の比較です。 なぜか、Real World HTTP 第2版の原稿の締め切りも、レビューの締め切りも、最終的な印刷所に原稿が運ばれて行くタイミングもだだ被りで、ちょっと忙しかったのですが、無事みなさまにお届けできる運びとなりました。 変わった内容一番大きな変更はFUSEを使ったファイルシステムを作ろう、というネタを追加したことですね。もともとアスキーの連載から書籍版を作る時に、一度は足したいネタにリストアップはしていたのですが、実装や検証期間を考えるとちょっと手強そうだぞ、ということで落ちた内容です。フューチャーの技術ブログでgocloud.devの紹介をしまし

    Goならわかるシステムプログラミングが増刷されて初版4刷になりました | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/04/27
  • 社内勉強会で発表したGCP資料を公開します | フューチャー技術ブログ

    はじめにこんにちは。TIG/DXチームの伊藤です。この技術ブログでGCPネタをよく発信していますが、今回もGCPネタです。好きです、GCP。フューチャーの社内では定期的に勉強会を開催している部門があり、全社的に登壇者を募って発表しています。今回は私自身社内にGCPを広めたいという思いがあり登壇の機会をいただきました。今回はその時のまとめや一部改善した内容になります。また、リモートでの勉強会ということもあり、個人的に気をつけた点も簡単にまとめたので、その辺も参考になればと思います。 話す前の準備今回は社内で広く利用しているGoogle Meetを使ってオンラインで勉強を行いました。勉強会としても私としてもリモート開催がそもそも初めてなので、質問を受けやすいように区切りのいいとこで質問タイムを設けました。また、オンラインだと反応が見にくいというのがあり、sli.doで質問を募ったり、単純な感想

    社内勉強会で発表したGCP資料を公開します | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/04/24
    VPCはリージョンまたげるのか
  • Real World HTTP 第2版はなぜ1.5倍になったのか | フューチャー技術ブログ

    Real World HTTP 第2版が2020/04/20出版されました。第2版が出版されるというのは、初版をみなさまが買ってくださったおかげです。どうもありがとうございます。紙媒体は先行入荷する書店さんではすでに入っているようです。オライリーのウェブサイトから電子版を購入することもできます。 4/17新刊『Real World HTTP 第2版 歴史とコードに学ぶインターネットとウェブ技術』オライリー(978-4-87311-903-8)渋川よしき 著◆「オライリー」棚にて展開中!Webテクノロジーの基礎となるHTTPの仕様を網羅的に学べる学習書が内容を充実させて改訂! pic.twitter.com/k86zXGaHe9 — 書泉ブックタワーコンピュータ書 (@shosen_bt_pc) April 17, 2020 Real World HTTPの初版の執筆時にも、ネットで見かける

    Real World HTTP 第2版はなぜ1.5倍になったのか | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/04/21
  • Serverless連載3: Goでサーバーレス用の検索エンジンwatertowerを作ってみました | フューチャー技術ブログ

    サーバーレス連載の3回目は検索エンジンを作ってみたお話です。 クラウドサービスが充実してくるにつれて、サーバーレスではいろいろなことができるようになっています。HTTPサーバーは動きますし、RDBやNoSQLなストレージも使えますし、PubSubみたいなサービスも利用できます。これらを駆使するとそこそこ複雑な処理も記述できます。 一方で、上から下までサーバーレスにしようとするとできないものもいくつかあります。例えば、RDBも使えるといっても制約があり、LambdaやCloud FunctionsからRDSやCloudSQLを雑に使うとコネクションを張りすぎる問題があります。LambdaにはRDS Proxyが出始めています。あと、RDBそのものは基的に常駐型なのでサーバーレスではないです。一応サーバーレスなのもありますが、起動時間が結構かかるらしい(自分ではまだ試してないです)。それ以外

    Serverless連載3: Goでサーバーレス用の検索エンジンwatertowerを作ってみました | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/03/27
  • GCP連載#8 gcloud compute sshじゃなくてsshコマンドを使いたいあなたへ | フューチャー技術ブログ

    はじめにGCP連載企画の8日目です。 いきなりですが、 gcloud compute sshコマンドは便利ですよね。 ssh先のGCEインスタンスとクライアント間で、キーペア(秘密鍵/公開鍵)の自動生成 -> GCEインスタンスへの鍵配置を自動で行ってくれて、ユーザーは鍵の存在を意識することなくsshできるコマンドですが、gcloud compute sshコマンドじゃなくて、素のsshコマンドでGCEインスタンスにsshしたい、という方もいらっしゃるのではないでしょうか。 例えば、以下のケース(あれ、少ない…) 使い慣れたsshクライアント(TeraTerm等)を使ってsshしたい VScodeのsshプラグイン(便利ですよね)を使ってリモートサーバー上のファイルを編集したい そんな方は、きっと ~/.ssh 配下に生成された秘密鍵( google_compute_engine) とホス

    GCP連載#8 gcloud compute sshじゃなくてsshコマンドを使いたいあなたへ | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/02/17
    そんな機能あったんだ
  • GCP連載#5【もう鍵なくさない】GCPのSecret ManagerとBerglasで幸せになる | フューチャー技術ブログ

    前書きこんにちは、TIG所属インフラエンジニアの市川です。GCP連載の5目です。 突然ですが、普段生活するうえでカギ🔑をなくした、忘れたことはないでしょうか。私はあります。なくしたことはないけど、うっかり置き忘れちゃうんですよね。 それがことインフラ構築の場面ではどうでしょうか。最近はとにかく多くのカギを管理しなくてはなりません。API Keyとか気づいたら何が何だか分からなくなり、苦渋の決断の末、再度払い出すことも多いのでは無いでしょうか。検証ならまぁ…ギリギリですが、番ではやっちゃダメ絶対です。 ということで、そんな管理人の皆さんに朗報です。 遂にGCPにシークレット管理機能がやってきました! CLIツールのBerglasとGUIで管理するSecret Managerを簡単にご紹介したいと思います。 Berglasを使ってみるサクっと利用するならCloud Shellだよね!とい

    GCP連載#5【もう鍵なくさない】GCPのSecret ManagerとBerglasで幸せになる | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/02/16
  • GCP連載#7 GCPのData Transfer Serviceを使って簡単にS3からBigQueryにデータ転送をしてみる | フューチャー技術ブログ

    GCP連載#7 GCPのData Transfer Serviceを使って簡単にS3からBigQueryにデータ転送をしてみる GCP集中連載の7回目です。 TIGのDXチームに所属している加部です。入社してからは主にインフラやデータベースを中心に仕事をしており、現在はGOでバックエンドのAPIの開発なんかもしています。 突然ですがAWSを利用しているけどビッグデータの蓄積や解析はBigQueryで実施したい、なんて意見も最近多くなってきているようですね。実際にS3からBigQueryのデータ転送について検索すると、自前でデータ転送を作成してみましたや、データ転送をサービスとして販売しているような会社もあります。そんな中GCPが提供しているBigQeryへのデータ転送サービスDataTransferServiceのソース元としてS3が追加され、簡単にS3からBigQueryのデータ転送のジ

    GCP連載#7 GCPのData Transfer Serviceを使って簡単にS3からBigQueryにデータ転送をしてみる | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/02/14
  • GCP連載#6 Terraform Validatorを使って、GCPのセキュリティポリシーの自動チェックを行う | フューチャー技術ブログ

    GCP連載#6 Terraform Validatorを使って、GCPセキュリティポリシーの自動チェックを行う GCP連載の6回目です。今回はTerraform Validatorを使って、組織のセキュリティポリシーの自動チェックを継続的に行う方法を紹介します。併せて、ポリシーをコードとして管理する方法も紹介します。Policy as code です。もちろんセキュリティポリシーのみだけではなく、命名規則やリージョン制限なども扱えます。 Infrastructure as code 理想と現実Infrastructure as code (以下 IaC)、ここ最近大分一般的になってきました。弊社でも大半のプロジェクトは導入しています。3年前とかに導入するために一苦労していた時代が懐かしい.. IaCが当たり前になった今、インフラの構成管理はもう問題ないかというとそうではありません。特にプ

    GCP連載#6 Terraform Validatorを使って、GCPのセキュリティポリシーの自動チェックを行う | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/02/14
    こんなのあったんだ。GCPのOSSか
  • GCP連載#2 Istio on GKEではじめるサービスメッシュ | フューチャー技術ブログ

    はじめにこんにちは、TIGの村田です。GCP連載企画2日目の記事です! 皆さんは普段どのようなアプリケーションを開発されてますか?私は最近Kubernetes上にデプロイされるマイクロサービスなアプリケーションに携わっています。 今回はIstio on GKEに焦点をあててGCPにおけるサービスメッシュの活用方法をご紹介したいと思います。 GKEクラスタを作成するまずはクラスタを作成します。 基的にはデフォルト値のままクラスタ作成してしまおうと思います。 変えるのは一箇所だけ、今回の目玉の部分です。 Additional features の Enable Istio にチェック! チェックを入れると Enable mTLS 欄が登場します。 選べるのは Permissive と Strict の2種類ですが、今回はデフォルト値である Permissive のままとします。詳しくは以下の

    GCP連載#2 Istio on GKEではじめるサービスメッシュ | フューチャー技術ブログ
    progrhyme
    progrhyme 2020/02/13