kotarou1192

人間に擬態中

観賞魚のWikiを自作する日記シリーズ 〜ESLintやPrettierの設定など〜

はじめに 現状ESLintもPrettierも設定できておらず、快適な開発環境とは言えない。 なのでこれから設定していく。 eslint + prettier ここ読む解決やったー いつのまにかeslint-plugin-prettierが推奨されないものになってた | K note webpackでまとめたい w…

観賞魚のWikiを自作する日記シリーズ 〜Reactの準備とメニューバーの作成〜

はじめに 今日はReact+TypeScriptの環境構築とメニューバーの作成まで行こうと思う。 今後使うRailsのWebAPI(アカウント作成) 既に適当に作っているのでRailsでのWebAPI作成の記録は割愛。 現在以下のような仕様のAPIがある。 POST http://localhost:3000/…

観賞魚のWikiを自作する日記シリーズ 〜要件定義〜

はじめに 先日作るとは思い立ったものの、どう言う機能が必要か、どう言ったページがあるといいかがいまだにふわっとしている。 勢いでアカウント部分だけ適当に作ったものの、それで本当にいいのかもわからない。 そこで、今日は要件定義について考えてみよ…

観賞魚のwikiを自作する日記シリーズ

先日観賞魚のWikiがあったら面白いのではないかとふと思いつき、それを実行に移し出したのでメモ。 このプロジェクトは一人で暇な時にコツコツ作っていく予定。 使うもの RubyOnRails TypeScript React PostgreSQL 現在出来ていること aws lightsailにサーバ…

ReactチュートリアルをTypeScriptで書き下す

こんばんは、たかしです。 身内で勉強会をやっているのですが、そこでTypeScriptでReactを書こうという話になりました。 そこでReactチュートリアルをTypescriptで書き下してウォーミングアップをしようという話になったのですが、これがなかなか面倒くさそ…

RDBにおける正規化(第一正規化)

RDB

第一正規化 1つのマスには1つのデータのみを置くこと。 ひとつのマス(ここでは便宜上そう呼びます)に1つの値が入っている場合、その値はスカラ値と呼ばれるそうです。 正しくない例 記事ID 記事タイトル タグ A001 初めまして A002 沖縄旅行 日記旅行買い…

学んだこと 計算量オーダー

ここに答えがありました。 qiita.com qiita.com O(log N)の底は何なのか - Qiita 全く関係ない記事ですがメモ用↓ 値渡しと参照渡しの違いを理解する またもやわかりやすい記事様です、それを自分用に改悪まとめます。間違ってたらごめんなさい。 そもそもlog…

学んだこと ハッシュの仕組み

答えはここにありました。 www.altus5.co.jp Wikipediaの画像を転載すると、 まずキーに何かを指定して、それにハッシュ関数を通す。そうすると数字の羅列(Hash値)が生まれるので、それをメモリの番地(INDEX)としてキーとValueを格納する。 メモリの番地…

Haskellで「ユークリッドの互除法」

GCD(最大公約数)の求め方 ユークリッドの互除法 - Wikipedia greatestCommonDivisor x y |x `mod` y == 0 = y |otherwise = greatestCommonDivisor y (x `mod` y)

where、let-in、case

where testFunc :: Int -> Int testFunc x = f x where f x = x^2 whereで引数xを取る関数fにx2を束縛しています 実行結果 >testFunc 4 16 whereにはスコープがあり、パターンマッチを次のようにした場合最後の本体のみから参照されるため意図したとおりに動…

パターンマッチ、ガードの話

パターンマッチとは tellMeNumber :: Int -> String tellMeNumber 1 = "ONE" tellMeNumber 2 = "TWO" tellMeNumber 3 = "THREE" tellMeNumber x = show x ++" is bigger than 3" 実行結果 >tellMeNumber 2 TWO >tellMeNumber 4 "4 is bigger than 3" 解説 1…

型クラスの説明

型クラスとはつまり関数の集まり(==や/=)を定めていて、その関数で扱う何かのふるまい(型)を定義するものです。 何か(1でも3でも何でも)を使うときに実装されて、というより実装されることで使えるようになって(インスタンス”実体”)、その実装されたと…

リスト内包表記で失敗した話

ステップのサイズは1つしか定義できない >[3,9,27..50] error 前回の記事のこれに関して、50以下の3nを羅列したい場合はどうすべきか? >[3^x|x<- [1..],3^x<=50] [3,9,27 Haskell の気持ち 31 = 3 50以下だ!出力! 32 = 9 50以下だ!出力! 33 = 27 50以下…

range(レンジ)の使い方

リストを一気に生成する >[1..30] [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30] ステップ(法則性のあるリスト)を生成する >[1,3..30] [1,3,5,7,9,11,13,15,17,19,21,23,25,27,29] ステップのサイズは1つしか定義…

リストの操作まとめ2(Haskell)

さらにリストを操作します リストの先頭を返します >head [3,4,5] 3 リストから先頭を除いたものを返します >tail [3,4,5] [4,5] 受け取ったリストから最後の要素のみ返します。 >last [3,4,5] 5 最後の要素以外を返します。 >init [3,4,5] [3,4] 空リストを…

リストの操作まとめ(haskell)

連結 >[2,3] ++ [4,5] [2,3,4,5] >1 : [2,3,4,5,6,7,8] [1,2,3,4,5,6,7,8] >[1,2] : [3,4,5,6,7,8,9] error >[1,2,3,4,5,6,7] ++ [8] [1,2,3,4,5,6,7,8] Haskellにおいて[1,2,3,4,5]などのリストは 1:2:3:4:5:[] の構文糖衣です。 これで上の挙動が理解でき…

Haskellの関数

Haskellの関数をまとめます 受け取った引数の次のものを返す succ 引数 実行例 >succ 1 2 なにか順番のついた引数を2つ受け取り、大きいほう(max)または小さいほう(min)を返す max 引数1 引数2 min 引数1 引数2 実行例 >max 5 6 6 >min 3.13 3.14 3.13 >min …