並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 932件

新着順 人気順

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

  • Go1.17における go get の変更点 | フューチャー技術ブログ

    The Gopher character is based on the Go mascot designed by Renee French. TIGの辻です。 Go 1.17連載の5日目の記事です。本記事ではGo1.17の go get に関するアップデートの詳細をお伝えします。 go get に関する変更点サマリ モジュール外からの go get におけるコマンドインストール時に、警告を出力する go get の -insecure フラグは使えなくなった、代わりに環境変数 GOINSECURE を使う モジュール外からの go get におけるコマンドインストール時に、警告を出力するgo get 時の警告Go1.16のリリースノートでも、コマンドのインストールで go get を使うのは非推奨、とお知らせがありましたが、Go1.17では、モジュール外からコマンドのバイナリを go

      Go1.17における go get の変更点 | フューチャー技術ブログ
    • GoのORマッパー連載を始めます | フューチャー技術ブログ

      (2021.09.18追記)おまけとして、筒井さんがさらに寄稿してくれました。 lib/pq から jackc/pgx への移行 O/RマッパとクエリビルダーO/Rマッパは Object Relational Mapperの略で、通常はGoの構造体とRDBのレコードを紐付ける処理のことを指します。O/Rマッパーと呼ぶことが多いですが、略してORMとも呼びます。名前から見るとSQL検索結果を構造体にマッピングすること(Goだとsqlx相当の処理)かなと思いますが、実際はSQLを組み立てるDSLを提供するライブラリが多いです。 クエリビルダーは、広い意味のO/Rマッパ機能のうち、SQLクエリを組み立てるライブラリのことです。調べると goquとかがまさにそれにあたります。 細かくはgoquを連載テーマにした伊藤真彦さんに譲るとして、簡単ではありますがここでサンプルコードも出しちゃいます。 ds

        GoのORマッパー連載を始めます | フューチャー技術ブログ
      • 「node.jsにtextlintをインストールして」「ルールをtypescriptで記述して」「VSCode上でステップ実行でデバッグしたい」をする - 土屋つかさの技術ブログは今か無しか

        近年の大規模プログラム開発環境では、ソースコードを共有する前にlinterと呼ばれるツールを使ってコード検証をするのが一般的です。linterでは決められたコーディングルールに沿っているかについて、コンパイラよりも厳格なチェックを行い、場合によっては自動的に修正してくれます。ちなみに「linter」という名称はUNIXのlintコマンドから来ていて、"lint trap(洗濯機に取り付けてある「糸くず("lint")取り」の事)"に由来しているそうです*1。 github.com textlintは、自然言語で書かれたテキスト用のlinterとして提供されているツールです*2。提供されている様々なルールを組み合わせて、テキストを検証する事が出来ます。 textlintはnode.js上で動くjavascriptのアプリで、独自のルールを作成してツールに組み込む事も出来ます。新規作成をサポー

          「node.jsにtextlintをインストールして」「ルールをtypescriptで記述して」「VSCode上でステップ実行でデバッグしたい」をする - 土屋つかさの技術ブログは今か無しか
        • PHPとSDLで始めるコンピューターグラフィックス – 回転と極座標|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

          PHPとSDLで始めるコンピューターグラフィックス – 回転と極座標 こんにちは nobuh です。前々回と前回の2回にわたり PHP と SDL でのプリミティブな操作を使ってコンピューターグラフィックスを楽しんでいるこのシリーズ。3回目は移動や視点の操作で必須となる座標の回転と極座標表示について取り組みます! ここまでの振り返り 第 1 回 基本的な画像描画方法の説明 PHPとSDLで始めるコンピューターグラフィックス 第 2 回 透視投影による 3D 表示 PHPとSDLで始めるコンピューターグラフィックス – 透視投影で3D 少し改良 第 2 回までの 3D 表示の機能のまま、プログラムを少し改良してみました。 まずは 3D データを準備するときに形状と位置がごちゃまぜになっていたのを形状の情報と位置の情報に分離しました。加えてオブジェクト指向っぽく構造を整理しました。具体的には

            PHPとSDLで始めるコンピューターグラフィックス – 回転と極座標|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
          • Go Tips 連載5: エラーコードベースの例外ハンドリングの実装+morikuni/failureサンプル | フューチャー技術ブログ

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

              Go Tips 連載5: エラーコードベースの例外ハンドリングの実装+morikuni/failureサンプル | フューチャー技術ブログ
            • エンジニアが最低限理解しておくべきOSSライセンスの基礎知識 | フューチャー技術ブログ

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

                エンジニアが最低限理解しておくべきOSSライセンスの基礎知識 | フューチャー技術ブログ
              • スキーマのバージョン管理と互換性の話 | フューチャー技術ブログ

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

                  スキーマのバージョン管理と互換性の話 | フューチャー技術ブログ
                • 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はいつ使うべきか?そもそも使うべきなのか? | フューチャー技術ブログ
                  • 読まれる技術ブログを書くヒント - 企業技術ブログ

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

                      読まれる技術ブログを書くヒント - 企業技術ブログ
                    • 「よいサンプルコード」ってどんなサンプルコード? 〜Qiitaや技術ブログを書くときに気を付けること〜 - Qiita

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

                        「よいサンプルコード」ってどんなサンプルコード? 〜Qiitaや技術ブログを書くときに気を付けること〜 - Qiita
                      • 画面の解像度の要件定義の話 | フューチャー技術ブログ

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

                          画面の解像度の要件定義の話 | フューチャー技術ブログ
                        • 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 A

                              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でサクッと立ち上げる | フューチャー技術ブログ
                                • MySQL/Aurora/TiDBロック入門 – 第3回ロック読取りも SELECT は止められない【解説動画付】|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

                                  MySQL/Aurora/TiDBロック入門 – 第3回ロック読取りも SELECT は止められない【解説動画付】 MySQL とその互換 DB のロックの挙動を紹介する入門シリーズ、第3回は第2回で紹介したロックモニターを使って、業務ではよく使われているロック読取りについて解説します。 ロック読取りは、ゲームのバックエンドサーバーなど「同時に多数の処理をこなすけど、データとしての一貫性も重要」な場合に必須となるテクニックです。既に使っているという方も復習を兼ねてぜひご覧ください! ★ 第1回 トランザクション分離レベル ★ 第2回 ロックモニターの読み方 ★ 第3回 ロック読取りも SELECT は止められない ★ 第4回 INSERT を止めるインテンションロック ★ 第5回 WHERE 条件と違うロック読取り ★ 第6回 performance_schema ★ 第7回ギャップロック

                                    MySQL/Aurora/TiDBロック入門 – 第3回ロック読取りも SELECT は止められない【解説動画付】|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
                                  • 技育祭登壇しました。これから機械学習を学びたい方向けへの自分の経験談とおすすめの本、サイトの紹介もします | フューチャー技術ブログ

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

                                      技育祭登壇しました。これから機械学習を学びたい方向けへの自分の経験談とおすすめの本、サイトの紹介もします | フューチャー技術ブログ
                                    • 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でサーバーレスな管理画面アプリを作る | フューチャー技術ブログ
                                      • Rust+WebAssemblyを使ったWebアプリでの高速画像処理入門 - アダコテック技術ブログ

                                        要約 背景 WebAssembly (WASM) とは? Rust言語とは? サンプルアプリ概要 LBP特徴量計算をRustで実装 フロントエンド環境構築 バックエンド環境構築 スキーマ定義 Rust実装 WASMバイナリの生成 TypeScript実装 実行結果 まとめ メンバー募集しています! おまけ こんにちは!美味しいタコスを食べることを専門としているプロダクト開発部エンジニアの井上です。 要約 WebAssembly(WASM)、Rustは近年注目されている技術であり、これを利用することでWebアプリケーション上で高速な画像処理を実現できるよ。 我々も画像前処理を行っていたWindowsデスクトップアプリケーションを、WebAssembly+Rustを使用してWebアプリケーションに置き換えたよ。 Rust言語で実装した画像処理をWASMにコンパイル、そしてWebアプリケーション

                                          Rust+WebAssemblyを使ったWebアプリでの高速画像処理入門 - アダコテック技術ブログ
                                        • 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 | フューチャー技術ブログ
                                                • 【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 技術ブログ
                                                  • Real World HTTPの第3版ができあがりました | フューチャー技術ブログ

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

                                                      Real World HTTPの第3版ができあがりました | フューチャー技術ブログ
                                                    • 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の紹介 | フューチャー技術ブログ
                                                      • TetragonでeBPFとセキュリティオブサーバビリティ入門 | フューチャー技術ブログ

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

                                                          TetragonでeBPFとセキュリティオブサーバビリティ入門 | フューチャー技術ブログ
                                                        • 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ルーティングの強化 | フューチャー技術ブログ
                                                          • Go 1.21連載始まります&slogをどう使うべきか | フューチャー技術ブログ

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

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

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

                                                                  技術ブログをNuxt + Netlify + Contentfulから、はてなブログ for DevBlogに移行しました - もふもふ技術部
                                                                • ライブラリ自動更新にrenovateを導入してみる - APC 技術ブログ

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

                                                                    ライブラリ自動更新にrenovateを導入してみる - APC 技術ブログ
                                                                  • フューチャーの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)規約の紹介 | フューチャー技術ブログ
                                                                    • 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

                                                                        • チームの開発生産性を高めるための心がけ | フューチャー技術ブログ

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

                                                                            チームの開発生産性を高めるための心がけ | フューチャー技術ブログ
                                                                          • GPT-4oがどれぐらい早くなったのかコールセンターに導入して試してみた話 - APC 技術ブログ

                                                                            gpt-4o はじめに こんにちは、ACS事業部の佐竹です。 今回のMicrosoft Buildで発表されたGPT-4oについて、どの程度レスポンスが良くなったか是非触ってみたく、今回の記事を書くことにしました。 1.1.5.Azure OpenAI Serviceの主なAIの進化 news.microsoft.com 以前、Azure Communication ServiceとAzure OpenAI Serviceを使って、コールセンターを作ってみたのですが、そこにGPT-4oを組み込む形でGPT-4-32kとの速度比較を行いました。 techblog.ap-com.co.jp 上記の記事はハンズオン形式で記載しておりますので、お手隙の際に是非手を動かしていただけますと幸いです。 概要 全体アーキテクチャは以下のようになります。 アーキテクチャ図 全体の流れは以下の通りです。 ユー

                                                                              GPT-4oがどれぐらい早くなったのかコールセンターに導入して試してみた話 - APC 技術ブログ
                                                                            • 「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コマンド | フューチャー技術ブログ