サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
mizumotok.hatenablog.jp
GitHubが値下げと無料の「Free」プランの拡充を発表しました。昨年はCI/CD機能であるGitHub Actionsをリリースしたり、GitHub Pages(静的サイトホスティング)やPackages(パッケージホスティング)、Projects(プロジェクト管理)などがすでにあり、機能がどんどん充実していきます。 アプリケーションを動かすことはまだできないのですが、GitHub Actionsでプログラムを動かせるようになったので、GitHub Pagesと組み合わせれば、簡単なWeb APIもできます。 さっそく郵便番号から住所を返すAPIを作ってみます。 GitHubが無料の「Free」プランを拡充 GitHubだけでWeb API 郵便番号検索API GitHub Pages 郵便番号データ作成プログラム 処理の流れ データをダウンロードするプログラム ファイルを保存するプロ
GraphQLであるオブジェクトの配列をとってくるときにページネーションをしたいというユースケースはよくあります。GraphQLではページネーションのベストプラクティスとしてカーソルベースを取り上げています。この記事ではカーソルベースのページネーションの仕組みとgraphql-rubyでのカーソルベース、オフセットベース両方に対応したページネーションの実装方法について解説します。 GraphQLのページネーション ページネーションのパターン カーソルベースページネーションを実現するConnection Type graphql-rubyでのページネーション カーソルベース オフセットベース 件数表示 まとめ GraphQLのページネーション ページネーションのパターン GraphQLでは要件にあわせてページネーションを実装して構わないのですが、3パターンが考えられます。 オフセットベース:
SPA認証トークンをどこに保存するかは論争が絶えません。localStorageやCookieがよく使われますが、Auth0は違う方法を採用しています。この記事では、Auth0のトークン管理の方式を理解でき、トークン管理上のセキュリティへの理解を深めることができます。 SPAの認証トークンをどこに保存するか ブラウザでトークンを保存できる場所 保存場所の比較 メリット・デメリット Auth0のアプローチ トークンはインメモリに保存 OpenID Connect準拠とトークン取得のUI/UXの悪化回避を両立 Auth0のjsライブラリ ログイン アクセストークンの(再)取得 図解 ログイン アクセストークンの(再)取得 自サービス内の認証だけのもっと簡易な構成 ログイン IDトークン取得 まとめ SPAの認証トークンをどこに保存するか React やVueで認証付きSPA(Single Pa
Swift版に続き、React Native版のRSSリーダーを作ってみましょう。React Native版ならjavascriptで実装でき、iOSでもAndroidでも動きます。 今回はシンプルにYahoo!トピックスの見出しのみを表示して、内容はSafariに飛ばして表示するようにしています。 プロジェクト作成 RSSのパース 描画処理 GitHub ソースコード プロジェクト作成 React Nativeのプロジェクトはコマンドで作成します。react-nativeコマンドのインストール等事前準備はこちらを参考にしてください。 $ react-native init ReactNativeRssReader $ cd ReactNativeRssReader $ react-native run-ios シミュレータがさくっと起動して、テンプレートのアプリが立ち上がります。 App
バックエンドはDjangoでフロントエンドはNuxt.jsのようなSPAで環境をheroku上で構築したいのですが、課題がいくつか出てきました。 Herokuデプロイ時にNuxt.jsのビルドはどうするのか(gitレポジトリにビルド生成物を置きたくない!) Nuxt.jsで生成された静的ファイルをDjangoからどうハンドリングするのか(nginxには頼れない!) Nuxt.jsのページルーティングをDjangoからどうハンドリングするのか 一つ一つ解決していきましょう。 Django + SPAの環境をHerokuにデプロイするときの課題 ビルドの課題 Djangoでの静的ファイルについての課題 DjangoでのSPAページルーティングについての課題 まずはプロジェクトの作成(Django & Nuxt.js) Djangoプロジェクトの作成 Nuxt.jsプロジェクトの作成 Nuxt.
GraphQLとはこれまでWeb APIの主流であったRESTの課題を克服するために生まれました。RESTの課題を克服したメリットは大きく徐々に広まってきています。一方で当然デメリットも存在します。この記事を読めばGraphQLの生まれた背景を知り、メリットとデメリットを理解できるようになります。 GraphQLとはWeb API GraphQLとは Web APIの歴史 RPC SOAP REST RESTの課題 オーバーフェッチング アンダーフェチング たくさんのエンドポイントの管理 GrapqhQLの特徴 GrapqQLの誕生 GraphQLの設計原則 GraphQLの例 GrapqhQLのデメリット GrapqhQLのエコシステム Apollo GraphQL AppSync / Amplify Hasura GraphQL Ruby Relay GraphQL Code Gene
ICOに使われるトークンはほとんどがイーサリアム上のERC20トークンと呼ばれるものです。統一規格になっているためERC20トークン対応のウォレットであれば、誰が発行したトークンでもウォレットで使用することができます。 ERC20トークンを作るのは非常に簡単です。試してみましょう。 ERC20トークンについて ERC20トークンとは ERC20で定められたインターフェース ERC20トークンの実装 OpenZeppelin 最小限なERC20トークン 標準的なERC20トークン 便利な追加機能 Mintable(マイニング) Burnable(バーン) Capped(上限固定) Pausable(一時停止) ユーティリティ SafeERC20 TokenTimelock ERC721 ERC721トークンとは ERC721トークンの実装 まとめ ERC20トークンについて ERC20トーク
DynamoDBは高速でスケーラブルでとても便利なデータベースです。便利なのですが、テーブル設計にはRDBMSのノウハウをそのまま使えません。例えば、DynamoDBではテーブルを1つだけにすることが推奨されています。テーブルを1つだけにする設計手法について考えてみましょう。 DynamoDBの特長 できるだけ少ないテーブル数で 1つのテーブルでの設計例 データの収集 クエリの洗い出し 1つのテーブルにする クエリーにあわせてセカンダリーインデックス 設計を汎用的に まとめ DynamoDBの特長 DynamoDBはAWS(アマゾンウェブサービス)で提供される、とても便利なNoSQL データベースサービスです。高速なパフォーマンスとシームレスなスケーラビリティが特長です。 RDBMSではディスク容量が足りなくなったりしたら、基本的にはディスクを増やす等の「スケールアップ(リソースを一箇所に
DynamoDBではテーブルを1つだけにすることが推奨されています。前回の投稿ではDynamoDBのテーブルを1つだけにする設計のコツを具体例を元に考えてみました。今回はどんな場合にでも通用するような汎用的な手法を考えてみます。 mizumotok.hatenablog.jp エンティティにIDを追加 隣接関係のリスト設計パターン クエリの洗い出し グローバルセカンダリインデックスの多重定義 残りの項目 テーブル1つにする設計の汎用的手法 まとめ エンティティにIDを追加 エンティティにはユニークなIDを持たせるのが普通です。 前回の例にIDを持たせたデータは以下のようになります。 Artistテーブル ID ArtistName CarrerStart 1 David Bowie 1962 2 Bryan Adams 1975 3 Steely Dan 1972 Songテーブル ID
React 16.8から新機能フック (hook)が追加されました。ステートやcomponentDidMount等のでライフサイクルメソッドを使いたい場合でも、クラスを使わないStateless functional component(SFC)で表現できるようになりました。 ステートフック 副作用フック カスタムフック その他のフック useContext useReducer useRef useMemo まとめ ステートフック クラスを使う理由の一つがステートの管理をしたい場合です。 今までだとカウンタをステートで管理するとこのように書いていました。 class Example extends React.Component { constructor(props) { super(props); this.state = { count: 0 }; } render() { ret
ReduxはReactでデータを管理するのに非常に強力なツールです。Reduxの公式サイトにはいくつかのExampleが用意されていて、これらを見ることで設計パターンを理解することができます。設計パターンの理解を深めるために各Exampleを図解してみます。 Counter Vanilla Counter Todos Todos with Undo TodoMVC Shopping Cart Tree View Async Universal Real World クライアントサイドルーティングについて API Callのmiddlwareについて まとめ 2010年代に入ってから、フロントエンドのJavascriptライブラリの群雄割拠でキャッチアップが大変ですが、どれも概念と設計が工夫されていて使っていて楽しいです。 jQueryのDOM操作はなんでもできるけど、やっているうちにDOM
ビットコインをJavascriptで実装しながら理解しましょう。 前回までにブロックチェーンの実装を行ないました。今回はブロックをマイニングする処理を実装してみます。 開発の流れ 前回までの状態を再現 マイナーの実装 ブロックチェーンでマイニングされたブロックの有効性確認 マイニングのテスト ディフィカルティターゲットの調整 ディフィカルティターゲット調整のテスト まとめ GitHub 開発の流れ ブロックの実装 ブロックチェーンの実装 マイニングの実装 ← 今回はここ トランザクションの実装 ウォレットの実装 P2Pネットワーク 前回までの状態を再現 必要な場合は、前回の状態を再現しましょう。 $ git clone https://github.com/mizumotok/blockchain-js.git $ cd blockchain-js $ git checkout 02_bl
このページを最初にブックマークしてみませんか?
『mizumotok.hatenablog.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く