UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

2020-09-01から1ヶ月間の記事一覧

【Jackson】JavaのZonedDateTime型とESのdateタイプ(strict_date_time)のアンマッチ対策

Elasticsearchのあるインデックスにdateタイプのフィールドを定義し、そこにバッチの開始日時を格納していた dateタイプで使っているフォーマットはstrict_date_time "startDateTime": { "type": "date", "format": "strict_date_time" }, strict_date_time…

【Spring Boot】HikariCPとは?

HikariCPというワードを目にしたので調べた 検索したら一番最初にでてきたので参考にした openstandia.jp HikariCP(ヒカリシーピー)は、高速かつ軽量なJDBCコネクションプールのライブラリです。現時点では、Javaで実装されたコネクションプールのライブラ…

【Elasticsearch】Filed Collapsing と Scroll API は併用できない

以前、Filed Collapsingについて調べたが、これの検索結果をScroll APIをつかって取得したい uga-box.hatenablog.com が、結論できないみたい https://www.elastic.co/guide/en/elasticsearch/reference/current/collapse-search-results.html

【Cloudflare Workers】Cloudflare Workersとは?

Cloudflare Workersというサービスを聞いて知らなかったので調べた Cloudflare WorkersとはCloudflare社が提供するCDNのエッジ上でJavaScriptを実行できるサーバーレスなサービス workers.cloudflare.com サイトに書かれているウリ サインアップからグローバ…

【React】制御コンポーネントvs非制御コンポーネント

react-hook-formを調べていて、react-hook-formの特徴として非制御コンポーネントによってregister関数をrefで実行していることがわかった uga-box.hatenablog.com ただ、Reatが公式には制御コンポーネントを使うとことを推奨しているため、どっちがどういい…

【React】react-hook-form

react-hook-formというのを知ったので調査してみる hooksベースでUIの機能を提供するライブラリ react-hook-form.com 特徴としては他のライブラリよりハイパフォーマンスとのこと https://github.com/react-hook-form/performance-compare ハイパフォーマン…

ピクセルパーフェクト

ピクセルパーフェクトが議論されている togetter.com 『ピクセルパーフェクト』という言葉が、デザインとどれくらい合わせるかという意味で使われているならフロントエンドエンジニアとしての自分の考えをまとめておく スタンス 原則デザインに合わせて実装…

【TypeScript】Readonly

TypeScriptのReadonlyの使い所を調べてみた typescript-jp.gitbook.io function foo(config: { readonly bar: number, readonly bas: number }) { // .. } let config = { bar: 123, bas: 123 }; foo(config); // You can be sure that `config` isn't chang…

【Architecture】ヘキサゴナルアーキテクチャとは

あるJavaのソースコードをみていて、portというディレクトリがあった これはヘキサゴナルアーキテクチャからきていると知ったのだが、ヘキサゴナルアーキテクチャがわからなかったので調べた こちらの翻訳記事を参考にさせてもらった blog.tai2.net ヘキサゴ…

【Sequelize】SequelizeでPostgresqlに接続する

PromiseベースのNode.js ORMのSequelizeを使ってPostgresqlに接続してみる sequelize.org $ npm install sequelize $ npm install pg pg-hstore DB接続 import { Sequelize } from 'sequelize'; const sequelize = new Sequelize('postgres://user:pass@exam…

【PostgreSQL】docker-composeで環境構築

PostgreSQLを使うことになったのでdocker-composeでローカルに環境をつくりたい docker-compose.yamlの設定を記載しておく version: '3' services: postgresql: image: "postgres:11-alpine" container_name: "postgres_server" ports: - "5432:5432" volume…

【PostgreSQL】psqlを使ったPostgreSQLへの接続

コマンドラインベースで利用できる psql を利用してPostgreSQLに接続した作業メモ 以下のコマンドで接続する $ psql "host=<HOST_NAME> port=5432 dbname=<DB_NAME> user=<USER_NAME> password=<PASSWORD>" オプションの一覧を表示 $ postgres => \? 使用可能なデータベース一覧を表示 $ postgres => \</password></user_name></db_name></host_name>…

【TypeScript】keyofキーワード

TypeScriptで書かれたコードをみるとやたらkeyofを使っているので、keyofについて調べた js.studio-kingdom.com keyof T でオブジェクトプロパティの名称を直和型で取得できる プロパティ名称のどれかという型定義ができる type User { firstName: string; l…

【Vavr】反復処理でインデックスを使いたい

Vavrを利用して次のようなリストを定義した時、要素を繰り返し処理し同時に要素番号(index)にアクセスしたい List<Integer> integers = List.of(1, 2, 3); JavaScriptだと以下のようにしてindexがとれるがVavrの場合はどうやるのか integers.forEach((item, index) </integer>…

【Spread Sheet】UUIDを作成する

データをスプレッドシートにまとめて、それにUUIDを採番したい 以下の記事でGoogleAppScriptを使えば、UUIDを採番することができることを知ったのでメモ qiita.com 細かな手順は上の記事を読めばわかるので、個人的に残しておきたいものは以下 function getU…

【TypeScript】infer

下の型定義をみたときに、extendsはわかるが、inferがよくわかっていなかったので調べた type Unpacked<T> = T extends (infer U)[] ? U : T extends (...args: any[]) => infer U ? U : T extends Promise<infer U> ? U : T; こちらの記事が参考になった qiita.com infe</infer></t>…

【Web高速化】Web Vitals

サーチコンソールでステータス「不良」のページが多く存在するため「良好」になるようにしたい そのためにはGoogleが定めるWeb Vitalsの改善がよいとされている developers-jp.googleblog.com Web Vitalsは、ウェブで優れたユーザー エクスペリエンスを実現…

【Shell】指定ディレクトリ内のファイルに一括処理を行う

あるディレクトリ内の画像ファイルに対して処理を行いたい 毎回調べているのでメモ #!/bin/sh IMAGE_DIR="/path/to/target/dir/*" for f in `find $IMAGE_DIR -maxdepth 0 -type f -name *.jpg`; do echo $f done maxdepthを増やせば階層にさらにディレクト…

【React】ref のフォワーディングについて

ReactのhooksベースでUIの機能を提供するモジュールを作る・使う機会が増えてくると考えられるので、input系の要素を含むコンポーネントはforwardRef()でラップしておくのが良さそうという話を聞いた forwardRefについて理解できていなかったので調べた ja.r…

【TypeScript】as const ( const assertion )

TypeScriptで書かれたソースコードを読んでいて、as constの使い方がわからなかったので調べた qiita.com const assertionはTypeScript 3.4で搭載されたシグネチャ 宣言時にハードコードされた値がLiteral Typesとして適用される const tuple1 = [false, 1, …

【Jest】WebpackのDefinePluginで定義した定数の扱い

以前webpackのDefinePluginを使ってFirebase SDKの初期設定値を環境ごとに変えられるようにした uga-box.hatenablog.com 結果的に以下のように__FB_API_KEY__のように定義可能となったのだが、Jestでテストを実行する際にここがundefineとなってしまう const…

【デザイン】AppleのHuman Interface Guidelines

AppleのHuman Interface Guidelinesをざっくり読んでみた developer.apple.com Human Interface Guidelinesとは Human Interface Guidelinesは、アプリケーション開発者に一連の推奨事項を提供するソフトウェア開発ドキュメント Appleに限らないお話らしいけ…