かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

MySQL 1回のクエリで取れたデータを別々の条件別にカウントしたい

SELECT 全体のレコード数, 条件A の総数, 条件B の総数 FROM テーブル WHERE 条件 GROUP BY カラム こんな感じで特定の条件でグループ化したデータをグルーピングされた中で、さらに条件別に数を出したい。 例えばユーザーの購入レコードがあって、ユーザー…

React 条件分岐のある箇所で Hooks を使うとエラーになる

Uncaught Error: Rendered fewer hooks than expected. This may be caused by an accidental early return statement. というエラーに出会ったのでメモ。 環境 React ^17.0.1 エラーが発生した経緯 ロード中と完了後に別のコンポーネントを表示したいとか、…

環境構築 macOS Big Sur : Git の設定と GitHub への SSH 接続

新しいMacに Git の設定やり直したのを書き忘れてたので思い出しながらメモ。 環境 Intel Mac macOS Big Sur Homebrew インストール済み Git のインストール Xcode の Xcode Command Line Tools をインストールする ターミナルで git --version コマンドを叩…

JavaScrip HTML5 input type="datetime-local" の値を設定したい

JavaScript (React) で <input type="datetime-local" /> の値を設定するメモ datetime-local の value は yyyy-MM-ddThh:mm の形で指定する 表示される日付と時刻の書式は実際の value とは異なることです。表示される日付と時刻は、オペレーティングシステムからの報告に従ってユーザーの…

今更の Firebase Cloud Firestore 。タイムスタンプ周りのメモ

Cloud Firestore のタイムスタンプ型は firebase.firestore.TImestamp オブジェクトなので Date と思って扱うとエラーになるし、seconds プロパティを new Date() すると別の日付になってしまうので注意!

Mac デスクトップを iCloud 同期しているときの TIPS

昨年末から G's Academy という自分のプロダクトを作れるようになろう的なスクールでプログラミングのチューターをしています。 チューターをしている中で意外なトラップを発見したのでメモとして残しておきます。 Mac デスクトップを iCloud 同期設定をして…

JavaScript, Node.js 先に作っておいた変数を named export したい

default exports は好きな名前で import できてしまうから極力 named exports / import にしたほうが良いと教えてもらったので、先に変数が作られてる場合どうするんだろう?と思い調べて見たメモ。 ESModules の named exports exports // foo.ts export co…

Firebase Cloud Firestore で複数の OrderBy で 9 FAILED_PRECONDITION: The query requires an index なエラーになった

