2024-01-01から1年間の記事一覧

【JavaScript】ドットみっつのヤツってなに?

const obj = { abcd: "abcd", nu: 1 } // 何かしらのコンポーネントのプロパティに渡す <ABCD obj={ ...obj } /> React関係を調べているとこういうのを死ぬほど見ます。なにコレ?となっているまま続けると、メンテ時に本当に死んじゃいます。それは厄介なので理解しておきましょう</abcd>…

【TypeScript】型の定義:type

Javaでいうところのinterfaceのようなもの。 type ABCD = { val1: string, val2: number } 使うとき const abcde: ABCD = { val1: "値1". val2: 1234 } 特徴 基本的に型そのものに拡張はできない ABCDのtypeにval3というプロパティを追加することはできない …

【JavaScript】たまに見る、ダブルクエスチョンマークはなんなんだろう

const atai = undefined ?? "excd"; こういうやつ。 Null合体演算子っていうらしい。かっこいい。 ??の左辺がnull、undefined、0でなければ、右辺を使用するというもの。 下記と等価。 let atai; if (!atai) { atai = "excd"; } 関数でも使える。 const XXX …

【Nextjs】Layoutとは

レイアウトファイル import Navbar from './navbar' import Footer from './footer' export default function Layout({ children }) { return ( <> <Navbar /> <main>{children}</main> <Footer /> ) } _app.tsx import type { ReactElement, ReactNode } from 'react' import type { NextPag</footer></navbar>…

【Next.js】ENVの使い方

ファイルの場所 ルートフォルダ ファイルの種類 全体共通の.envファイルと、環境別の.env.productionと.env.localがある。それぞれの違い。 .env 全体共通の定数を持てるファイル。 .env.production npm run buildで生成した本番用ソースで用いられるenvファ…

【React】Contextを使おう

Contextとは 値を子に渡せる仕組みの一つ。 プロパティと違い、Contextが提供されているコンポーネントであれば どのコンポーネントからでも使用可能。 ※例はTypeScriptを用いた例です。 createContext コンテキストを作成する。 <>の中には型。引数には exp…

AWS SDK Java v2 を使用して、大容量なファイルをMultipartで非同期にアップロードできなかった話。

以前紹介した以下のコード AWS SDK Java で S3 に少しずつ来たデータをバッファリングしつつ一つのファイルとしてアップロードするサンプルコード ©okkez氏 /** * Multipartアップロード * * @param logger * @param executorService * @param bucketName * …

SWRに対する私見

まだ仲良くなれてない API単位でキャッシュしてくれるみたい POST主体のパラメータ引き渡しで、Axiosを経由して使ったが、パラメータの変更が反映されなかったりした…。 GET主体であれば柔軟にできそうではある [React] SWRの使い方基礎 #React - Qiita 現在…

AWS SDK Java v2 を使用して、大容量なファイルをMultipartでアップロードする。

大容量のInputStreamやファイルをパート分けしてアップロードする。 バッファの容量(PART_BUFFER)や、パート単位の容量(PART_LIMIT)は同時使用ユーザ数等と考慮して設定しよう。 参考サイト(ほぼまんま) AWS SDK Java で S3 に少しずつ来たデータをバ…

InputStreamをByteBufferを使って読み込む

ファイルの分割を行う場合などに活躍する 正直、昔ながらのbyte配列書き出ししか見たことなかったので、 後ほどByteBufferというか、NIO自体を学びなおそうと思っている。 ReadableByteChannelを使う final ByteBuffer buffer = ByteBuffer.allocate(5 * 102…

【JavaScript】const、let、var

変数宣言をする際のconst、let、varをおさらいする。 const 変数名 = 値; 再代入不可の変数宣言。 JSONやクラスなどのオブジェクトである場合、プロパティにアクセスして値を変更できるため、厳密にImmutableではない。 最近は再代入をさせないコードが主流…

AWS SDK Java v2を使ってSESの一括送信を行う

SES(SimpleEmailService)のAPIを使って、メールの一括送信を行う。 利点 API呼び出しが回数を減らせる 注意点 50件に1回の呼び出しが必要 Private VPCの場合、NATゲートウェイを使うことになる。(VPCエンドポイントがない) やりかた メールのテンプレー…

Reactまわりの用語を知る その1

用語の意味だけをざっくりと React Meta(Facebook)のエンジニアが開発したJavaScriptライブラリ。 Webに用いられる要素(HTML、JavaScript、CSS)を書き出す処理をしてくれている。 Reactで作られたWebアプリケーションはメモリ上にアプリを持つことで、高速…