かもメモ

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

2019-01-01から1年間の記事一覧

Mac ターミナルからファイルをアプリで開きたい。

Mac

Rails 大きなプロダクトになると、たくさんの関連するファイルが別々の深い階層にあるの辛くない? (デキるエンジニア諸兄はターミナルから直接開くから気にならないのかな? RSpec Rails Decorator で undefined method にハマる - かもメモ open コマンド…

React JSX の中で if で分岐させたい

React のアプリで例えば編集モードの時にはフィールドで、そうでない時はテキストを表示するなど、条件によって表示を変えたい時など JSX 内で分岐をさせたい場合とか。 ふと思った。 JSXの中でif文使いたい場合って何がスタンダードなんだろう?JSXの中で {…

Ruby キーワード引数で見通しを良くするゾ

Ruby には 2.0 から導入されたキーワード引数という引数の値を変数名に割り当てメソッドを呼び出す方法があるそうです。(Ruby 2.1 からデフォルト値のない Requiredキーワード引数 が使えるようになった) キーワード引数のメリット メソッドに渡している引…

React Hooks 親コンポーネントから子コンポーネントをのDOMを ref を使って触りたい。

React Hooks を使ったアプリでボタンの状態やフィールドへのフォーカスなど ref を使った操作を、そのボタンやフィールドの親コンポーネントから呼び出したい時のメモ。 日本語が不自由なのでサンプルを 例えばボタンを押した時に非同期処理をするから、処理…

RSpec Rails Decorator で undefined method にハマる

やっはろー!RubyもRailsもほぼ初心者マン即実戦で四苦八苦してる日々です。 ActiveDecorator が使われている Rails のプロジェクトで decorator のテストを RSpec で書いていた所、decorator にあるはずのメソッドが undefined method になりテストがコケて…

JavaScript 配列をオブジェクトに変換したい。

[{id:1, ...}, {id:2, ...}. {id:3, ...}, ...] みたいな配列を{id: {...}, id: {...}, id: {...}, ...} なオブジェクトに形式に変換したい時のメモ。 e. g. 元の配列 const arg = [ {id: 1, name: '星宮いちご', type: 'cute'}, {id: 2, name: '霧矢あおい'…

React JSX className に変数と固定値を混ぜて使いたい

ReactのJSXでクラス名を付ける時に変数と固定値な文字列を一緒に使いたいとき コレはうまくいかない return ( <button className="btn btn-${btnState}">BUTTON</button> ); 文字列結合する function Button() { const [btnState, setBtmState] = useState('primary'); return ( <button className={'btn btn-' + btnState}>BUTTON</button> ); } テンプレート構文 …

JavaScript eval vs. new Function

文字列をそのままJavaScriptとして実行できる邪悪なパーツとされるeval と new Function のメモ。 node使ってモジュール入れてBabelしてwebpackする時代に使う事なんてなさそうだけど、、、 eval グローバル・スコープ内にある変数にアクセスできる let n = …

JavaScript (ES2015) super のメモ

ES2015 で使えるようになった class ですが、JavaScriptではあくまでクラスっぽいモノ(プロトタイプ・オブジェクト)として実装されているらしいので、継承元のプロパティやメソッドを使えるsuperがどうなってるのか気になったので調べてみたメモ。 super con…

CSS3 疑似要素 :blank と :empty 試してみた

CSS

恥ずかしながら空要素だけに適応できる:blank, :empty って疑似要素があることを知らなかったので試して見たメモ。 1. <div class="square"> </div> 2. <div class="square"> </div> 3. <div class="square"></div> .blank .square:blank { background-color: #ec4727; } .blank .square:-moz-only-whitespace { background-color: #ec4727;…

MySQL 関連性のないテーブルから取ってきたデータをINSERTしたい。

こんにちは。ジョニー別府です。イェー! idols, brands, typeという別々のテーブルに入っているデータを基に stage のデータを作りたい! テーブルの構成 idols table: アイドルハニーたちの名前とタイプ +----+-----------------+---------+ | id | name | ty…

Git ブランチ名を変えたい

git

ブランチ名が合ってないとか、タイポってるとかでブランチ名を変更したい時 今の作業ブランチ名を変更 $ git branch -m <new_branch_name> ブランチ名を変更 作業ブランチではない別のブランチ名を変更する場合は 対象ブランチ 新しいブランチ名 で指定する $ git branch -m <old_branch_name> <new_branch_name></new_branch_name></old_branch_name></new_branch_name>…

Ruby Haml タグやコンテンツが色々入る要素にはまる。 SyntaxError - Illegal nesting

Hamlテンプレートでタグやテキスト要素が混在したコンテンツを作成していてSyntaxErrorになったのでメモ。 エラーになる例 %div 2019年4月11日から %strong<> アイカツ! が再放送だよ!! %a(href="aikatsu")< %i.icon-help> 詳しくはコチラ! Haml::SyntaxE…

React JSX コメントを書きたい!

ReactのJSXでコメントを書く方法のメモ JSX Comment JSXの{ }の中はJavaScriptが動作するので{ }で囲ってコメントを書くことができる {/* 一行コメント */} {/* 複数行 コメント */} // も使えるが{ }の閉じタグの前に改行が必要。 {// 一行コメント } 改行…

新しい元号なんてどうでもいい。アイカツ!を観ろ!

_人人人人人人人人人人_ > アイカツを観ろ! <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄

JavaScript (ES2015) Object の色々メモ

キーの名前とプロパティの変数名が同じなら省略できる ES5 var cute = '星宮いちご'; var cool = '霧矢あおい'; var sexy = '紫吹蘭'; var soleil_es5 = { cute: cute, cool: cool, sexy: sexy, }; console.log( soleil_es5 ); // { cute: '星宮いちご', coo…

React 複数のタグを返して render したい

ReactのJSXで複数のタグを返すコンポーネントを作りたい時 JSXはルートが1つのタグでないとエラーになる 例がアレだけど、これはエラーになる function ListData() { // トップの改装に複数のタグあるとエラーになる return ( <li>星宮いちご</li> <li>霧矢あおい</li> <li>紫吹蘭</li> …

React ソートしたときの key にハマる

React入門初心者マンとして引き続きエクセル的なモノを作るチュートリアルをやっています。 今回テーブルをソートしようとしてハマったのでメモ。 react: ^16.8.3 react-dom: ^16.8.3 リストのような配列から作られるエレメントには key を指定する V-DOMはD…

React 切り替えた input タグに focus させたい

React入門初心者マンです。 Reactビギナーズガイド ―コンポーネントベースのフロントエンド開発入門作者: Stoyan Stefanov,牧野聡出版社/メーカー: オライリージャパン発売日: 2017/03/11メディア: 単行本(ソフトカバー)この商品を含むブログを見る この本…

Haml タグのあるテキスト中のスペースをコントロールしたい

とあるプロジェクトのお手伝いをしていてHamlに入門しました。 雰囲気pugなんであまり変わらないかなとというイメージだったのですが、テキスト中にタグを入れてスペースが必要だったりすると結構メンドーだったのでメモ タグの前後にスペースのあるテキスト…

GAS Spreadsheet 背景色を消したい

GASでスプレッドシートの背景色を白#ffffffではなくナシにしたい (CSSで言うところのtransparent) とき。 setBackground( null ) を使う setBackgroundColorではなくsetBackground。 まるっと1行背景色をナシにするには次のような感じ var sheet = Spreadshe…

git 設定(config)内容を確認したい。

git

お仕事のリポジトリは社用の名前とメールアドレスにしてたかな?と、ふと思いgit configに設定した内容ってどうやって確認するんだったっけ?と忘れてたので備忘録 git config --list --listオプションで設定内容を確認できる。 ショートコマンドは-l $ git …

git コミットログを綺麗にしたい。fixupとsquash

git

チーム開発をしているプロダクトで タイポを修正しただけとか、コミットログが本当にただの履歴になっているままPRをだしたりしてmasterにマージされてしまうとmasterブランチに本質ではないコミットというノイズが混ざり、後から遡って見づらくなったりして…

MySQL 重複したデータを1件だけ残して削除したい

テーブル table_a id name typeID 1 星宮いちご 1 2 霧矢あおい 2 3 紫吹蘭 3 4 神崎美月 3 5 星宮いちご 1 6 大空あかり 1 7 藤堂ユリカ 2 8 有栖川おとめ 4 9 星宮いちご 1 10 霧矢あおい 2 このテーブルからnameとtypeIDが重複されているデータを最初の1…

MySQL グループ化した条件で取得したデータを削除 / 変更にハマる

テーブル table_a id name typeID 1 星宮いちご 1 2 霧矢あおい 2 3 紫吹蘭 3 4 大空あかり 1 table_aのtypeIDカラムのデータが重複してるレコードを削除しようとして次のようなSQLを発行しました。 DELETE FROM table_a WHERE typeID IN ( SELECT typeID FR…

MySQL 複数のコラムをGROUP BYして条件にしたレコードを取得したい

MySQL 5.7 以上でGROUP BYしてレコードをまるっと取ってくる方法は分かりました。 複数のカラムをGROUP BYして検索条件にしてレコードを取ってきたいと思います。 テーブル table_a id name typeID 1 星宮いちご 1 2 霧矢あおい 2 3 紫吹蘭 3 4 神崎美月 3 5…

MySQL GROUP BYしたらエラーになった

お久しぶりのMySQL。 MySQLで重複してるデータを取ろうとしました。 SELECT * FROM table_a GROUP BY name HAVING COUNT(*) >= 2; Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'test.table_a.id' which is n…

docker内のMySQLに接続したい

docker-compose upで立ち上げたアプリで使用してるMySQLにアクセスしたメモ。 尚dockerの事はよくわかってない。 アプリの起動 $ docker-compose up MySQLのホストとポート番号の確認 $ docker ps 現在起動中のコンテナの一覧が出力されるのでmysqlのコンテ…

JavaScript タイプライターみたいなエフェクト作ってみた。

単純に文字列を1文字づつ追加していくだけのものですが See the Pen Text Typewriter with Javascript Promise by KIKIKI (@chaika-design) on CodePen. ※ 表示エフェクトはForkしたものですが、表示ロジックは丸っと作り直ました PromiseはsetTimeoutを繰り…

JavaScript jQueryを使わずに要素選択するやつのメモ。

雰囲気で使ってたから、ちょうどいい機会だしと思い簡単に調べてみたメモ document.getElementById id名で要素を選択して取得する idは#idNameではなく、idName Elementを返す idはHTML上ではユニーク(な筈)仮にidが重複して存在している場合は最初にマッチ…