2022-10-07から1日間の記事一覧

Github上でフローチャート図を書く。

mermaid github上でフローチャート図を書く時に直感的に使用できるjavascript? URLにmermaid-jsと書いてあったからjavascriptかな?と思ったけど、githubのissue内でcommentとしてフローチャート図を書くときに下記のように使える。 ```mermaid sequenseDiag…

【Git】履歴の修正

Git

git rebase -i commitの履歴を整理することができる $ git fetch origin $ git rebase -i origin/<ブランチ名> $ git push --force-with-lease git push —force-with-lease pushする際、リモートrefとローカルrefを比較して、ローカルが最新だった場合のみpu…

【Linux】topコマンド

Linux command "top" ターミナルでtopと打つと、現在PCがどのようなprocessを実行中か見れる。 表示されているインデックスはそれぞれ下記の意味を持つ。 PID: タスクのIDを指す PR: processの優先順位を示す. 数字が高いほど優先順位が高い VIRT: タスク当…

【Git】 コミットの打ち消し・ブランチ削除

Git

コミットの打ち消し git reset --soft HEAD^ -softオプション:ワークディレクトリの内容はそのままでコミットだけを取り消したい場合に使用。 -hardオプション:コミット取り消した上でワークディレクトリの内容も書き換えたい場合に使用。 [Git]コミットの…

外部APIから取得したデータをGoogle Spreadsheetへ転記

外部APIから取得したデータをGoogle Spreadsheetへ転記する Faradayを使ってSmartnewsからあるキャンペーンのデータを取得 取得したデータをスプレッドシートへ転記する 2を分解すると スプレッドシートへアクセスするためのgemをインストール アクセスする…

sendと_send_

sendと_send_ sendメソッドとは レシーバーが持っているメソッドを、文字列(またはシンボル)で指定して呼び出すことができる。 Object#send (Ruby 3.1 リファレンスマニュアル) class Foo def bar? true end def send(*args) false end end foo = Foo.new …

【SQLの練習】sakila

SQL

sakilaを活用したSQLの練習 テーブル設計も載っている。 MySQL :: Sakila Sample Database :: 5 Structure 使用していくデータをインポートしてくる。 sakila sample databaseというものを使うみたい。 URLへアクセスして、example databasesにあるsakila sa…

外部API連携の抽象像

外部API連携 外部API連携をする時は、下記手順を踏む 1 APIキーを取得 2 curlを用いて通信が成功するか確認 3 取得したい情報が取れるエンドポイントを公式ページから探す 4 1日に実行できるリクエストの上限を調べる 5 外部APIに対するリクエストの実行をア…

外部結合と内部結合

外部結合と内部結合 InnerJoinとOuterJoin(left, right)について書かれている。 通常、データを保存する場所を作成する時は、正規化(比較・演算などの操作のために望ましい性質を持った一定の形にすること)が行われるため、データを複数のテーブルに分割し…

【デザインパターン】Composed Methodパターン

Composed Methodパターン 単一責任原則を実現する時に使う、肥大化した関数を分割する方法の一つ。 def a puts 'a' puts 'b' puts 'c' end def a puts 'a' b c end def b puts 'b' end def c puts 'c' end 「文章のように読めるメソッドを作る」 Composed Me…

データモデリング

データモデリング アプリのモデルを設計したいときは、メインの機能をまず抽出。 そして、「何が」「誰が」「何を」「どうする」「どんな」などを意識して、エンティティを抽出していく。 そうすることでテーブル設計(正規化)がしやすくなる。 業務ルール…

SQL(GROUP BY句)

SQL

集約操作(GROUP BY句) データセットを見ていると国によっては複数のレコードを持っていることが分かります。GROUP BY 句を利用すると指定したカラムの値でグループ分けした結果に対して COUNT 関数などを利用した集計を行うことができます。 SELECT <カラ…

クエリのキャッシュ制御

クエリのキャッシュ制御 一度実行したクエリはキャッシュとして保存されている。 # データベースからbooksを取得する author.books.load # booksのキャッシュコピ-に対してsizeメソッドを実行する author.books.size キャッシュを破棄して新しいキャッシュを…

【Rails】不要なマイグレーションファイルの削除

不要なマイグレーションファイルの削除 $ rails db:migrate:status #不要なマイグレーションファイルの日付を確認 database: hoge_development Status Migration ID Migration Name -------------------------------------------------- up 20220712031711 C…

ポリモーフィック関連付け

ポリモーフィック関連付け ダックタイピングの一種。 インスタンスにも親クラスと同じメソッドを持たせておくことで、親クラスを呼び出した時の出力を定義すること。 このように、「違うものがある決まった振る舞い/入出力を持つことで、同じように扱えるよ…

Storybookの使い方

Storybook 画面遷移のモックを開発中のアプリに作成することができるライブラリ。 reactやvueの書き方で既存のプロジェクトに画面遷移のモックを実装できるから学習コストが少ない。 下記参照記事が詳しい。 storybookを理解する Component Story Format 3.0…

インターフェースと抽象クラス

インターフェースと抽象クラス 前者が外部向けの設計図、後者が内部向けの設計図と表現されることが多い。 Javaで使われる用語だが、rubyにもインターフェースやダックタイピング、ポリモーフィズム等通ずるところが多いため、学習する価値はあると思う。 【…