タグ

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

  • Goのおすすめのフレームワークはnet/http | フューチャー技術ブログ

    僕としてはGoのおすすめのフレームワークを聞かれたら、標準ライブラリのnet/httpと答えるようにしています。というよりも、Goの他のフレームワークと呼ばれているものは、このnet/httpのラッパーでしかないからです。 Goでアプリケーションを作成する場合のイメージは次の通り。battery includedなアプローチは他の言語でもたまにありますが、ついてくる機能が今時のものが多くて、標準ライブラリで済むことが多いです。ウェブ開発についてもそんな感じです。 PythonとかRubyとかもそうですが、言語組み込みのウェブサーバー機能はテスト用で番運用には機能が足りない、性能が足りない、ということから「プロダクションに耐えうるフレームワークを別に入れないと」と思う人も多いんじゃないかな、と思いますが、Goの場合は組み込みのサーバーで問題なかったりします。Node.jsに近いかも?世間に

    Goのおすすめのフレームワークはnet/http | フューチャー技術ブログ
  • Goの標準ライブラリのコードリーディングのすすめ | フューチャー技術ブログ

    パッケージの選定そもそも、どのパッケージを読んだらいいんだろう?という疑問があると思います。上記のパッケージを選定した方法を紹介したいと思います。 読むパッケージの選定は有志のメンバ数名で一緒に決めました。 まずパッケージのステップ数を見てスクリーニングしています。gocloc というツールを使うと以下のフォーマットで簡単にステップ数を確認することができます。 $ gocloc archive ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- Go 21 7

    Goの標準ライブラリのコードリーディングのすすめ | フューチャー技術ブログ
  • 本当に使ってよかったOpenAPI (Swagger) ツール | フューチャー技術ブログ

    サードパーティ製のツール家からは上述のツールが提供されていますが、サードバーティ製の様々なツールが世の中には存在します。 エコシステムが成熟しているのもSwaggerを利用するメリットの一つですね。 https://openapi.tools/ 冒頭のとおり、このサードパーティ製のツールの中で実際に利用して良かったツールを3つご紹介したいと思います。 Stoplight Studiohttps://stoplight.io/studio/ 1つ目のツールは「Stoplight Studio」というAPI仕様を記載するためのGUIエディタとなります。 今までSwagger Editorを利用してYAMLを書いていたそこのみなさん、YAML筋力はもう必要ありません。 Design APIs 10x faster の謳い文句どおり、Stoplight Studioを使えばGUIで直感的に、高速

    本当に使ってよかったOpenAPI (Swagger) ツール | フューチャー技術ブログ
  • Terraformのベストなプラクティスってなんだろうか | フューチャー技術ブログ

    はじめにこんにちは、TIG DXユニット 1の木村です。 入社以降ずっと触ってきたTerraformですが、巷ではWorkspace派だったり、module派だったり、ディレクトリ完全分離派だったり、様々な流派(プラクティス)が乱立しているのを目にします。私自身ベストな構成を模索していく中で辿り着いた結論は、ケースバイケースで全てのデザインパターンに対応できる万能なものは存在しないのかな (当たり障りないですね..)ということです。 そんなわけで、様々なTerraformの流派を紹介し、各流派がどのようなパターンに向いているのか(はたまた不向きなのか)の個人的見解をまとめてみました。 ※記事中のサンプルコードはすべて Terraform 0.12、 provider google cloud で解説してます Terraformとは?当社過去記事に解説があります。Terraformの概要や

    Terraformのベストなプラクティスってなんだろうか | フューチャー技術ブログ
  • システム開発で得たRedis利用ノウハウ | フューチャー技術ブログ

    こんにちは。初投稿です。 2012年新卒入社の竹内です。入社当時を振り返るとOracle10g,11gを良く利用していおり、データモデリングなどテーブル設計が好きで、2018年4月ぐらいまでRDBとバッチに浸ってました。 さて、現在プロジェクトでRedisを使っているのですが、いままでRDB人間だっただけにKVSやRedisならではの特徴に四苦八苦してます。 苦しんだ分、色々な知見を得ることができているので、その内容をご紹介します! 対象者 Redisの業務システム導入を検討している方 RDBとRedisの違いを知りたい方 現場的なRedisの利用方法を知りたい方 書いてないこと データ型やコマンドなど、HelloWorld的に公式ドキュメントを見て得られる情報 インストールなど、Redisを利用できるまでの手順 フェイルオーバーやバックアップをはじめとする運用に関する内容 データ永続化に

    システム開発で得たRedis利用ノウハウ | フューチャー技術ブログ
  • Goを学ぶときにつまずきやすいポイントFAQ | フューチャー技術ブログ

    他の言語になれた人が、初めてGoを書いた時にわかりにくいな、と思った部分はどういうところがあるのか、難しいポイントはどこか、という情報を自分の経験や、会社の内外の人に聞いたりしてまとめてみました。まだまだたくさんあるのですが、多すぎるのでまずはこんなところで。コンテナで開発することがこれからますます増えていくと思われますし、その時にコンテナとの相性が抜群なGoをこれから使い始める人もどんどん増えていくと思います。 Goは特に言語のコアをシンプルに、何かを実現するときはそのシンプルな機能を組み合わせて実現しよう、というコンセプトです。つまり、他の言語で実現したいこと・できていることに比べて、Goは組み合わせ(イディオム)でカバーする領域が広くなります。そのあたりのとっかかりになる情報を提供することが、これからGoを触る人にとってつまずきを減らすことになると思います。 Go Conferenc

    Goを学ぶときにつまずきやすいポイントFAQ | フューチャー技術ブログ
  • 仕事ですぐに使えるTypeScript — 仕事ですぐに使えるTypeScript ドキュメント

    注釈 ドキュメントは、まだ未完成ですが、ウェブフロントエンドの開発を学ぶときに、JavaScriptを経由せずに、最初からTypeScriptで学んでいく社内向けコンテンツとして作成されはじめました。基の文法部分以外はまだ執筆されていない章もいくつもあります。書かれている章もまだまだ内容が追加される可能性がありますし、環境の変化で内容の変更が入る可能性もあります。 書籍の原稿はGitHub上で管理しております。もしTypoを見つけてくださった方がいらっしゃいましたら、 GitHub上で連絡 をお願いします 1 。reSTファイルだけ修正してもらえれば、HTML/PDFの生成までは不要です。フィードバックなども歓迎しております。 1 https://github.com/future-architect/typescript-guide/pulls

  • 仕事ですぐに使えるTypeScript — 仕事ですぐに使えるTypeScript ドキュメント

    注釈 ドキュメントは、まだ未完成ですが、ウェブフロントエンドの開発を学ぶときに、JavaScriptを経由せずに、最初からTypeScriptで学んでいく社内向けコンテンツとして作成されはじめました。基の文法部分以外はまだ執筆されていない章もいくつもあります。書かれている章もまだまだ内容が追加される可能性がありますし、環境の変化で内容の変更が入る可能性もあります。 書籍の原稿はGitHub上で管理しております。もしTypoを見つけてくださった方がいらっしゃいましたら、 GitHub上で連絡 をお願いします 1 。reSTファイルだけ修正してもらえれば、HTML/PDFの生成までは不要です。フィードバックなども歓迎しております。 1 https://github.com/future-architect/typescript-guide/pulls

  • 5TB/日 のデータをAWS Glueでさばくためにやったこと(概要編 | Future Tech Blog - フューチャーアーキテクト

    みなさん、初めまして、お久しぶりです、こんにちは。 フューチャーアーキテクト2018年新卒入社、1年目エンジニアのTIG(Technology Innovation Group)所属の澤田周吾です。大学では機械航空工学を専攻しており、学生時代のインターンなどがキッカケで入社を決意しました。 実は、記事でフューチャーテックブログの2記事目となります。インターン時代も ジャガイモARの記事 を書かせて頂きました。入社してからもこうして業務で学んだIT技術を記事に書くという機会を貰え、なんだか懐かしいやら感慨深いやらの思いで一杯です。 さて、3ヶ月の新人研修後にすぐに配属されたプロジェクトで、AWSを使ったビックデータ分析のための基盤構築をお手伝いしています。わたしは分析のための前処理であるETL(Extract、Transform、Load)処理部分をちょっと変わった性格の先輩方と一緒に開発

    5TB/日 のデータをAWS Glueでさばくためにやったこと(概要編 | Future Tech Blog - フューチャーアーキテクト
  • マネージャーがうれしいRedmineデータのダッシュボード表示方法を公開します!! | フューチャー技術ブログ

    はじめにこんにちは。近藤です。 前回までの記事です 1記事目 はRedmineのデータをKibanaで表示しました 2記事目 はRedmineのデータからEVMグラフを作成しKibanaで表示しました 3記事目となる記事ではRedmineデータを可視化するダッシュボードをKibana上に構築します。Kibanaを使うことによって例えば、担当者別のタスク量、トラッカー別のタスク量、EVMグラフを同時に把握できます。 ◆ダッシュボード例 では早速、Kibanaを使ってみましょう。 なお、下記を前提としています。 Windows環境で構築する Redmineのデータベース(MySQL)に直接接続する 大まかな流れ下記の手順でグラフを表示します。 環境構築 データ投入 ダッシュボード構築 1.環境構築今回もELK+Timelionを利用して、Redmineデータの可視化環境を構築します。 モジュ

    マネージャーがうれしいRedmineデータのダッシュボード表示方法を公開します!! | フューチャー技術ブログ
  • AIを使って顔画像から「常連さん」を判定しよう! | フューチャー技術ブログ

    はじめにこんにちは。データ分析チーム・入社1年目のルーキー、小池です。 データ分析チームでは、画像処理・自然言語処理など様々な分野に取り組んでおり、機械学習や多変量解析を用いたデータの分析を行っています。 そんな中で私は機械学習・Deep Learningによる画像処理系の分析を行っています。 記事では、私達の取り組みの一部をご紹介すると同時に、画像分析の面白さを体感していただければと思います。 今回のテーマ今回のテーマは、AI(機械学習・Deep Learning等)を用いて、 大量にある顔画像の中から同一人物をクラスタリングし、頻出する顔画像の抽出 を行いたいと思います。 簡単に言うと、 たくさんある画像から同じ人を見つけること を機械(AI)にやらせるということです。 目的「たくさんある画像から同じ人を見るけること」ができれば、以下1~3の流れで、店舗に来るお客さんが常連さんか否か

    AIを使って顔画像から「常連さん」を判定しよう! | フューチャー技術ブログ
  • SQL実行時のブルームフィルタ(Bloom Filter)アルゴリズム | フューチャー技術ブログ

    1. 初めにDBにおける処理はSQLによって記述しますが、データの取得するために具体的にどのような内部処理を行うかという点までは記述しません。 ここでいう内部処理とは「SQLの書き換え」「インデックスの使用」「結合アルゴリズムの選択」などがDBMSのオプティマイザによって選択されて実施されることを指します。 SQLのパフォーマンスを見るにあたっては上記の内部処理について正しく理解する必要があります。 Blogでは、重要なアルゴリズムであるにもかかわらず、まとまった情報が少ないSQL実行時におけるブルームフィルタ(Bloom Filter)についてOracleをもとに紹介を行います。 Bloom Filterは結合処理を効率化するために、結合の前段階で利用される技術になります。 公式なドキュメントとしては以下になります。 Oracle Database SQLチューニング・ガイド 12cリ

    SQL実行時のブルームフィルタ(Bloom Filter)アルゴリズム | フューチャー技術ブログ
  • Javaコーディング規約 | Future Enterprise Coding Standards

    ※ Sun Microsystems の規約は Java 草創期から一応の標準という位置づけだったが、オブジェクト指向、及び、その開発環境の普及・発展によって、設計やコーディングにおいて、直接的に有用な知識や豊富な指針を含むような優れた規約や、ツールなどによる機械的な準拠チェックと連携する規約が普及してきている。 # 規約の重要性 標準としての規約を定義し、遵守することの重要性を以下に示す。 ソフトウェアメンテナンスにおける、可読性・保守性・拡張性の向上 問題を起こしやすい実装を未然に回避することによる、品質・生産性の向上 標準規約を通して得られる一般的な実装知識やノウハウ(=学習効果) # コーディングの心得 長いプログラムを記述すること(ステップ数)によって生産性が評価されたのは、過去の時代の出来事である。現在は、クラスやメソッドの役割が明確で、ロジックが読みやすく、保守性に優れたプロ

  • システム屋さんがうれしいJava8対応のコーディング規約を公開します!! | フューチャー技術ブログ

    はじめにこんにちは。星です。 弊社では、お客様の基幹システム構築をする際、Java言語を採用することが多いのですが、2015年4月末にJava7のサポート切れになったことを受けて、昨年よりJava8で開発をしています。 弊社でもそれなりの規模の案件になると、社員やパートナーの皆様を合わせて、数百人が同時に開発することも珍しくありませんので、私の所属する技術部隊でコーディング規約をはじめとして、開発をするにあたってのガイドラインの整備やEclipse等の開発環境の整備などのタスクを実施して、標準化とクオリティの担保を推進しています。 さて、Java8においては、Java7において実装見送りとなったStream APIやラムダ式といった大きな機能追加がありました。とはいえ、これらの機能を使ったとして、性能的に大丈夫なのかとか、どういったコーディングスタイルが良いのか?など、エンタープライズ領域

    システム屋さんがうれしいJava8対応のコーディング規約を公開します!! | フューチャー技術ブログ
  • これさえあればシステム構成図がだいたい描けるアイコンセットを公開します! | フューチャー技術ブログ

    🚧新しいVersionが公開されています🚧 こちらの記事もどうぞ確認ください。 これさえあればサービス構成図がだいたい描けるアイコンセットを公開します! こんにちは。@chanomaruです。 みなさん、スライドを作ってますか? 最近はビジネスパーソンだけでなく、学生さんもプレゼンテーションをする機会が多くなってきていますよね。 エンジニアがよく作るスライドの一つにシステム構成図があります。 わたしもシステムがどのような構造になっているかを説明する際によく作成しています。 システム構成図では各技術要素をアイコンで表現することが多いです。 しかし「ロードバランサー」や「キュー」など、よく使うわりにアイコンを探しにくいモチーフも多いですよね? ・・・ということで、社内で利用されている 「これさえあればシステム構成図がだいたい描けるアイコンセット」を公開します! アイコンセット含まれているア

    これさえあればシステム構成図がだいたい描けるアイコンセットを公開します! | フューチャー技術ブログ
  • 1