Skip to content

Instantly share code, notes, and snippets.

View aidiary's full-sized avatar

Koichiro Mori aidiary

View GitHub Profile
@aidiary
aidiary / realtime_sinewave.py
Created October 26, 2021 08:06
sounddeviceでリアルタイムにサイン波を出力
import numpy as np
import sounddevice as sd
samplerate = 44100
frequency = 440.0
amplitude = 0.6
sd.default.samplerate = samplerate
sd.default.device = 'MacBook Proのスピーカー'
@aidiary
aidiary / Login.js
Created October 23, 2021 12:03
キーストロークのたびに処理を実行せずに処理を遅らせる(debounce throttle)
useEffect(() => {
// 500ミリ秒後にvalidationを動かす
// キーストロークのたびにsetFormIsValidが呼ばれなくなる(debounce throttle)
// validationは軽い処理だからいいが、バックエンドにデータを送ってvalidationするような重い処理の場合に有効
const identifier = setTimeout(() => {
setFormIsValid(
enteredEmail.includes('@') && enteredPassword.trim().length > 6
);
}, 500);
@aidiary
aidiary / Login.js
Created October 23, 2021 11:43
useEffectで入力のバリデーション
import React, { useEffect, useState } from 'react';
import Button from '../UI/Button/Button';
import Card from '../UI/Card/Card';
import classes from './Login.module.css';
const Login = (props) => {
const [enteredEmail, setEnteredEmail] = useState('');
const [emailIsValid, setEmailIsValid] = useState();
const [enteredPassword, setEnteredPassword] = useState('');
const [passwordIsValid, setPasswordIsValid] = useState();
@aidiary
aidiary / AddUser.js
Created October 22, 2021 12:15
useRefでinputの内容を取得する
import React, { useRef, useState } from 'react';
import Button from '../UI/Button';
import Card from '../UI/Card';
import ErrorModal from '../UI/ErrorModal';
import classes from './AddUser.module.css';
const AddUser = (props) => {
const nameInputRef = useRef();
const ageInputRef = useRef();
@aidiary
aidiary / Button.js
Last active October 14, 2021 01:31
styled-componentsによるスタイル付け
import styled from 'styled-components';
const Button = styled.button`
font: inherit;
padding: 0.5rem 1.5rem;
border: 1px solid #8b005d;
color: white;
background: #8b005d;
box-shadow: 0 0 4px rgba(0, 0, 0, 0.26);
cursor: pointer;
@aidiary
aidiary / CourseInput.js
Last active October 14, 2021 00:53
条件付けスタイル
<form onSubmit={formSubmitHandler}>
<div className={`form-control ${!isValid ? 'invalid' : ''}`}>
<label>Course Goal</label>
<input type='text' onChange={goalInputChangeHandler} />
</div>
<Button type='submit'>Add Goal</Button>
</form>
import { purple, red } from '@mui/material/colors';
import { createTheme, ThemeProvider } from '@mui/material/styles';
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
import Layout from './components/Layout';
import Create from './pages/Create';
import Notes from './pages/Notes';
const theme = createTheme({
palette: {
primary: red,
@aidiary
aidiary / App.js
Created October 11, 2021 12:32
createThemeとThemeProvider
import { purple } from "@mui/material/colors";
import { createTheme, ThemeProvider } from "@mui/material/styles";
import { BrowserRouter as Router, Route, Switch } from "react-router-dom";
import Create from "./pages/Create";
import Notes from "./pages/Notes";
const theme = createTheme({
palette: {
primary: {
main: "#fefefe",
@aidiary
aidiary / App.js
Created October 1, 2021 05:54
MUI tutorial
import React from "react";
import logo from "./logo.svg";
import "./App.css";
import Button from "@mui/material/Button";
import ButtonGroup from "@mui/material/ButtonGroup";
import SaveIcon from "@mui/icons-material/Save";
import DeleteIcon from "@mui/icons-material/Delete";
import Checkbox from "@mui/material/Checkbox";
import FormControlLabel from "@mui/material/FormControlLabel";
import TextField from "@mui/material/TextField";
@aidiary
aidiary / countplot.py
Created March 27, 2020 06:26
出現回数を棒グラフで綺麗に表示する
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
sns.set(style='darkgrid')
sns.set(font_scale=1.5)
plt.rcParams['figure.figsize'] = (10, 5)
token_lengths = [len(token) for token in tokenizer.vocab.keys()]