- 0.1. Bootstrap4.5.3で違和感のないパスワード一致バリデーションを行う
- 0.2. JavaScriptが実行できるツール
- 0.3. お問い合わせフォーム、jsバリデーション【改】
- 0.4. [Node.js] response.writeHeadとresponse.setHeaderって何が違うの?
- 0.5. Laravel 6.x 非同期通信(Ajax) 【JavaScript】 【jQuery】 【axios】 【Vue.js】 各記述方法 ~JavaScript × axios編~
- 0.6. 【React】state を使ってみる useEffect
- 0.7. 【React】stateを使ってみる useState
- 0.8. 【React】配列を繰り返し処理で回して props に渡してみる
- 0.9. 【React】 props を使ってみる
- 0.10. 【React】component を作る
- 0.11. Qiita記事のコメント欄を内容直下に移動するユーザースクリプト
- 0.12. 【React】環境構築から起動まで
- 0.13. FizzBuzz(通常 / 再帰 / クラス)
- 0.14. Nuxt.js、Firestore、axiosでデータの投稿日時表示、ソート機能実装
- 0.15. フロントエンドやるなら入れておくべきESlintってなに?
- 0.16. ポートフォリオにiframeタグでyoutubeの動画を組み込むときのすゝめ
- 0.17. 初学者が「とりあえずturbolinks消す」に抗ってみた
- 0.18. Reactでfor文を使う
- 0.19. JavaScriptの関数の様々な利用方法
- 0.20. JavaScriptにおけるCookieにデータを保存・参照する方法
- 1. クッキー
Bootstrap4.5.3で違和感のないパスワード一致バリデーションを行う
Bootstrap は、ver.4 から、入力エラーのメッセージを表示するための **invalid-feedback** クラスが用意されており、簡単にUIからユーザーにバリデーション結果を伝えることができるようになっています。ほとんど CSS を自分で書く必要がありません。
たとえば、こんなように。
|Valid|Invalid|
|—|—|
|![valid.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30945/068643f0-f471-b06a-e5f0-f3cfa37435cf.png)|![invalid.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30945/d1bff19b-c174-27c0-018c-906a337c9627.png)|実際、ソースコードとして見ると、
“`html:index.html
JavaScriptが実行できるツール
JavaScriptにはコードを実行したらすぐに結果が表示されるツールがあります
デベロッパーツール
—ブラウザ開発者ツール、検証ツールなどとも呼ばれます。一般的なブラウザに付属し、誰でもすぐに使うことができます。デベロッパーツールでは主に以下のようなことができます。
表示しているサイトのHTMLの要素の確認・編集
表示しているサイトのCSSの確認・編集
JavaScriptの実行HTMLやCSSの確認・編集
→ **Elements(エレメンツ)**パネルで操作できます。
JavaScriptの実行
→ **Console(コンソール)**パネルにて行うことができます。デベロッパーツールの使い方
—ブラウザ上で二本指クリックする → 「検証」を選択する
コンソールパネルの使い方
—テキストエディタ(vscodeなど)で用意したファイルにソースコードを記述して、JavaScriptを実行することもできます。
手軽に書く時は、コンソールにJavaScriptの記述をし、実行していきます。コンソールに文字を表示させる方法
—
**conお問い合わせフォーム、jsバリデーション【改】
“`javascript:contact.js
window.addEventListener(‘DOMContentLoaded’, () => {
// 「送信」ボタンの要素を取得
const submit = document.querySelector(‘#contact-submit’);// エラーメッセージと赤枠の削除
function reset(input_infomation, error_message){
const input_info = document.querySelector(input_infomation);
const err_message = document.querySelector(error_message);
err_message.textContent =”;
input_info.classList.remove(‘input-invalid’);
};// 「お名前」入力欄の空欄チェック関数
[Node.js] response.writeHeadとresponse.setHeaderって何が違うの?
# はじめに
Node.jsを勉強していて、setHeaderとwriteHeadって何が違うの…?となったのでソースコードなどから調べてみました。# setHeaderのソースコードを見てみる
setHeaderの実装部分を示します。setHeaderはheadersに名前と値を格納しているだけということがわかります。
headersに値を格納しているので、例えばgetHeader(name)によって値を取得することができます。“`javascript
OutgoingMessage.prototype.setHeader = function setHeader(name, value) {
if (this._header) {
throw new ERR_HTTP_HEADERS_SENT(‘set’);
}
validateHeaderName(name);
validateHeaderValue(name, value);let headers = this[kOutHeaders];
if (headers === nulLaravel 6.x 非同期通信(Ajax) 【JavaScript】 【jQuery】 【axios】 【Vue.js】 各記述方法 ~JavaScript × axios編~
#制作環境
Windows 10
Laravel : 6.18.35
Laravel/ui : 1.0
Laravel-mix : 5.0.1
Bootstrap : 4.0.0
axios : 0.19
Vue : 2.5.17
XAMPP
PHP : 7.4.3
Visual Studio Code#はじめに
この記事はプログラミングをはじめたばかりの素人が、できたことをメモするのに利用しています。
内容には誤りがあるかもしれません。前回のつづきになります。
#関連記事
[Laravel 6.x 非同期通信(Ajax) 【JavaScript】 【jQuery】 【axios】 【Vue.js】 各記述方法 ~事前準備編~](https://qiita.com/Charry/items/737085257784bd9fb6e2)
[Laravel 6.x 非同期通信(Ajax) 【JavaScript】 【jQuery】 【axios】 【Vue.js】 各記述方法 ~JavaScript編~](https://qiita.com/Charry/items/f60【React】state を使ってみる useEffect
# はじめに
React を習得するまでの軌跡をメモっていく備忘録的な記事です。
## state を使って1秒毎にカウントアップするタイマーを作る
~~~jsx:index.js
import React, { useState, useEffect } from ‘react’;
import ReactDOM from ‘react-dom’;const Timer = () => {
const [time, setTime] = useState(0);// クリーンアップ関数を登録(return)する
useEffect(() => {
const timerId = setInterval(() => setTime(time + 1), 1000);
return () => clearInterval(timerId);
});return(
{time}
)
};ReactDOM.render(
,
document.getEle【React】stateを使ってみる useState
# はじめに
React を習得するまでの軌跡をメモっていく備忘録的な記事です。##
クリックすると数字が増えていくというやつです。
~~~jsx:index.js
import React, { useState } from ‘react’;
import ReactDOM from ‘react-dom’;const Counter = () => {
const [count, setCount] = useState(0);return(
count: {count}
{/* onClick={} の中に関数を書くとその関数が実行されます。*/}
);
}ReactDOM.render(
,
document.getElementById(‘root’)
);
~~~![スクリーンシ
【React】配列を繰り返し処理で回して props に渡してみる
# はじめに
React を習得するまでの軌跡をメモっていく備忘録的な記事です。## 配列を繰り返し処理で回して props に渡してみる
defaultPropsを使ってpropsに値が入らなかった時のデフォルトも設定してみました。
~~~jsx:index.js
import React from ‘react’;
import ReactDOM from ‘react-dom’;// User に入れる用のデータ
const profiles = [
{ name: ‘太郎’, age: 10 },
{ age: 30 },
{ name: ‘花子’, age: 25 },
{ name: ‘太郎’ },
]const User = (props) => {
return (私の名前は{props.name}で、年齢は{props.age}です。
)
};// 値がなかった時のデフォルトを設定
User.defaultProps = {
name: ‘名無し’,
age: 20
};const
【React】 props を使ってみる
# はじめに
React を習得するまでの軌跡をメモっていく備忘録的な記事です。## props を使ってみる
~~~jsx:index.js
import React from ‘react’;
import ReactDOM from ‘react-dom’;const User = (props) => {
return (私の名前は{props.name}です。
)
};ReactDOM.render(
,
document.getElementById(‘root’)
);~~~
![スクリーンショット 2020-11-29 0.00.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/559794/510ed00a-ded1-2364-fed9-16f89be08a61.png)
表示成功
## まとめ
– コンポーネントの引数に props と入れる。
– コンポーネントの中
【React】component を作る
# はじめに
React を習得するまでの軌跡をメモっていく備忘録的な記事です。
https://qiita.com/u_query/items/51b4140a450ee5d51dcc の続きです## component を表示してみる
create-react-appで作ったデフォルトのファイルは中身は全部消して一から作ります。
~~~jsx:index.js
import React from ‘react’;
import ReactDOM from ‘react-dom’;const App = () => {
return (Hello, World
)
};ReactDOM.render(
,
document.getElementById(‘root’)
);~~~
![スクリーンショット 2020-11-28 23.43.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/559794/adac2c85-f
Qiita記事のコメント欄を内容直下に移動するユーザースクリプト
コメント欄を記事内容直下に移動し、スクロールの手間を減らします。
[greasemonkey](https://www.greasespot.net/) や [tampermonkey](https://www.tampermonkey.net/) でご利用ください。ページ読み込み直後に一瞬カクつくのは仕様です。(ある程度スクロールしないとコメントが表示されないため、最下部までスクロールさせて戻しています)
コメントの確認を目的としていたので、移動後のコメント入力欄が問題なく動作するかは未確認です。
“`js
// ==UserScript==
// @name Qiita記事のコメント欄移動
// @version 1.0
// @match *://qiita.com/*/items/*
// @grant none
// ==/UserScript==(function() {
‘use strict’;const scrollX = window.scrollX;
const sc【React】環境構築から起動まで
# はじめに
React を習得するまでの軌跡をメモっていく備忘録的な記事です。
## 環境構築
yarn は installしておく~~~
$ yarn global add create-react-app
~~~## React アプリに必要なファイル群を作成
~~~
$ create-react-app sample_app
~~~## アプリの起動
~~~
sample_app $ yarn start
~~~localhost:3000 にアクセスすると…
![スクリーンショット 2020-11-28 23.32.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/559794/16ea085f-d0d0-a93a-e23a-6d5c1689e586.png)
表示成功
FizzBuzz(通常 / 再帰 / クラス)
# はじめに
なんか書き殴りたくなったので書きます。
プログラム始めたばかりの時は、
**「オブジェクト指向…??」**
**「再帰???」**
みたいな印象だったのですが、気付いたら書けるようになってました。嬉しい。
備忘録的に残しておきます。
壮大なもの書こうかと思ったんですが、初心に帰ってFizzBuzzで## 補足
①この記事では「これがFizzBuzzだ」みたいな話はしません
定義は下記に記しますがその定義があっているかどうかは議論しません。②再帰的な書き方だったりクラスの書き方はもっと良い方法あると思います。
そんな時は是非マサカリが欲しいです。> 定義
・1~100を順番に表示する
・3と5の倍数の場合[FizzBuzz]と表示する
・3の倍数の場合[Fizz]と表示する
・5の倍数の場合[Buzz]と表示する## 通常ver
“`js
for (let i = 1; i <= 100; i++) { const Fizz = 3; const Buzz = 5; if (i % (Fizz * Buzz) === 0) {Nuxt.js、Firestore、axiosでデータの投稿日時表示、ソート機能実装
#この記事の概要
↓以前書いた記事で作った掲示板アプリの追加実装を行います。
[Nuxt.js、Firebase、axiosでパパッと掲示板!](https://qiita.com/higa08/items/b33fc013d26426dc042a)**※※※**
**前回からの続きになっております**
**以下、適宜axiosメソッドに渡しているURLの`YOUR_PROJECT_ID`を自分のプロジェクトIDに置き換える必要があることに注意してください。**
`YOUR_PROJECT_ID`のままだと以下のエラーが出ます。
![スクリーンショット 2020-11-24 20.39.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/635852/dcdbd945-b0da-8c99-4eab-80c0be24e4c6.png)
***追加するのは
**・投稿日時の表示**
**・投稿日時順にソート**# 目標物
![demo](https://gyazo.com/05315455フロントエンドやるなら入れておくべきESlintってなに?
#プログラミング勉強日記
2020年11月28日
[昨日の記事](https://qiita.com/mzmz__02/items/12d198b696efa8b29bda)でPrettierについて扱ったが、Prettierと合わせて使用することのできるESlintについて紹介する。#ESlintとは
ESlint(読み方:「イーエスリント」)は、JavaScriptやTypeScriptなどの静的解析ツールである。ESlintを導入することで、単純な構文エラーやプロジェクト固有のコーディング規約を定義することができる。厳密なルールを定義することで、複数人で開発する場合でもシステム全体のコードの一貫性を維持することができる。#ESlintの特徴
– 自由に多くのルールを設定できる
– 独自ルールを作成するAPI
– 固有のライブラリー、フレームワーク、および実践のルールを持つ多数のプラグイン
– ES6、ES7、JSXの内蔵サポート
– 迅速に開始できるように、推奨ルールだけでなくサードパーティの設定利用が可能
– Sublime、Vim、JetBrainsの製品およびVポートフォリオにiframeタグでyoutubeの動画を組み込むときのすゝめ
#本記事の概要
初投稿になります!
本記事は、ポートフォリオにyoutube動画を組み込んだ時におきた問題についての記事になります。##問題点
ポートフォリオにyoutube動画を大量に組み込んだ際に、下記問題点が起こりました。– 埋め込みyoutubeの動画の含まれるHTMLの読み込みと表示が非常に遅い
– リクエストが途中で途切れる・一瞬で遮断される
– コンソールでエラーがまれに発生する埋め込みタグのコードは下記になります。
“`html