- 0.0.1. Atomic Design再考察(ButtonコンポーネントはAtom or Molecule?)
- 0.0.2. 『フリマアプリ』カテゴリー一覧・動的ページスクロール機能
- 0.0.3. webpack超超入門(備忘)
- 0.0.4. 4² + 6² + 8² + … + 18² + 20² + 22² = 2020 になるというネタを検算するパクり記事
- 0.0.5. JavaScriptをすこーし勉強してみたので書き留める
- 0.0.6. Let’s Encryptを使用しているウェブページをブロックするプロキシサーバー
- 0.0.7. 【2020年版】v-modelをカスタムコンポーネントで実装しよう
- 0.0.8. 【TypeScript】Liftsでサクッと関数型プログラミング【Pipeline/Switch式/Result型など】
- 0.0.9. 学習記録 #3 ローディング画面実装
- 1. example
- 2. この文字が大きくなります
- 3. この文字が大きくなります
- 3.0.1. 【JavaScript】forEach,mapメソッドの違い、使いどころ
- 3.0.2. Kinx アルゴリズム - マージソート
- 3.0.3. LIFF新機能の「liff.id」を試してみた
- 3.0.4. ことばを学ぶ LEARN GATSBY 週間 #5日目
- 3.0.5. 【JavaScript】spliceメソッドの使い方
- 3.0.6. TypeScriptで学ぶデザインパターン〜Decorator編〜
- 3.0.7. 【JavaScript】unshift,shift,push,popの違い
- 3.0.8. JavaScript 連想配列のキーが「全部一致している」や「一部含まれてる」を判定したいとき
Atomic Design再考察(ButtonコンポーネントはAtom or Molecule?)
# はじめに
N番煎じですが、Atomic Designで開発していてAtomsの扱いに困ったので、再考察していこうと思います。# Atomsで困った点
Buttonコンポーネントは他のコンポーネントが子要素として入ってくるけど、Atomsに入れて良いのか?という点で困りました。この問題に関して、「[Atomic Designってデザイナーには難しくない!?という話](https://qiita.com/rhirayamaaan/items/7f990e146ec01f2e7e08)」の中で考察されているので、これで良いんじゃないか?と思う人もいるかもしれませんが、実際に実装していくと上手くいかない部分が出てくるので、再考察していきます。
先ほどの記事で取り扱われているButtonコンポーネントの実装はこのようになっています。
“`react:button.tsx
import React from ‘react’;const Button = ({ onClick, children }) => (
『フリマアプリ』カテゴリー一覧・動的ページスクロール機能
#はじめに
今回実装する機能はこちら
![f4557791d40c91701729611a678bfac3.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601876/36b2755a-2fe4-ce52-510d-9a3feeeb036e.gif)ページ上部に表示されているカテゴリー名の親要素ボタンがクリックされるとその要素の子要素一覧のページ位置までスクロールされる機能。
記事を作るにあたってこのようなカテゴリー一覧をまだ作成できていない方もいると思うのでその方向けにもhaml,scssを用いたビューのコーディングから説明していくので機能の実装方法だけ知れればいい方はページ下部まで飛ばしてください
##カテゴリー一覧の作成
カテゴリー一覧はancestryを用いて作成しています。もしancestryが分からない方や実装できていない方はhttps://qiita.com/mugioka/items/3f2880867ca36116a895 ←こちらの記事を先に見てくださいそれでは早速ham
webpack超超入門(備忘)
# webpackとは
webpackはフロントエンド開発用のモジュールバンドラー、簡潔にはモジュールをまとめてくれるツール## 用語
– モジュール
javascriptやcssなどのファイル。– バンドル/バンドルファイル
モジュールが一つにまとめられたファイル。– ビルド
バンドルを出力するまでの一連の処理## 利点
– 機能ごとにファイルを分割(モジュール化することができる。)
– 可読性の向上
– 開発作業の分担やテストがし易くなる
– モジュールの再利用性を向上できる。
– 転送効率を向上させることができる。
– 最適化されたファイルを出力できる。## install
何はともあれやってみないといまいちよくわからないので、早速nodeからwebpackをインストール。– 適当なディレクトリを切って、package.jsonを初期化
“`shell
yarn init -y
“`– webpackとwebpack-cliをインストール(webpack4からcliが別モジュールとして管理されるようになったため、別途インストールが必要らしい。
4² + 6² + 8² + … + 18² + 20² + 22² = 2020 になるというネタを検算するパクり記事
[7²+8²+9²+…17²+18²=2018(年)になるというネタがホントかどうかChromeで検算する](https://qiita.com/m_mitsuhide/items/c66a392fb275d2e8b7af)
というネタから派生した
[【再帰関数に挑戦】超短いワンライナーの計算結果が2018になる過程を読み解く](https://qiita.com/m_mitsuhide/items/e098a55fe33a8501f4bd)
という記事を興味深く読ませていただいたあとで、「もしかしたら2020年にもなんかそういうのあるのかな」とWikipediaを見てみたら、ありました4² + 6² + 8² + … + 18² + 20² + 22² = 2020
[2020](https://ja.wikipedia.org/wiki/2020)ワンライナーの再帰処理にぴったりだったので、ちょいと書き換えて試してみます
“`javascript
console.log(f=x=>x>3?x**2+f(x-2):0)(22))
“`
![result_2020
JavaScriptをすこーし勉強してみたので書き留める
最低限の知識一応あるけど、復習も兼ねて書いてみることにするの巻。
# use strict
ざっくり言うと、**モダンなモード**にする– スクリプトの先頭に記載する
– 記載されている場合、最新の方法で動作する
– 宣言以前にコードを記載するとstrict modeにはならない
– コメントを記載することは可能である
– 関数の先頭に書くことが可能である
– その場合、その関数にのみ動作する
– 通常はsprict全体に使用する“`
“use strict”;// このコードはモダンな方法で動作します。
…
“`# 変数
– 情報を保存するために使用される
– データのための “名前付けされた格納場所”JavaScriptで変数宣言する際は`let`キーワードを使用する
“`ruby:宣言
let {変数名};
“`“`ruby:代入
{変数名} = ‘Hello’;
“`“`ruby:初期化
let {変数名} = ‘Hello’;
“``var`キーワードも存在する
– ちょっと古い
– 違い
Let’s Encryptを使用しているウェブページをブロックするプロキシサーバー
**Let’s Encrypt**はドメイン認証証明書を無料で発行してくれるたいへん素晴らしいサービスです。ウェブサイトをHTTPSで提供するためには証明書が必要ですが、Let’s Encryptの登場以前は認証局から有料で証明書を発行してもらうのが主流でした。それを無料で発行してもらえるのは大変ありがたいことです。また、発行プロセスは自動化されておりとても簡単です。筆者も個人のウェブサイトは全てLet’s Encryptで証明書を取得しています。
ところが、**Let’s Encryptが発行する無料の証明書なんて信頼できない**という教義を信奉するタイプの人々も存在するようです。筆者は最近Twitterで見かけました。ということで、そのような思想を持つ方も安心してインターネットを利用できるように、**Let’s Encryptによって発行された証明書を使用しているウェブサイトのみブロックするプロキシサーバー**を作りました。
完成品はこちらです。→ https://github.com/uhyo/proxy-for-mammonists
ソースコードをクローンし、`npm i
【2020年版】v-modelをカスタムコンポーネントで実装しよう
# カスタムコンポーネントでv-model使いたいのに難しくない?
公式のドキュメントをみてもパッと見つからないし、いろんなゴリ押し代替案があってコードが煩雑になる…
と思いきやカスタムコンポーネントでもきちんとv-modelを利用する綺麗な手法がありました。ほぼ備忘録的な記事ですが、お役に立てれば幸いです。
#手順
### すっ飛ばして見たい方は“childComponent.vue“のコードを参照してください。“model“プロパティという物が公式の機能にありました…いつ実装されたんだろうか。
ともかくこれをコンポーネント内で使います。parentComponent.vue内でchildComponent.vueを使う構成です。
“`vue:parentComponent.vue