サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
suzukalight.com
3 行まとめ css mixin を使うことで、複数のコンポーネントで使い回せるスタイルヘルパを作成できるcsstype を使って、Typography, Space, Color などの型付き props を作ることができる基礎コンポーネントに型付き props を混ぜて受けられるようにし、mixin で受けてスタイリングさせることで、Chakra UI のような型安全なスタイル記述ができるようになる何がしたかったかこういう Chakra UI みたいな書き方がしたかったので、styled-components でやれるかを試したのが今回の記事の主題です。 export default function App() { return ( <VStack spacing={4} w="100vw" h="100vh" px={4} py={8} bgColor={palette.white
import remarkCustomBlocks from 'remark-custom-blocks'; const getDefaultMdxOptions = () => ({ // ... remarkPlugins: [ [ remarkCustomBlocks, { exercise: { classes: 'exercise', title: 'required', }, }, ], ], }); next-mdx-remote の mdxOptions に remarkCustomBlocks を追加し、オプションを設定する。classes でブロックにあてる CSS クラス名を、title でタイトル部分が必須かどうかを設定できる。 /* * Custom Blocks */ .exercise, .practice { border: 1px solid #e2e8f
Apollo-Server を使った GraphQL サーバのハンズオン実装シリーズ。今回は認証と認可(Authentication/Authorization)を扱います。 前半は、メールアドレス・パスワードによる認証と、サインアップ処理を追加する手順です。JWT(jsonwebtoken)、bcrypt による暗号化、beforeCreate などの Sequelize Hooks などを使用しています。 後半は、JWT + x-token ヘッダ によるユーザ認証と、Permission-based, Role-based の認可処理を追加する手順です。ほかにリゾルバの連結を行う graphql-resolvers を紹介しています。 今回も、こちらのチュートリアルをなぞって進めています; https://www.robinwieruch.de/graphql-apollo-serv
Role-based Access Control は、ユーザと許可とを直接紐付けるのではなく、間に役割(Role)を挟みこんだ 3 段階の権限管理を行っています; 誰が何をできるか?という設定は緻密で具体的ではありますが、その繊細さゆえに設定ミスを誘発しがちになります。Role を挟むことにより、「その役割の人なら、これらの振る舞いが認可される」という関係性を定義することができるようになります。 たとえば異動したユーザに対して、許可をひとつひとつ剥がしてひとつひとつ付け直すよりも、役割を 1 つだけ付け直すほうが、明らかにミスが減りますよね。 セットアップ何を作るか?投稿管理システムを素振りしてみます。役割として「ビジター」「執筆者」「管理者」の 3 種類を想定し、それぞれの役割に応じて閲覧や操作の許可をコントロールできる機能を実装していきます; このスクリーンショットの場合は、執筆者
最近ははじめから世界で勝負しようと頑張っているアプリも増えてきています。その場合に、障壁のひとつとなるが多言語対応(国際化・i18n)の方法だと思います。今回はこの i18n について素振りしてみました。 まえがき完成品実装したリポジトリはこちらです; https://github.com/suzukalight/study-react-i18next 動作環境MacNode.js v10.16.0 / npm v6.9.0 / yarn v1.16.0create-react-app (react-script v3.1.1)TypeScript v3.5.3react-i18next v10.12.2i18next v17.0.13多言語対応ライブラリ比較多言語対応のために利用可能なライブラリとして、下記のものがあります; react-intlreact-i18nextpolyglot
Monorepo 環境で、yarn workspace を使って、create-react-app --typescript した client ワークスペースと、prisma2 で作成した server ワークスペースを共存させる手順のメモです。Lint, Prettier, Husky の設定も行います。 前提条件完成品手元で同様の手順を踏んだリポジトリを、GitHub 上に公開していますので、併せてご参照ください。 https://github.com/suzukalight/monorepo-react-prisma2 動作環境MacNode.js v10.16.0npm v6.9.0create-react-app (react-script v3.1.1)prisma2 v2.0.0-preview-5TypeScript v3.5.3Lint, Prettier, Husky
import React from 'react'; import { Link } from 'gatsby'; import kebabCase from 'lodash/kebabCase'; import styles from './index.module.scss'; const Tag = ({ tag }) => ( <Link className={styles.link} to={`/tags/${kebabCase(tag)}/`}> <li className={styles.tag}>{tag}</li> </Link> ); const Tags = ({ tags }) => ( <ul className={styles.tags}> {(tags || []).map(tag => ( <Tag key={tag} tag={tag} /> ))} </
このページを最初にブックマークしてみませんか?
『suzukalight.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く