タグ

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

  • 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はいつ使うべきか?そもそも使うべきなのか? | フューチャー技術ブログ
    yosf
    yosf 2023/11/28
  • 腰痛と闘うプログラマー | フューチャー技術ブログ

    秋のブログ週間2023の1日目です。 はじめに※この記事やこのを読んだからと言って自身で診断を行わず、まずは整形外科などの医療機関にて診断を受けて、医師の方と治療方針を決定しましょう。また既に治療中の方は、取り組む前に一度医師や理学療法士の方と相談しましょう。 腰が痛くて仕事にならない、プログラマーこそが天職なのにこの痛みと一生付き合っていかないといけないのか…と思っている方は結構多いのではないでしょうか? かく言う自分も腰痛持ちで、20代前半で椎間板ヘルニアと診断されました。当時はヘルニアが神経を圧迫し歩くのもつらい時期もありましたが、通院によってなんとか回復しました。 しかし完全にはよくならず、残りの人生全てを腰を気にしながら生きないといけないのか、、、と絶望しておりました。 そんなこんなで腰痛人生を送ってきたわけですが、ケリー・スターレット式 「座りすぎ」ケア完全マニュアルは自分の

    腰痛と闘うプログラマー | フューチャー技術ブログ
  • GoでMQTT!! ~温湿度マイスターbotの作成~(前編) | フューチャー技術ブログ

    はじめにこんにちは。TIG/DXユニット所属の宮永です。 今回はAWSサービスのうちの一つAWS IoTを使用してRaspberryPiとのMQTTによる通信を行います。 AWS IoTを使用したMQTTのチュートリアルはAWS公式からも詳細なハンズオン記事が出ています。 AWS IoT Core の設定 :: AWS IoT Core 初級 ハンズオン 記事はこちらのハンズオンを基にGo言語を使用してMQTTによる通信を行いました。(公式の記事はPythonで実装されています。) 最終的には室内の快適な温湿度を教えてくれる「温湿度マイスターbot」を作成します。 なお、記事で作成したコードは orangekame3/go-mqtt orangekame3/th-meisterBot にて公開しています。 MQTTとはMQTTはメッセージングプロトコルです。 以下 mqtt.orgより

    GoでMQTT!! ~温湿度マイスターbotの作成~(前編) | フューチャー技術ブログ
    yosf
    yosf 2021/09/30
  • 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 の変更点 | フューチャー技術ブログ
    yosf
    yosf 2021/08/18
  • GoのORマッパー連載を始めます | フューチャー技術ブログ

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

    GoのORマッパー連載を始めます | フューチャー技術ブログ
    yosf
    yosf 2021/07/28
  • どうしてHTML5が廃止されたのか | フューチャー技術ブログ

    フロントエンド連載の5記事目です。 HTML5が2021年の1月に廃止されました。 Webエンジニアとしてバリバリ活躍されてる方やエグゼクティブテックリードのような肩書きを持つ方にとっては「何をいまさら」という話題かと思います。 しかしながら、今年も新人さん入ってきてくださったので、プログラミングを学習中にHTML5という文字列に悩まされないように、そもそもHTML5とは何かや、廃止された経緯をまとめてみます。 HTML5とはWebサイトを作るときに必ず書くことになるHTML。Webサイトのコンテンツ、つまり中身や構造を作るために使うマークアップ言語です。 そして、その最近版として10年ほど前に登場したHTML5。当時は Webニュースなどで盛んに特集が組まれていましたが、このHTML5がついこないだ、2021年1月28日に廃止されました。 広義のHTML5 / 狭義のHTML5HTML5

    どうしてHTML5が廃止されたのか | フューチャー技術ブログ
    yosf
    yosf 2021/06/21
  • Goのサーバーの管理画面をFlutter Webで作ってみるための調査 | フューチャー技術ブログ

    Dart/Flutter連載の3目はFlutter Webを紹介します。 Flutter 2になって、Web向けに出力する機能もStableになりました。 Flutter for Webは標準のHTMLにするHTMLレンダラーと、CanvasKitレンダラーと2種類あります。後者はSkiaという2DグラフィックスのライブラリをWebAssembly化したものを使います。Skiaはウェブ向けではないFlutterでも使っているため、モバイルとの互換性の高さが期待されます。 現状では明示的に指定しなければauto(モバイルはHTMLレンダラー、PCはCanvasKitレンダラー)になりますが、明示的に指定もできます。これらの違いはまた後で触れますが、せっかくウェブが出せるようになったので、ウェブフロントエンドFlutterで作ってみるための色々調査をしてみました。React/Vue/Ang

    yosf
    yosf 2021/05/12
  • GoがApple Siliconにネイティブ対応したのでベンチマークをとってみました | フューチャー技術ブログ

    Goアドベントカレンダーその5です。 ARMなMacが出るとWWDCで発表されてから首を長くしてまっていて、発表と同時にMacBook Proを買って、アプリケーションのARMネイティブ対応がされているかいろいろインストールして試してみたりしています。まだ発売されて2週間足らずですが(といっても、みんな開発キットをつかって以前から準備したようですが)、動作しているアプリケーションは多いです。発売後にも、Erlang、Node.jsあたりはmasterブランチにパッチが入りました。Goも、昨日パッチがマージされました。 業務利用が多い言語のうちの一つということで、手元のPCで軽くベンチマークをとってみました。使った機種は3つです。 2020モデルのM1のMacBook Pro 2020モデルの10th Gen Core i5のMacBook Air Ryzen 9 4900HSのASUSのZ

    GoがApple Siliconにネイティブ対応したのでベンチマークをとってみました | フューチャー技術ブログ
    yosf
    yosf 2020/12/03
  • Goのデバッグ環境 on VSCode | フューチャー技術ブログ

    はじめにこんにちは。TIG/DXユニットの富山です。 私の使用するテキストエディタはVim一択でしたが、最近はVSCode浮気気味です。(言わずもがな Vimプラグインは入れています) 今回はVSCodeGo言語用のデバッグ環境をテーマします! 環境構築前提条件: VSCodeがインストール済であること Goがインストール済であること Step 1:プラグインのインストールGoogleが公開しているVSCode用のGoプラグインである、Go for Visual Studio Codeをインストールします。(2020年6月に開発管理がMicrosoftからGoogleGo開発チームへ移管されました)。 インストールが終わったら、Goプラグインに必要な各種ツールをインストールしていきます。 コマンドパレットを開く(Windows: Ctrl + Shift + p / Mac: Com

    Goのデバッグ環境 on VSCode | フューチャー技術ブログ
    yosf
    yosf 2020/11/18
  • GoでWebアプリ開発時にあるあるだったレビューコメント | フューチャー技術ブログ

    The Gopher character is based on the Go mascot designed by Renée French. はじめにTIG DXユニット 1の真野です。 コードレビューについては3,4年ほど前に、コードレビューにおけるレビュアー側のアンチパターン って記事を書いたりもしました。当時はレビュアーの伝え方って大事だよなって話をしてました。いつしかレビュイーからレビュアーに比重が変わることが増えてきました。相互レビューは当たり前にしていますがが、比較的こうしたらもっと良くなるんじゃないかな?と提案される回数より、自分が提案する回数の方が増えてくるタイミングってありますよね? そういうわけで、最近Goで主にバックエンドのWebAPIや、AWS Lambdaで動くETLアプリ、たまにCLIツールを開発する時に、2回以上同じ指摘したコメントをまとめてます。Go言語

    GoでWebアプリ開発時にあるあるだったレビューコメント | フューチャー技術ブログ
    yosf
    yosf 2020/07/09
  • あなたのGoアプリ/ライブラリのパッケージ構成もっとシンプルでよくない? | フューチャー技術ブログ

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

    あなたのGoアプリ/ライブラリのパッケージ構成もっとシンプルでよくない? | フューチャー技術ブログ
    yosf
    yosf 2020/05/28
  • Serverless連載3: Goでサーバーレス用の検索エンジンwatertowerを作ってみました | フューチャー技術ブログ

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

    Serverless連載3: Goでサーバーレス用の検索エンジンwatertowerを作ってみました | フューチャー技術ブログ
    yosf
    yosf 2020/03/27
  • Goを学ぶときにつまずきやすいポイントFAQ | フューチャー技術ブログ

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

    Goを学ぶときにつまずきやすいポイントFAQ | フューチャー技術ブログ
    yosf
    yosf 2019/07/13
  • データベースマイグレーション ~OracleからPostgreSQLへ~ ー第1回ー | フューチャー技術ブログ

    1. 初めにこんにちは。Technology Innovation Groupの岸田です。 データベースシステムに対しては、高い信頼性・可用性・安定性が求められることから、データベースとしては、Oracle Database(以降はOracleと記載)やMicrosoft SQL Serverなどの商用製品が採用されてきました。 十数年前より、商用データベースの高いコストに不満を持つ企業において、OSSデータベースに注目が集まってきており、近年では基幹システムにおいてもOSSデータベースが採用されるケースも多くなっています。 このような背景から技術者としてもOSSデータベースのスキルは非常に求められている状況かと思います。 元々高額なライセンス料に加え、仮想基盤における課金体系の問題や2016年のOracle Database Standard Edition Oneの廃止などにより、基盤

    データベースマイグレーション ~OracleからPostgreSQLへ~ ー第1回ー | フューチャー技術ブログ
    yosf
    yosf 2018/05/29
  • 1