Cloud Firestore からデータを取ってこようとしたら次のようなエラーが返ってきた。 { error: { code: 9, details: "The query requires an index. You can create it here: https://console.firebase.google.com/v1/r/project/<projectName>/firestore/indexes?...", mes</projectname>…

VSCode 保存時に Prettier の自動フォーマットが効かなくなった件

コードのフォーマット揃ってないとʕ•ﻌ•ʔムキッってなっちゃうけど、手作業でフォーマットするのは面倒くさいダメ人間です。 ./vscode/settings.json に "editor.formatOnSave": true を指定していたのだけど、保存時に Prettier が効かなくなってたので動くよう…

環境構築 macOS Big Sur : vim をカラフルにしたい

git で開くエディタに色がついてなかった。設定方法すぐ忘れるのでメモ。 環境 macOS Big Sur zsh vim vim にカラースキームを適応する方法 調べると ~/.vim/colors 内にカラースキームのファイルを置いて .vimrc で指定すればOKっぽい。 自分の環境はこのデ…

環境構築 macOS Big Sur : anyenv の pyenv で Python を使えるようにした

Python 環境した構築のメモ macOS Big Sur anyenv インストール済み zah 前回までのあらすじ ( anyenv / nodenv のインストール ) anyenv で pyenv を使えるようにする pyenv は nodenv と違ってインストールする必要があった $ anyenv install pyenv /var/f…

環境構築 macOS Big Sur : nodenv で node.js 環境をクリーンインストールしたメモ

Macが壊れたので新規環境に Node 入れてたのでログとして 環境 macOS Big Sur Homebrew インストール済み zsh Homebrew のインストール $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" anyenv のイン…

Python データにコンマ , を含む CSV をいい感じに扱いたい

Pyton で CSV を扱うなら標準ライブラリの csv を使うのが良い。

GAS SpreadSheet IMPORTRANGE で 外部シートを読み込もうとして 循環依存が検出されました。なエラーにハマる

PM っぽいことをしてて SpreadSheet を触るばかりの日々を過ごしています。 お久しぶりに SpreadSheet で他のシートからの参照をしててエラーになってしまったのでメモ。 IMPORTRANGE で外部のシートを読み込もうとしたら 循環依存が検出されました。 という…

GAS SpreadSheet 複数のシートのデータをまとめて表示したい

1日目, 2日目, 3日目のイベント情報のデータがあってそれぞれ別のシートにあるから全体を見れるように 1つのシートで表示したいみたいなケース day1 A B C D 1 id name day action 2 1 星宮いちご day1 xxx 3 2 霧矢あおい day1 xxx 4 3 紫吹蘭 day1 xxx day…

firebase firebase init で Error Failed to list Firebase projects. になる

久々に Firebase Hosting を使おうとしてしたら firebase init の Project Setup で 既にあるプロジェクトを使おうと思い Use an existing project を選択すると Error: Failed to list Firebase projects. See firebase-debug.log for more info. になって…

Git 間違って rebase しちゃったのを元に戻したい

git rebase しくじった時。 私はよくしくじる! git reflog を使う git reflog で直近の変更がずら〜っと表示されるので、戻したい位置を選んでもとに戻すことができる $ git reflog 94677f475 (HEAD) HEAD@{0}: rebase (continue) (finish): XXXXX 94677f47…

Webpack production mode の時だけ babel-preset-minify で console.log を消したい

開発中は console.log で色々確認したいけど、ESLint で console.log が残ってるとエラーになるようにしてると、特に雑でいい個人開発だと都度消してってのがメンドイので production の時だけ console.log を削除してしまいたかった。 webpack の uglifyjs-…

JavaScript で おしえて A to Z

2020年最後なのでネタ投稿です。 charCodeAt を使って A-Z の文字コードを作る charCodeAt() メソッドは、指定された位置にある UTF-16 コードユニットを表す 0 から 65535 までの整数を返します。 cf. String.prototype.charCodeAt() - JavaScript | MDN 'A…

JavaScript Object <---> Array の操作 Object.keys(), Object.values(), Object.entries(), Object.fromEntries()

Object.keys() オブジェクトのキー一覧が配列で取れる const Idols = { 'cute': ['Ichigo', 'Sakura', 'Akari', 'Madoka', 'Maria'], 'cool': ['Aoi', 'Yurika', 'Shion', 'Sumire', 'Seira'], 'sexy': ['Ran', 'Mitsuki', 'Hikari', 'Juri', 'Sora'], 'pop'…

コードで永遠を描いちゃぉ

アイカツ!を見ておけば幸せになれるので、 アイカツ!を終わらないコンテンツにするために永遠のデータについて考えてみました。

Python3 クロージャやってみた

アイカツ!の放送日を Python でフォーマットしてました

Python3 Class インスタンス変数とクラス変数・インスタンスメソッドとクラスメソット。それからスタティックメソッド

インスタンス変数とクラス変数 インスタンス変数 … self.variable の形で定義する クラス変数 … クラスブロック直下に書かれた変数はクラス変数になる class User(object): # クラス変数 name = 'User' def __init__(self, name): # インスタンス変数 self.n…

Python3 class の getter / setter のメモ

また Python を少し触っています。 private 変数 のおさらい __ 始まりで作成された変数はインスタンスからしかアクセスできない private 変数になる class User(object): def __init__(self, name): self.__name = name def hi(self): print(f'Hi, {self.__…

Git 直前のコミットメッセージを編集したい

typo の達人なので git commit --amend $ git commit --amend 修正するコミットメッセージを直接渡したいときは $ git commit --amend -m "message" amend … 修正する 英語ちから is 無 だからすぐ忘れる… おわり わかばちゃんと学ぶ Git使い方入門作者:湊川…

Homebrew brew update で Error: homebrew-core is a shallow clone

開発環境アップデートしたからコマンド実行して〜って言われてやろうとしたら brew update でエラーになった。 $ brew update Error: homebrew-core is a shallow clone. To `brew update` first run: git -C "/usr/local/Homebrew/Library/Taps/homebrew/ho…

JavaScript 配列の要素を immutable に変更する方法を考えてみる

よくあるオブジェクトが要素のリストでオブジェクトの内容を変更したい。 そして配列は immutable に扱いたい。 interface Idol { id: number; name: string; type: string; unit?: string; }; const data: Idol[] = [ { id: 1, name: 'Hosimiya Ichigo', ty…

React v17 create-react-app で作ったアプリで ESLint に怒られまくった

npx create-react-app で React のアプリを作ったら v17 系になっていました。 今までのプロジェクトで使っていた ESLint の設定を持ってきたらエラーになる部分があったのでメモ react 17.0.1 react-scripts 4.0.1 eslint 7.14.0 eslint-plugin-react 7.21.…

JavaScript OS の判定をしたい

ショートカットの案内を表示するのに Mac, iPhone, iPad なら ⌘ それ以外は Ctrl を表示したい。という要望でクラアンと側で OS の判定をしたメモ navigator.userAgent / navigator.platform を使う MDN のドキュメントには navigator.userAgent, navigator.…

webpack v5 npx webpack-dev-server で dev server が動かないにハマる

久しぶりに webpack 環境を作っていて web-pack-dev-server を動かそうとしてハマったのでメモ package.json "devDependencies": { "webpack": "^5.6.0", "webpack-cli": "^4.2.0", "webpack-dev-server": "^3.11.0" }, Error: Cannot find module 'webpack-…