Next.js 14 / Auth.js v5 / Prisma / Planet Scale / shadcn/ui / Tailwind CSS を用いた認証・認可をハンズオン形式で学びます。
免責事項 社内向けに展開するように雑にまとめました Next.jsの知見が深くない人がリードしてPoCを立ち上げなきゃいけなくなったが、社内的にはNext.jsを推奨しているみたいな場面を想定しています なので自信ないところも多いですが割と断言するように心がけて書いています PoCの立ち上げ想定なので、jest/Storybookなど内部品質面についてあまり深く書くことを避けています ほぼ自分の知識だけで書いており私見も多いですし、そもそも自分自身がトップクラスの知識や視座を有しているわけでもないので、まずは以下の話を理解はした上で、踏襲するかどうかは別途他記事やGitHub、公式ドキュメントなどを漁って判断することを推奨 App RouterかPages Routerか 2023年末現在まだApp Routerは技術記事が足りてきている印象ではないため、社内でノウハウを積極的に貯めていく
(映像もつくりました) 正規表現ガチャ(英語名:Regech)という、正規表現から生成されるランダムな文字列でガチャを引ける投稿サイトをNext.jsで個人開発した話です。 筆者について 今までPHPやjQueryで開発をしてきた19歳です。 制作期間は20日ほどです。 もしよければ、読んで・遊んでいってもらえたら嬉しいです! つくったもの 正規表現にマッチするランダムな文字列を生成するアプリです。 例:(にゃん?)+→にゃにゃんにゃんにゃ おもしろいガチャができたら投稿することでみんなで遊べるようになります。 ぜひ、おもしろいガチャを作って投稿してください! 正規表現の学習にもおすすめです。 英語対応もしてみたので英語環境からアクセスするか、/en/にアクセスすると英語でも見れます。 私のおすすめガチャ 私のおすすめです。他にもおもしろいガチャが投稿されているので遊んでみてください! リ
Vercel Edge Middleware: Dynamic at the speed of staticHigh-performance compute for routing, experimentation, and more. Since we announced Middleware last October, we’ve seen 80% month-over-month growth and over 30 billion requests routed through Edge Middleware on Vercel during public beta. Customers like Vox Media, Hackernoon, Datastax, and HashiCorp are using Edge Middleware to have complete con
はじめに Reduxは遠い昔に誕生したものなので、いまReduxを使っていない人も多いかもしれません。 Reduxは、出現当時はそれほど大きなソフトウェアではなかったのですが、ときが経つにつれて、いろいろな便利関数たちが現れてきて、そのせいで今からReduxを調べる人は、何が本質なのかを調べるのが難しくなっていると思います。 そこで3分でReduxもどきを実装しました。こちらです。20行!! じゃーん! JavaScriptでうごきます!! // 実装 const createStore = (reducer) => { let state = 0; const listeners = []; const dispatch = (action) => { const newState = reducer(state, action); state = newState; listeners
Next.jsでv12〜middlewareという機能が使えるようになりました。 middlewareに書いた処理はリクエストが完了する前に実行されます。Cookieの値に応じてルーティングを振り分けたり、Basic認証を導入したり等など、幅広い用途で使えそうです。 VercelとNext.jsの組み合わせが強いのは、VercelにNext.jsをデプロイするとこのmiddleware部分をEdge Functionsで捌いてくれるという点です。つまり、静的なページに対するリクエストに対して、オリジンサーバーに触れことなくmiddlewareを実行できるということです。 Vercel以外のプラットフォームだとどうなのか ドキュメントには以下のような記載があります。 This works out of the box using next start, as well as on Edge
JavaScriptのモダンな書き方 - ES2020のオプショナルチェーン、null合体演算子、動的import、globalThis等を解説 JavaScriptの仕様であるECMAScriptは年次で仕様が更新されています。ECMAScript 2020(ES2020)は2020年6月にリリースとなりました。現行のすべてのブラウザでES2020の機能は利用できますが、フロントエンドエンジニアにとって使いこなしたい記法ばかりです。 本記事ではES2020に焦点をあて、JavaScriptの新しい記述方法のメリットと使いどころを解説します。 オプショナルチェーン Optional Chaining(オプショナルチェーンやオプショナルチェーニングと呼ばれています)とは、?.構文を用いてnullやundefinedになりうる値へ安全にアクセスできる仕組みです。 利用シーン nullやunde
この記事では面倒なので名前に .js が付いているものは省きます。例えばNext.js は Next と表記します。 まず結論から日本ではVueはReactと二分する人気があるように観測されますが、世界的な数字で人気・シェアを見るとReactが圧倒的です。 シェアだけで見るとAngularとAngularJS(Angular系の1.x系)の合計値はVueよりも高いですが、「今後はもう採用したくない」と考える率が高く、Angular/AngularJSの人気が低下しているということは間違いありません。 ※追記: Angularのシェア、人気度に関しては、Angular及びAngularJS両方を含む数値であり、AngularJSとAngularは別物であるものが混ざってカウントされているため、Angularのシェア及び人気度はあやふやかもしれません。他の数値に関して信頼性を疑うべきかどうかは
2019年4月3日、『神姫PROJECT』などソーシャルゲームの企画・開発を手がける株式会社テクロスが主催するイベント「TECH x GAME COLLEGE」が開催されました。第17回となる今回のテーマは「スマホ向け HTML5ゲームのすべて」。株式会社 Liberapp代表取締役の山田元康氏が、最新のHTML5ゲーム事情を解説します。後半パートとなる今回は、スマホ向けHTML5ゲーム市場の今と、現在の技術の潮流を解説します。 HTML5ゲームのプラットフォーム 山田元康氏(以下、山田):ここまでが市場全体の話です。それでは、スマホ向けのHTML5市場にはどんなプレイヤーがいるのかというと、一番上に書いてあるのがプラットフォームです。プラットフォームを大きく3つに分けています。 一番左に書いたのがオンチャットと呼ばれているものです。HTML5ゲームの市場が成り立ってるのは、基本的にオンチ
ザ・シードオンライン には、 glTF 規格の拡張である VR 利用想定のヒューマノイドモデル拡張の VRM 及び、 VirtualCast 上でインタラクティブなアイテムを自由に作成出来る VCI をアップロードすることが出来ます。 以前はそれらのファイルをブラウザ上で閲覧するのに、 Unity の WebGL ビルドを用いていました。 しかし、2019年5月現在の Unity の WebGL ビルド(と Web Assembly)は、数 MB のランタイムのダウンロードと、起動処理に数秒かかるなどの難点が存在していて、ネイティブ(JavaScript)実装に置き換えたいという要望が出ていました。一部端末で正常に表示出来ないという問題もあります。 そこで、私山岸の調査の結果、 babylon.js を採用し、自前で VRM/VCI を出来るだけ正しく porting するプロジェクトを稼
2024-04-29 CSSってどんな勉強をしたらいいの?おすすめの勉強法3選! 文字やタブなどWebサイトのデザインを作成するマークアップ言語がCSSです。 CSSを勉強すると、おしゃれなWebサイトやかっこいいWebサイトが作れるようになります。 また、Webサイトを作るときに必要なHTMLを理解するのにも役立ちます。 CSSを勉強するならできるだけ効率よく勉強できるようになりたいですよね。 ではCSSの勉強法はどのようなものがあるのでしょうか。 CSSの勉強法は、スクール […] 2024-04-29 WEBエンジニアから見たXserverの使い勝手と評判 レンタルサーバーのおすすめサイトを見ると、大体どこでも上がってくる有料のレンタルサーバーの一つに「Xserver」があります。 このXserverとは、どのようなサーバーで、サービスにはどのようなものがあるのか。 ホームページ関連
幾つかの Web サービスや Electron ベースのアプリに組み込むエディタを実装するにあたって、Draft.js、Slate.js、CodeMirror を試してきて得た情報について、個人の感想を述べる。今更感があるので、ライブラリそのものについての解説はしない。 Draft.js冒頭で挙げている三つのライブラリの中では、単純に Server-Side Rendering してもエラーを出さず、普通に動くところが良かった。単純に動かないタイプのライブラリでは、例えば React ではライフサイクルイベントのコールバックである ComponentDidMount メソッドを利用するなどして、クライアントサイドのみでエディタが描画されるように工夫しなければならない。 Draft.js でエディタのスタイルを変更するには、Decorator という、描画前の内部データを DOM 要素へと変
Interactive Data Visualization of Geospatial Data using D3.js, DC.js, Leaflet.js and Python // tags python javascript data visualization d3.js dc.js leaflet.js The goal of this tutorial is to introduce the steps for building an interactive visualization of geospatial data. To do this, we will use a dataset from a Kaggle competition to build a data visualization that shows the distribution of mobil
webpackとは いろんなファイルをtranspileしてES5のJavaScriptに変換してくれるやつ AMDかCommonJSの形式でファイルをロード(CommonJSならrequire)すると、transpileしたファイルをロードしてくれる クライアント側のjsコードでもrequireを使用することができる assetとしてビルドして配布するイメージ コードが共用の場合、設定を変えることで素のrequireを利用するサーバー用コードと、webpackがpolyfillしたrequireを利用するクライアントコードとを別々に生成できる 全てがJavaScriptになる、画像やCSSも 画像は「Base64かFilePath」に CSSは「headにstyleを挿入するjsコード」に 特定のファイルをどのようにtranspileするかはpathマッチングでプラグイン形式で設定する
もはや Promise がスタンダードに入り、モダンな実行環境ではポリフィルすら必要なく使えるケースが増えましたね。 かくいう自分も JSDeferred は使っておらず完全に Promise 依存に切替えております。外部ライブラリ依存なんてないほうがいい!! JSDeferred と Promise の違い 機能的にはほぼ変わりがないので機械的に置き換えできますが、Promise は1度だけしか resolve できない点だけ違うので注意が必要。JSDeferred は値を保持しませんが、Promise は resolve した値を保持し、その後の then ではその値が返ってきます。 var resolver; var promise = new Promise(function (resolve, reject) { resolver = resolve; }); promise.t
jQuery and its cousins are great, and by all means use them if it makes it easier to develop your application. If you're developing a library on the other hand, please take a moment to consider if you actually need jQuery as a dependency. Maybe you can include a few lines of utility code, and forgo the requirement. If you're only targeting more modern browsers, you might not need anything more tha
最近、新しいMacbookProにNode.jsを入れることが2回もあったため、ものすごく今更な話題ではありますがその時の手順のメモを残します。 Node.jsのパッケージをそのまま入れるとプロジェクトごとにバージョンが違っていたり等諸々面倒なことがあるので、後にトラブルにならないよう、バージョン管理出来る環境にすることをオススメします。なお、Node.jsのバージョン管理にはnodebrew を使用し、インストールするのにHomebrew を使用します。 本記事ではHomebrew を経由してnodebrew をインストールし、nodebrew からNode.jsをインストールする手順を解説します。文章にするとややこしく見えますが、インストール自体はとても簡単なので、Node.jsをバージョン管理していない方は是非この機会にお試しください。 また、既にNode.jsのパッケージ版の方をイ
TypeScript 1.6.0-betaが出ました! 今回のアップデートはかなり多くの更新を含む、大規模なアップデートであると言えます。 ↑ここまで前回のコピペ だからlatestタグで -beta を出すんじゃねぇって言ってんだろ(#゚Д゚)ゴルァ!! と思わなくもないですが、出たら出たで嬉しいものです。 追記 @vvakame npm@2.11.2で、pre-release version(= tag付きのversion)をmatchさせるのを止めたようです。docsには元よりそう書いてあったっぽく、patchという認識。 https://t.co/rygKxlYRE7 — Daijiro Wachi ☕ (@watilde) 2015, 9月 5 なので、npm install typescript だと1.5.3が入って、npm install typescript@lates
一ヶ月近くの有給休暇を経て8/1から完全な無職になりました。前職ではjsといえばviewsに$()を書きまくるという所業をはたらいておりましたが、railsはapi、フロントは別口でというのが流れであるっぽいので、ちゃんとしたjs作業をしましょうというのが今月のあらすじ。 成果物 うごいてるもの No Mines Land 左右同時押しがMouseEventから簡単にとれてびっくりした。 ソース https://github.com/mmmpa/mine はじめてつかった Browserify とくにBrowserifyはとてもよくて、javascriptのファイル分割に関する知見がまったくない自分でも、簡単に分割と結合が行えるようになっており本当によかった。 Browserifyについて勘違いしていたこと Browserifyを読み込んでおくとrequireが使えるようになると思っていた
Mithril.jsを使って、がっつりSPA(シングルページアプリケーション)を作ったので紹介します。 Mithril使いやすいので広まって欲しいです。 作ったもの コード譜をweb上で作成して共有できるサービスを作りました。 コード譜共有サイト ChordKitchen http://chordkitchen.net サービス紹介動画です。 www.youtube.com 開発環境 プログラミング言語 typescript(versionは1.4) typescriptいいよ!! コードはできるだけjavascriptっぽく書いて、 コンパイル時にケアレスミスを検出する感じに使いました。 タスクランナー gulp webpack(後述) クライアントサイド 使用しているライブラリ Mithril.js underscore.js Mithril.jsについて 公式サイト https://
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く