並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 923件

新着順 人気順

技術ブログの検索結果161 - 200 件 / 923件

  • Go Tips 連載5: エラーコードベースの例外ハンドリングの実装+morikuni/failureサンプル | フューチャー技術ブログ

    概要TIG DX所属の多賀です。最近は設計をしつつ Go も触れて引き続き楽しく仕事してます。 今回は、errors package を一部利用して、エラーコードベースのエラーハンドリング処理を実装しました。また、morikuni/failure を利用した実装への書き換えも試してみています。 エラーコードベースの例外ハンドリングについて前提としてGoで書かれた HTTP APIサーバーに対してのエラーハンドリングについて記載します。 エラーコードベースの例外ハンドリングについてですが、アプリケーションで発生するエラーを事前にラベリングしてコード化し、コードをもとにエラーハンドリングを実施することとします。発生時の運用対応や影響について、事前に一覧で整理することで、運用負荷を下げる意味があると考えています。(補足: Futureではメッセージコードと呼称することが多いですが、一般的な命名で

      Go Tips 連載5: エラーコードベースの例外ハンドリングの実装+morikuni/failureサンプル | フューチャー技術ブログ
    • スキーマのバージョン管理と互換性の話 | フューチャー技術ブログ

      はじめにはじめまして、TIGの原木です。サービス間通信とIDL(インタフェース記述言語)連載の4本目です。 気が付けば、バージョンの話0ばかりしています。 この記事ではスキーマのバージョン管理と互換性について話します。 “スキーマ”が指し示す言葉と課題一般的にスキーマのバージョン管理という話が出た場合、次のどちらかを想像する人が多いのではないでしょうか。 データベースのスキーマ(DB内のデータ構造)の変更をどうやってバージョン管理していくか サービス間通信で使用するデータフォーマット(ex. gRPCのprotobuf)をどうやってバージョン管理していくか データ構造が変わったことによりソフトウェアの改修が発生するとわかった瞬間、この問題に直面して「どうしよう…」と悩まれた経験を持つ方は数知れずいらっしゃるかなと思います。 両者において、スキーマのバージョン管理が課題だと意識するタイミング

        スキーマのバージョン管理と互換性の話 | フューチャー技術ブログ
      • 「よいサンプルコード」ってどんなサンプルコード? 〜Qiitaや技術ブログを書くときに気を付けること〜 - Qiita

        「よいサンプルコード」ってどんなサンプルコード? 〜Qiitaや技術ブログを書くときに気を付けること〜QiitaRuby はじめに Qiitaやブログに技術記事を書く場合は多かれ少なかれ、サンプルコードを書くと思います。 たかがサンプルコード、されどサンプルコード。 技術記事に書くサンプルコードはどうあるべきなのでしょうか? いろいろな観点があると思いますが、この記事では僕が考える「よいサンプルコード」について語ってみようと思います。 なお、この記事のサンプルコードはRubyで書いていますが、記事の内容自体はRubyに限らずどんな言語にも適用できるものです。 どういったサンプルコードが理想的なのか(大雑把なレベルで) 細かいポイントの説明に入る前に、大雑把なレベルで理想的なサンプルコードについて確認しておきましょう。 以下は僕が考える理想的なサンプルコードです。 読み手(=見知らぬ第三者)

          「よいサンプルコード」ってどんなサンプルコード? 〜Qiitaや技術ブログを書くときに気を付けること〜 - Qiita
        • エンジニアが最低限理解しておくべきOSSライセンスの基礎知識 | フューチャー技術ブログ

          フューチャー夏休み自由研究連載15本目の記事です。 はじめにシステム開発にてオープンソースのライブラリやフレームワークを利用することは、もはや当たり前となっています。 みなさんはOSSのライセンスについてどの程度理解していますでしょうか。 OSSだから無条件に利用可能だと思っていませんか? 本記事では、OSSのライセンスについて最低限エンジニアとして理解しておくべき内容を整理します。 なお、筆者は法学の専門家ではないことを事前にご了承ください。 本記事の内容は筆者個人の調査によるものであり、正確であるよう可能な限り努力しておりますが、間違いが含まれている可能性があります。あくまで参考資料としてご活用いただければ幸いです。 前提としてOSSとはオープンソースソフトウェア(OSS)とは、利用者の目的を問わずソースコードを使用、調査、再利用、修正、拡張、再配布が可能なソフトウェアの総称となります

            エンジニアが最低限理解しておくべきOSSライセンスの基礎知識 | フューチャー技術ブログ
          • data-testidはいつ使うべきか?そもそも使うべきなのか? | フューチャー技術ブログ

            Playwrightあるいはそのロケーターの元ネタとなっているTesting Libraryでは、DOMを指定する方法として data-testid 属性を扱ったクエリーを提供しています。どちらでも getByTestId(ID文字列) メソッドを使い、この属性値を使った要素の取得が行えます。しかし、ドキュメントを見ると、PlaywrightもTesting Libraryも、「他の手法が使えないときの最終手段」としています。 In the spirit of the guiding principles, it is recommended to use this only after the other queries don’t work for your use case. Using data-testid attributes do not resemble how your

              data-testidはいつ使うべきか?そもそも使うべきなのか? | フューチャー技術ブログ
            • 画面の解像度の要件定義の話 | フューチャー技術ブログ

              最近、企業内システムのウェブサービス開発や、B2B2B案件とかでウェブの画面を作るケース、Flutterでスマートフォンアプリを開発するときに、画面の要件をどうしましょう、という話が出てくることが多く、毎回似たような説明をしている気がするので、時間節約のためにまとめておきます。 単にパソコンやモニターのカタログスペックを持ってくるだけじゃだめだということがお分かりいただければ大丈夫です。 解像度の論理と物理AppleがRetinaを世に出すまでは、基本的にコンピュータが想定するdpi値はほぼ同じでした。dpiというのはインチあたりのドット数で、10ポイントのフォント、といった文字の表示の時の基準になる単位です。同じポイントのテキストであれば、ピクセルサイズの絵として画面に表示されていました。 iPhoneは2010年のiPhone 4から2倍解像度になってRetinaと名付けられたディスプ

                画面の解像度の要件定義の話 | フューチャー技術ブログ
              • 読まれる技術ブログを書くヒント - 企業技術ブログ

                忙しい業務の合間をぬって書く技術ブログ、せっかくなら多くの人に読まれたいですよね。 エンジニア向けメディアなど、企業のコンテンツマーケティング支援やHatena Developer Blogの編集サポートなども担当しているはてなの編集者に、読まれる技術ブログを書くヒントや、はてなで実践している工夫について聞いてみました。ブログを書く際に、よろしければ参考にしてみてください。 記事タイトルにこだわりましょう人は記事タイトルを見て、中身を読むか判断します。つまり、タイトルの書き方ひとつで読まれやすくもなるし、逆に損をすることもあるのです。読まれるブログを目指すとき、まず記事タイトルに注力することをおすすめします。 見出しを読み手への道標に活用しましょう「いま何の話をしているのか」読み手が迷わない道標として、見出しを活用しましょう。 目次を見て、各セクションにどんなことが書いてあるのかイメージで

                  読まれる技術ブログを書くヒント - 企業技術ブログ
                • Playwright連載始まります | フューチャー技術ブログ

                  E2Eフレームワークとして高い人気を誇ってきたのがCypressです。使いやすいテストランナー、わかりやすいテスト結果、TypeScriptの組み込みサポート、プラグインによる拡張、(Seleniumと比較して)高速な実行などを提供しています。フューチャー社内でも使っているプロジェクトがいくつもあり、過去にCypress連載をブログ上で行い、それがきっかけとなってSoftware Designに連載も行いました。 一方で、現在人気が高まりつつあって、Cypressを追い抜こうとしているのがPlaywrightです。かなりCypressを意識して機能追加を行なってきている印象があります。現時点では特徴的なタイムトラベルデバッガー(過去の履歴すべてを保持しておいて気軽に前後DOMの状態を比較したりできる)、スクリーンショット、どちらもExperimentalなコンポーネントテストなど、できるこ

                    Playwright連載始まります | フューチャー技術ブログ
                  • GoとSuffixArray | フューチャー技術ブログ

                    フューチャー夏休みの自由研究連載の5回目です。 はじめにTIG の辻です。 Go は標準ライブラリが充実しているとよく言われます。標準ライブラリだけで、HTTP サーバを作れたり、暗号化処理や、JSON や CSV といったデータ形式を扱うことができます。go list std | grep -v vendor | wc -l としてパッケージ数を見てみると、約 200 ものパッケージが存在することがわかります。本記事では、その多くの Go の標準ライブラリの中でも、個人的に面白いなと思ったライブラリを紹介したいと思います。suffixarray パッケージです。 suffixarray パッケージは Suffix Array を扱うライブラリです。suffixarray パッケージの魅力を感じるには、まず Suffix Array とは何か?を知る必要があるでしょう。 Suffix Ar

                      GoとSuffixArray | フューチャー技術ブログ
                    • タイミーのEMとしてどのようにマネジメントしているか - Sionの技術ブログ

                      はじめに 16歳からゲーマーとしてずっとチームマネジメントをやっており、 自身の強みなので本腰入れてやりたいという思いで1月にタイミーに入社しました。 結果、今はSREマネージャー(2人) + BI基盤チームマネージャー(3人) + コーポレートエンジニア(3人)として働いてます。 そんなにメンバーはいませんがマネージャーはやれてると思ってるので、色々と書いてみたいと思います。 そんなに掛け持ちして大丈夫なの? スタートアップは仕方ないです。ぜひ強い方募集してます。 自分の脳内の長期計画は全てアウトプットしてチームと精査してるので出来る人がやればいい状態です。 私自身マネジメントしながら、業務でコードも書いてレビューもしてるので、自身の時間を作るために自走できるチームを作り上げるためのマネジメントでもあります。 マネージャーとしてどういう動きしてるの? - ローテーション可能のものとする

                        タイミーのEMとしてどのようにマネジメントしているか - Sionの技術ブログ
                      • Cloud Spannerのローカル開発環境をdocker-composeでサクッと立ち上げる | フューチャー技術ブログ

                        最小構成のリージョン+1ノード構成でも、なかなかのコストが掛かりますね。 開発環境どうするかコストが高いので、開発環境用に気軽にインスタンスを立ち上げるのは難しそうです。 ということで、本記事ではGCPが公式で提供してくれている Spanner エミュレータ を使って開発環境を立ち上げます!(エミューレータあってよかったありがとう!) gcloud CLIとdockerイメージでの提供がありますが、今回はdocker-composeで利用する例を紹介します。 サンプルコードはこちら: tarosaiba/docker-compose-spanner 以下2点工夫したポイントです。 通常、Spannerエミュレータ起動後にインスタンスの作成手順(gcloud spanner instances create)が必要になりますが、docker-compose立ち上げ時に自動でインスタンス作成さ

                          Cloud Spannerのローカル開発環境をdocker-composeでサクッと立ち上げる | フューチャー技術ブログ
                        • GCP連載#3 Goでサーバーレスな管理画面アプリを作る | フューチャー技術ブログ

                          このうち、Cloud Funcionsと、AWSのLambdaはライバルのように言われます。実際機能的には似通っています。LambdaはHTTPのサーバーとして公開しようとすると、API Gatewayが必要なぐらいですね。 Cloud RunとFargateもライバルのように言われますが、Fargateは複数のコンテナを組み合わせたタスク単位で実行しますが、Cloud Runは単体のコンテナの実行になり、そこは少し差があります。 今回は、Go + Vue + Cloud Runでかんたんな管理画面を作ろうと思います。ストレージ側にもサーバーレスがあります。MySQLやPostgreSQLのクラウドサービス(Cloud SQLとかRDS)は、サーバーマシンを可動させて、その上にDBMSが稼働しますので、起動している時間だけお金がかかってしまします。一方、FirestoreやDynamoDB

                            GCP連載#3 Goでサーバーレスな管理画面アプリを作る | フューチャー技術ブログ
                          • 技育祭登壇しました。これから機械学習を学びたい方向けへの自分の経験談とおすすめの本、サイトの紹介もします | フューチャー技術ブログ

                            技育祭登壇しました。これから機械学習を学びたい方向けへの自分の経験談とおすすめの本、サイトの紹介もします TIGの玉木です。去年の12月までは主に機械学習エンジニアとして機械学習案件を任されていましたが、今年の1月からはITコンサルタントとして業務の幅が広くなりいろいろやっています。 先月技育祭 1と呼ばれるイベントの勉強会という枠で、同僚の上野さんと一緒に「初心者必見!機械学習エンジニアがあれこれ話します。〜基礎から実社会応用まで〜」というタイトルで発表しました。この記事では技育祭の簡単な紹介と、当日あったこれから機械学習学びたい方向けへの本、サイトの紹介をします。 技育祭とは公式サイト 1から引用させていただくと、 技育祭は「技術者を育てる」ことを目的としたエンジニアを目指す学生のための日本最大のテックカンファレンスです とのことです。元2ちゃんねる管理人のひろゆきさんや、東京大学の松

                              技育祭登壇しました。これから機械学習を学びたい方向けへの自分の経験談とおすすめの本、サイトの紹介もします | フューチャー技術ブログ
                            • CSV処理における共通処理をDecoratorパターンで実現する | フューチャー技術ブログ

                              はじめにTechnogoly Innovation Group 辻です。 システム間のデータ連携として、他システムが出力した CSV ファイルを Go で読み込んでリレーショナルデータベースにファイルのデータを保存する、という処理がありました。CSV の値をデコードしたあとに共通的な処理を差し込みたいユースケースで Decorator パターンを使って実装をしました。コードベースをシンプルに保ちつつ共通処理をフックできます。実用的なユースケースで Decorator パターンを紹介する記事は少ないと思ったので、本記事を書きました。 まず Decorator パターンが必要になった背景を説明したあとに具体的な Go の実装を見ていきます。 背景他システムが出力した CSV ファイルを Go でデコードして、PostgreSQL にデータを投入するような処理がありました。簡略化したイメージは以

                                CSV処理における共通処理をDecoratorパターンで実現する | フューチャー技術ブログ
                              • ミーティングの時間になると勝手に議事録を開いてほしい - nakaoka3の技術ブログ

                                これははてなエンジニアアドベントカレンダー2022 38日目の記事です。 昨日は id:yutailang0119 さんの Programmatic NavigationStack 備考録 - がんばってなんか書くでした。 MeetingBar.appとAppleScriptを使って議事録用のwebページを自動で開く方法を解説します。 毎日ミーティングのたびにGoogle MeetやZoomを開き、さらに議事録ページを開く作業にうんざりしてないでしょうか。MeetingBar.appを使うことでGoogle MeetやZoomと議事録を開く作業を自動化できます。 MeetingBarとはmacOS用のアプリケーションです。ZoomやGoogle Meetで予定されたミーティングの時間になると自動的にミーティングを起動する事ができて大変便利です。 github.com MeetingBarは

                                  ミーティングの時間になると勝手に議事録を開いてほしい - nakaoka3の技術ブログ
                                • 技術ブログに CI を導入する - ドワンゴ教育サービス開発者ブログ

                                  技術ブログで公開する記事の品質を安定させ、効率的に執筆できるよう、 CI の導入に着手しました。 技術ブログを継続的に運営する中で、多くのメンバーが執筆に参加しています。 多様な視点の記事を公開できる一方で、技術ブログ全体として一定の品質を担保する必要があります。 人の目でレビューすることはもちろん必要ですが、中でも自動化可能な部分は機械に任せられるように環境整備を進めています。 この記事では、CIの環境や検証内容についてお伝えします。 CIの環境 記事の執筆にあたっては、過去の記事にもある通り一部Google Docsで執筆されている記事を除きGithubのリポジトリでバージョンを管理しています。 Github を利用しているということで CI の選択肢としては Github Actions が真っ先に候補となりますが、今回は AWS CodeBuildを採用しました。 AWS Code

                                    技術ブログに CI を導入する - ドワンゴ教育サービス開発者ブログ
                                  • PythonユーザーのためのGraalVM | フューチャー技術ブログ

                                    ちょうど一年ぐらい前にGraalVMが商用利用可能な安定版に達し、Enterprise版もリリースされたというニュースがあります。 publickey: GraalVM、ついに本番利用可能なバージョン「GraalVM 19.0」登場、JavaやJavaScriptなど多言語対応ランタイム。商用版のGraalVM Enterprise Editionもリリース GraalVMにはPython機能もあると宣伝されているものの、詳しい説明が行われることがなく、それが何者で、どのようなステータスで、どこを目指しているのか、きちんと答えられる人は(日本どころか世界でも)ほぼいないでしょう。GraalVMそのものの説明はちょくちょく出てくるようになってきたと思いますが、そのPythonの機能についてはあまり説明されていないため、Python部分にフォーカスして紹介します。 Graal.Pythonのイ

                                      PythonユーザーのためのGraalVM | フューチャー技術ブログ
                                    • TetragonでeBPFとセキュリティオブサーバビリティ入門 | フューチャー技術ブログ

                                      CNCF連載 の4本目です。 はじめに数年前にクラウドネイティブ注目技術として挙げられたeBPFにかねてよりキャッチアップしたいなと思っていたので、この連載のタイミングでeBPFとその関連プロダクトに入門してみることにしました。 CNCFプロジェクト傘下のeBPFを活用したプロダクトとしてはCilium, Falcoなどが挙げられます。CiliumはKubernetesなどのクラウドネイティブな環境でネットワーク、オブサーバビリティの機能を提供するOSSなのですが、今回はそのいわばサブプロジェクト的な位置づけのセキュリティツールである、Tetragonに触ってみます。 Cilium, Tetragonの開発をメイン行っているIsovalent社は、書籍やハンズオンラボなどで自社の製品・eBPFについての学習リソースを多く提供しています。 https://isovalent.com/reso

                                        TetragonでeBPFとセキュリティオブサーバビリティ入門 | フューチャー技術ブログ
                                      • Spring Bootアプリケーションのネイティブイメージが簡単に作れるSpring Nativeの紹介 | フューチャー技術ブログ

                                        はじめにこんにちは、2021年新卒入社の本田です。私はJavaもSpring Bootもほとんど何も知らないのですが、業務でSpring Bootを使いそうなので、「Spring勉強しなきゃ😇」という気持ちがあります。 Spring Bootアプリケーションのネイティブイメージが簡単に作れるSpring Nativeについて調べてみたので、それを紹介します。 Spring Nativeとは?Spring NativeとはSpring Bootアプリケーションをほとんど変更することなく、ネイティブイメージを生成することを目指したプロジェクトです。ネイティブイメージの実行はJVM(Java仮想マシン)による実行と比べて、起動時間が早い、ピークパフォーマンスに達するのが早い、メモリの使用量が小さい等の利点を持っています。 Spring Nativeでは、Spring Bootアプリケーションの

                                          Spring Bootアプリケーションのネイティブイメージが簡単に作れるSpring Nativeの紹介 | フューチャー技術ブログ
                                        • PJでUIデザインにAtomic Designを導入したらどうだったのか | フューチャー技術ブログ

                                          今回はUIと少しUXのお話ですこんにちは。フューチャーでUXの専門家をさせていただいている平川といいます。 フューチャー技術ブログでは、【Figma】を使ってチームでUI/UX設計するといいこと の記事を書いた久保さんと同じチームに所属しています。 PJでは最高の顧客業務を目標に、業務、UX、UIの設計と、アプリ開発をさせていただいています。 今回はPJの現場でUXとUIのデザインを通して、Atomic Designの導入はどのような結果を生んだのか、Atomic Design導入に際しての課題や取り組み方のコツなんかをお伝えできればと思います。 Atomic DesignAtomic Designは、Webページやアプリケーションを作成する際に、UIの最小要素(原子)からの組み合わせで構築していく考え方です。Atomic Designの提唱者はHTMLタグを元素周期表に見立ててそれを原子

                                            PJでUIデザインにAtomic Designを導入したらどうだったのか | フューチャー技術ブログ
                                          • 【Kubernetes】未経験から1か月経ったので振り返る - APC 技術ブログ

                                            こんにちは、クラウド事業部の中根です。 未経験からKubernetesに入門して約1か月が経ったので、振り返りたいと思います! 実務に入る前の予習なので、実務を通した実践的な学習はしていない点はご了承ください。 学習の動機 入門前のレベル感 学習プロセス 入門0~7時間 入門7~32時間 入門32~60時間目 入門60~71時間目 入門71~132時間目 +α できるようになったこと 次のステップ これから入門する方へ おわりに お知らせ 学習の動機 私は中途入社で、案件は決まったのですが、参画まで1か月半ほど待機期間となりました。 クラウドネイティブな案件ということで、この期間を活かしてKubernetesのキャッチアップをすることになりました。 入門前のレベル感 IT業界経験が3年と1か月です。 以下、関係する領域の詳細です。 Kubernetes ほぼ未経験。 OpenShiftをち

                                              【Kubernetes】未経験から1か月経ったので振り返る - APC 技術ブログ
                                            • ライブラリ自動更新にrenovateを導入してみる - APC 技術ブログ

                                              renovate導入の話 みなさんはアプリケーションで使用しているライブラリ等の更新どうされていますか? 手動で行われていますか?それとも何か自動ツールを利用されていますか? 今回はそうしたライブラリ等の自動更新ツールであるrenovateを導入したときの 模様をお伝えしたいと思います。 といっても、インストールなどの方法は様々なところで紹介されているので省略し、導入過程でどういった状況になったかという ところをお伝えしたいと思います。 最初の実行 いくつかアプリケーションを開発していますが、まずは最初に Typescript / Node.js / NestJS を技術要素とするアプリケーションに 適用してみました。 まずは何も設定を行わず、単純にrenovateコマンドを実行しただけの状態です。 すると・・・出ました、たくさんのPull Requestが。初期状態だと以下のような動作を

                                                ライブラリ自動更新にrenovateを導入してみる - APC 技術ブログ
                                              • Go 1.21連載始まります&slogをどう使うべきか | フューチャー技術ブログ

                                                Go 1.21は久々の新しいライブラリが大量追加だったり、既存のパッケージへの改良の多数行われたり、あたらしい組み込み巻数が追加されたりで記事などが書きやすいリリースです。残念ながら、フューチャーで一番Goを使っているプロジェクトが山場で今回はちょっと書き手が少ないのですが、今回もお付き合いいただけるとうれしいです。 1.21の更新内容のまとめダイジェスト 1.18の時に入るといって直前にキャンセルになった、ジェネリクスのためのパッケージslices/mapsの復活 新しい組み込み巻数のmin/max/clearの追加 言語仕様の強化 パッケージの初期化順序が仕様化 型推論ちょっぴり強力に 次期バージョンで入る予定のループ変数が共有されちゃうバグ対策が実験実装 ランタイムの性能改善(いつもの) 深いスタックオーバーフロー時のトレースが見やすく(最新100ではなく、最新50と一番外側の50表

                                                  Go 1.21連載始まります&slogをどう使うべきか | フューチャー技術ブログ
                                                • 技術ブログをNuxt + Netlify + Contentfulから、はてなブログ for DevBlogに移行しました - もふもふ技術部

                                                  こんにちは。出口です。 タイトルにある通り、技術ブログをはてなブログに移行しました。 この記事では、なぜ移行することになったのか、どうやって移行したのか、移行で苦労したところなどをまとめておきたいと思います。 もし脱セルフホストブログ、脱Contentfulや、はてなブログへの移行をお考えであれば参考になるのではないかと思います。 なぜ移行したのか Nuxt 3への移行が大変すぎる Contentfulへの不満が募ってきた 当初の計画 改めて移行を考える 移行について 記事移行 インポート機能を使ってWXRを取り込む場合 AtomPubを使ったパターンの場合 サブディレクトリオプション Netfilyのリバースプロキシ設定 robots.txtを設置 NetlifyのPrerenderingオプション設定 検証ツールで1つだけ検証失敗する まとめ なぜ移行したのか まずそもそもなぜ移行した

                                                    技術ブログをNuxt + Netlify + Contentfulから、はてなブログ for DevBlogに移行しました - もふもふ技術部
                                                  • Go 1.16からリリースされたgo:embedとは | フューチャー技術ブログ

                                                    TIGの伊藤真彦です。 この記事はGo 1.16連載の1記事目です。 トップバッターとしてgo:embedについて記事を書きます。 go:embedとはプロポーザルとなるissueはこちら、2020年9月のissue作成から約5ヶ月の時を経てgo:embedがリリースに含まれることになりました。 embedとは埋め込みという意味です、その名の通りファイル埋め込みをサポートするためのパッケージです。ファイルを読み込むだけならosやio/ioutilでも行うことが可能ですが、go:embedならではの特徴を説明します。 ちなみにio/ioutilはGo 1.16でdeprecatedになりました、詳しくは連載の他の記事で説明します。 利用方法手始めにサンプルコード、main.goを書いてみました。 main.gopackage main import ( _ "embed" "encoding

                                                      Go 1.16からリリースされたgo:embedとは | フューチャー技術ブログ
                                                    • SpringBootで動的な条件をもとにDIしたい | フューチャー技術ブログ

                                                      SpringBootのDependency Injection(DI)は便利ですよね?利用する側にコンストラクタインジェクションやら、フィールドインジェクションやらセッターインジェクションやらの形式で書いておくと、DIコンテナが勝手に実行時に対象となるクラスをもってきてインスタンスの生成をしてくれますし、インスタンスのライフサイクルをインジェクションされるクラス側に書けます。 @Component public class UseDI { private final MyService myService; @Autowired public UseDI(MyService myService) { this.myService = myService; } } @Service public class MyService { public MyService() { System.ou

                                                      • Real World HTTPの第3版ができあがりました | フューチャー技術ブログ

                                                        https://www.oreilly.co.jp/books/9784814400669/ ひとえに読者の皆さんが買ってくれたおかげで、Real World HTTPを改訂し、このたび3版を上梓しました。ありがとうございます。2016年ごろから書き始めて、2017年に初版を出版したので、執筆段階からすると8年ほど経過しているのですが、これだけ長くこの本に関わり続けられるというのは、本書を買ってくださるみなさまのおかげです。 今回は、ひさびさに無料のミニ版も更新しました。本日、このブログと同時にリリースしました。よりミニ版が学習コンテンツとして使いやすくなるように、そもそもブラウザってどんな動きをするの?というイントロの章をミニ版とオリジナル版に追加しました。 また、オリジナル版だけになりますが、HTTPが単なるブラウザとの通信を超えてプラットフォーム API化していっている流れに合わせて

                                                          Real World HTTPの第3版ができあがりました | フューチャー技術ブログ
                                                        • 「2020年代のコンテナ時代のPythonアーキテクチャ&デプロイ」というテーマでPyCon.jp 2020で発表してきました | フューチャー技術ブログ

                                                          「2020年代のコンテナ時代のPythonアーキテクチャ&デプロイ」というテーマでPyCon.jp 2020で発表してきました 初のオンライン&Python 2サポートが終了したあとのPyCon.jpという節目のイベントで発表してきました。 発表資料はこちらになります。 日英表記にした関係で表現をだいぶシンプルに削ることになったりしたので、口頭での説明のみ行ったこととか、その後のTwitterの感想を見て思ったことなどを軽く補足します。 コンテナの時代コンテナのカバレッジが広がっている事例としてはDensoのMisakiとか戦闘機にKubernetesを載せてみました、とかもあります。 https://www.publickey1.jp/blog/20/kubernetesmisaki.html https://www.publickey1.jp/blog/20/kubernetesf-1

                                                            「2020年代のコンテナ時代のPythonアーキテクチャ&デプロイ」というテーマでPyCon.jp 2020で発表してきました | フューチャー技術ブログ
                                                          • Go 1.16のembedとgo-swaggerを組み合わせてフルスタック自動生成フレームワークを作る | フューチャー技術ブログ

                                                            TIGの伊藤真彦です。 渋川さんが投稿された Go 1.16のembedとchiとSingle Page Application Go 1.16のgo:embedとNext.jsの相性が悪い問題と戦う に近い研究記事です。 やりたいこと 私の最近の仕事はgo-swaggerによるバックエンドAPI開発です。本流はバックエンドですが、必要に応じてクラウドインフラを弄ったり、ちょっとしたフロントエンドアプリケーションを作ったりといった動き方で働いています。 ある時、go-swaggerで作ったバックエンドAPIの資産を使って、ちょっとした開発者向けアプリケーションを作りたくなりました。 ローカル環境でサーバーとフロントエンドアプリケーションを両方起動すると、サーバーがlocalhost:3000 フロントエンドがlocalhost:8080を占拠してしまいます。また、フロントエンドとバックエン

                                                              Go 1.16のembedとgo-swaggerを組み合わせてフルスタック自動生成フレームワークを作る | フューチャー技術ブログ
                                                            • stree:S3バケットをtreeするCLIコマンド | フューチャー技術ブログ

                                                              はじめにこんにちは。TIG/EXユニット所属の宮永です。 本記事ではS3バケットをtreeするCLIコマンドを紹介します。 クラスメソッドさんの記事(S3 バケットの中身を tree 形式で表示してくれる s3-tree を Amazon Linux 2 にインストールして使ってみた)を拝見して、s3-treeというツールの存在を知ったのですが、profileを指定できなかったり、バケット単位でしか指定できなかったりと細かな部分で不自由さを感じたためGoでCLIツールを作成しました。 作成したツールは以下リンク先で公開しています。 streeは「エスツリー」と読みます。先に語感の良い名称を思いついたため、衝動に身を任せて開発しました。 機能概要まずは利用画面を見ていただいたほうがイメージ付きやすいかと思いますのでgif画像を添付します。 streeは以下の機能をサポートしています。 バケッ

                                                                stree:S3バケットをtreeするCLIコマンド | フューチャー技術ブログ
                                                              • フューチャーのSwagger(OpenAPI 2.0)規約の紹介 | フューチャー技術ブログ

                                                                おそらく一般的にSwaggerと呼ばれるのはSwagger 2.0で、これは2014に公開された規約です。Swagger 2.0はOpenAPI 2.0と同義で、OpenAPI 3.0.0には2017年に、3.0.3は2020年に公開されています。 なぜ作ったかフューチャーは常に数十の開発プロジェクトが動いており、それぞれの案件内でちょっとした開発規約が作られることもあれば、暗黙的に遵守されるルールもあります。プロジェクトの大小も様々で数名から数百人規模に及ぶこともあり、新卒採用もキャリア採用も活発なので、フレッシュなメンバーも多くジョインしてくれます。 キャッチアップをしやすいように暗黙知を減らし明文化する意味でも、一定ラインの品質を守るためのガイドラインを作る文化があります(大なり小なりどこでもそうだと思いますが)。個人的にも隣のプロジェクトが同じ技術スタックを採用しているのに、マイナ

                                                                  フューチャーのSwagger(OpenAPI 2.0)規約の紹介 | フューチャー技術ブログ
                                                                • チームの開発生産性を高めるための心がけ | フューチャー技術ブログ

                                                                  はじめにTechnology Innovation Group 辻です。 秋のブログ週間の 4 本目です。 最近はアーキテクトとしてチームにジョインすることも増えてきました。より素早く、継続的にビジネス上の価値を提供するためにチームの開発生産性は重要です。チームの生産性を高めるために私が心がけているいくつかの内容を紹介します。 心がけ 開発上のボトルネックを取り除く コードべースの品質を保つ コードを読みやすくする 素早くレビューに取り組む、質問/相談にレスポンスする 体裁の一貫性を保つ 1.開発上のボトルネックを取り除く開発上のボトルネックになっているポイントを発見し、原因を特定し、対応する、ということです。一例をあげると以下のようなことです。 コードの責務がはっきりしておらず、改修時の影響が大きくなる。意図しない挙動になる そもそもテストコードがなく、機能仕様が満たされているのかわから

                                                                    チームの開発生産性を高めるための心がけ | フューチャー技術ブログ
                                                                  • Google Colabを用いたNDLOCRアプリの実行(Google Driveを用いた画像の入力と結果の保存) - デジタルアーカイブシステムの技術ブログ

                                                                    概要 ノートブック 実行方法 入力フォルダの準備 ノートブックの実行:1.初期セットアップ ノートブックの実行:2.設定 ノートブックの実行:3.実行 まとめ 追記 2022.05.02 2022.04.30 概要 前回、Google Cloud PlatformのCompute Engineを用いたNDLOCRアプリの実行方法を共有しました。 nakamura196.hatenablog.com ただし、上記の方法は手続きが一部面倒で、かつ費用がかかる方法です。本番環境で使用するには適した方法ですが、小規模に、または試験的に使用するにはハードルが高い方法でした。 この課題に対して、 @blue0620 さんがGoogle Colabを用いたNDLOCRアプリの実行方法を作成されました。 https://twitter.com/blue0620/status/151929433215901

                                                                      Google Colabを用いたNDLOCRアプリの実行(Google Driveを用いた画像の入力と結果の保存) - デジタルアーカイブシステムの技術ブログ
                                                                    • Go1.22 リリース連載 HTTPルーティングの強化 | フューチャー技術ブログ

                                                                      はじめにGo1.22リリース連載 の5本目です。 本記事ではGoの標準ライブラリである net/http の ServeMux におけるルーティング周りの強化について取り上げます。 関連する Release Note と Issue はこちらを参照してください。 https://tip.golang.org/doc/go1.22#enhanced_routing_patterns https://github.com/golang/go/issues/61410 変更点HTTPメソッドの指定が可能にServeMux.Handle や ServeMux.HandleFunc を使用してハンドラを登録する際に GET /xxx のようにHTTPメソッド指定して、ハンドラを呼び分けることができるようになりました。 mux := http.NewServeMux() // GETを指定したハンドラ

                                                                        Go1.22 リリース連載 HTTPルーティングの強化 | フューチャー技術ブログ
                                                                      • 企業の技術ブログがIT技術の共有において存在感を増している件について - 週刊はてなブログ

                                                                        あなたはいくつ知っている? 週刊はてなブログを運営する「週刊はてなブログ編集部」と、クライアントのオウンドメディア記事を制作する「はてな編集部」が合同でブログを紹介する連載企画「編集部が気になるブログ」。今回は長年企業向けのコンテンツ制作に関わってきた、はてな編集部の毛利が企業の技術ブログを紹介します。 こんにちは。はてな編集部の毛利(id:mohri / @mohri)です。はてな編集部というとまるで「はてな」を編集するかのようですが、はてなに存在する編集部というくらいに考えてください。企業向けコンテンツマーケティング事業における記事制作が主な業務です。 はてなで仕事をする前から私は編集者やフリーライターとしてIT系の書籍やWebの記事を手掛けており、現在もいわゆるテック系の媒体を主に担当しています。そんな中で、最近とくに感じるのは、ITエンジニアリングの情報共有において企業による技術ブ

                                                                          企業の技術ブログがIT技術の共有において存在感を増している件について - 週刊はてなブログ
                                                                        • いぶし銀なインフラ機能「テープバックアップ/リストア」を語る | フューチャー技術ブログ

                                                                          はじめにこんにちは、2018年新卒入社の中本です。 掲題の通り、本稿ではテープバックアップ/リストアについてご紹介したいと思います。なぜこのクラウドネイティブな時代にテープバックアップ/リストア!?という意見もあるかと思われますが、影を潜めつつあるテープバックアップ/リストアを振り返り、 ご存じの方はノスタルジーを、知らない方はテクノロジーを感じていただければ幸いです。 内容以下の順で進めていきます。 テープバックアップ/リストアとは 主なバックアップソフトウェア テープバックアップ/リストアのメリット/デメリット テープリストアの流れ 主なリストアコマンド 個人的にハマったポイント テープバックアップ/リストアとは?テープバックアップ/リストアとはその名の通り磁気テープを利用した長期保存・大容量・低コストなバックアップ/手法の一つです。 >`HPE StoreEver MSL2024 テ

                                                                            いぶし銀なインフラ機能「テープバックアップ/リストア」を語る | フューチャー技術ブログ
                                                                          • EPUB Generatorをつくろう - Tech Do | メディアドゥの技術ブログ

                                                                            メディアドゥでは、エンジニア有志によって執筆された【Tech Do Book】という合同誌を発行しています。 本日はその中から、Tech Do Book vol.1 【1章 EPUB Generator をつくろう】を紹介します。 はじめに EPUB生成ツールの作り方を通じて、EPUBフォーマットの理解について深めましょう。 スコープ シンプルなテキストベースのEPUBファイル生成ツールの作り方をまとめます。対象とするEPUBのバージョンは3.0です。 なお、コミックのような画像コンテンツを含むEPUBファイルの生成はここでは取り扱いません。 でき上がるもの 書籍ID、出版社、タイトルや目次内容、本文などをPOSTすると、EPUBファイルとしてダウンロードできるようになります。 図:フォームイメージ 必要な知識 HTML基礎 XML基礎 Spring Bootの簡単な使い方 EPUBフォー

                                                                              EPUB Generatorをつくろう - Tech Do | メディアドゥの技術ブログ 
                                                                            • MySQL の Repeatable Read と RocksDB の楽観的トランザクション解説|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

                                                                              MySQL の Repeatable Read と RocksDB の楽観的トランザクション解説 こんにちは技術研究グループ・テクニカルディレクターの波多野です! 普段は社内のインフラ、特にデータベース関連の技術的な問題を解決するのを仕事にしています。 弊社ではリレーショナル・データベースとしてはオープンソースの MySQL をとてもよく使っていますが、そんなオープンソースのデータベース界隈で最近よく目にするようになって来たのが 楽観的トランザクション(Optimistic Transaction) という技術です。今回はトランザクション処理の歴史的なところに触れながら、RocksDB に代表される楽観的トランザクションについて簡単に解説したいと思います はじめに MySQL を使っているとデフォルトでは REPEATABLE READ のトランザクション分離レベルになっていて、トランザク

                                                                                MySQL の Repeatable Read と RocksDB の楽観的トランザクション解説|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
                                                                              • Future Tech Night #9 ~運用で後悔しないためのAWS設計術~ を開催しました。 | フューチャー技術ブログ

                                                                                はじめにこんにちは。TIG村瀬です。 2021/4/21(水)にFuture Tech Night #9 ~運用で後悔しないためのAWS設計術~を開催しました。 私は、運用まで考慮したクラウドアーキテクチャ設計できていますか?というタイトルでお話させていただきました。 発表内容設計と異なり運用はサービスが終了するまでずっと続きます。 アーキテクトの中には設計フェーズまでしか関わらず、運用担当者の苦労を知らない人もいるのでは?と思い、運用にフォーカスした設計の話をしました。 目次は以下の通りです。 会社紹介 システムが増加していっても耐えられる設計をしよう インシデント発生から早期復旧のために 踏み台について 設定一つで自動的に削除しよう まとめ 視聴者に一つでも新発見があれば良いなと思い、AWSアカウント設計、監視ポイント、踏み台の取り扱いと大小様々なポイントを説明させていただきました。

                                                                                  Future Tech Night #9 ~運用で後悔しないためのAWS設計術~ を開催しました。 | フューチャー技術ブログ
                                                                                • セルフレジにおける不正行為を自動検知するレジ不正監視を一般公開しました - fltech - 富士通研究所の技術ブログ

                                                                                  こんにちは。人工知能研究所の石田です。 この度、富士通が研究開発した先端AI技術を迅速に試すことができるプラットフォームFujitsu Research Portal にて、レジ不正監視を一般公開しました。 ※ログイン後、技術一覧からレジ不正監視をご選択ください。 この記事ではレジ不正監視で使用している技術についてご紹介します。 レジ不正監視とは セルフレジは人手不足やコロナ禍への対策として導入が加速し、国内スーパーマーケットのレジ台数に占めるセルフレジ・セミセルフレジ設置率は2022年時点で49.4%にまで達しています。 *1 セルフレジは便利なこともある反面、お客様が商品のスキャンを忘れてしまう、スキャンに失敗して商品が正しく登録されないといった問題が発生することがあります。 レジ不正監視とは、このようなセルフレジでの会計時に発生する問題(以後、不正と呼びます)を監視するシステムです。

                                                                                    セルフレジにおける不正行為を自動検知するレジ不正監視を一般公開しました - fltech - 富士通研究所の技術ブログ