サブクエリ

以前から気になっていたサブクエリについて調べました〜 サブクエリとは SELECT文の引数にまたSELECT文が渡されるようなクエリのことです。 例 SELECT * FROM events WHERE id in (1,3,5,7); このようにin句で絞り込むSELECT文があるとします。 このidの配列…

cloud watchからログを検索する

cloud watchの存在ははなんとなく知っておりましたがあまり触れたことがありませんでした。 本日cloud watchからログを検索する作業をしたのでその手順をメモしておく&cloud watchが何なのか調べることにしました。 cloud watchとは awsが提供してくれている…

quick time playerでPCの音のみを録音する

quick time playerでPCの音のみを録音したかったのですが、内臓マイクしか選択できず、外部の音も拾われてしまい困っておりました。 quick time playerでPCの音のみを拾わせる方法についてメモしておきます! 方法 sound flowerという仮想オーディオデバイス…

SQLの実行される順番

先日、HAVING構文について調べた時、条件を指定するのはWHEREと同じですが、実行される順番が違うと知りました。 そこでSQLの実行される順番について興味が湧いたので調べてみました! SQLの実行される順番 FROM(テーブルを指定) ON(テーブル結合の条件を指…

アイビスペイント

なんのお絵かきツールがいいかといくつか試したり調べたりしていたところ、アイビスペイントがいいと聞いたので使ってみております! 噂通り、ものすごく多機能で良さそうなのですが、ツールが多くまだ触ったことのないものも多数あります。 そこで公式の使…

GROUP BYとHAVING

なんとなくの理解だったGROUP BYとHAVINGについて調べました〜 GROUP BYとは データをグループ化する関数です。 使い方 GROUP BY カラム名 とする事で、カラムの値が同じものをグループ化してくれます。 以下のようなreviewsテーブルがあるとします。 gyazo.…

shallow: true オプション

ルーティングファイル内でshallow: trueオプションを見かけることはあったのですが、何者なのかよく分かっていなかったので調べました! shallow: true オプションとは ネストしたパスを作る際にshallow: trueオプションを付けることで、 show/edit/update/d…

working copyの使い方模索

一昨日、gitを使えるアプリworking copyをiPad に入れたのですが、まだ余り使い方が分かっていないので使い方を模索してみました〜 clone、ブランチ切り替え、コミット確認 左上のプラスボタンを押すと自分がアクセスできるリポジトリ一覧が出てきます。 そ…

自分にアサインされているissue一覧表示

複数リポジトリのissueに自分がアサインされている時、把握するのが大変でした。 しかしそれを一覧で確認できることを今日知りました。。。!! やり方は以下の通りです。 gyazo.com githubのヘルプドキュメントに一通り目を通しておくと色んな便利機能を知…

iPadを買った!!

iPad、Apple Pencil、Smart Keybordを買いました!! 目的はお絵かきだったのですが、どうやらRubyの開発環境も整えられると知り、必要なアプリを入れてみました〜!! Gitを使うアプリ Gitを使うためにWorking Copyというアプリを入れました! Working Copy…

includesの挙動模索

普段、N+1問題を防ぐためにとりあえずincludesをしてしまうのですが、includesがどんな挙動をしているのか理解していなかったので調べることにしました! (昨日からActiveRecord読みたい気持ちが高まっていたため、includesのソースコードを読むことに挑戦し…

銀座Railsへ行った

銀座Railsへ行って、Railsコミッターの@kamipoさんと@yahondaさんのセッションをお聞きしてきました! Active Recordの難しい話もありましたが、お話が面白かったので分からないなりにも楽しむことができました!! 自分もすぐに取り入れていこうと思った内…

SQLの集合関数

SQLの集合関数についてしらべました〜 集合関数とは SQLにもとから用意されている関数です。 集合関数の種類 以下の5種類の関数があります。 COUNT:総数を取得 SUM:総和を取得 MAX:最大値を取得 MIN:最小値を取得 AVG:平均を取得 使い方 以下のようなre…

エスケープ文字

「%」や「_」をワイルドカードとしてではなく文字列として検索したいときに使用するエスケープ文字 エスケープ文字とは 「\」です。 「%」や「_」をワイルドカードとしてではなく文字列として検索したいときに使用します。 例:以下のようなeventsテーブル…

LIKE句

SQLのLIKE句について調べました。 LIKE句とは 完全一致だけでなく部分一致、前方一致、後方一致など曖昧な条件を指定できる構文です。 前提 以下のようなeventsテーブルがあるとします。 id name date description 1 Whistler 1999-11-09 Went hiking. 2 Puf…

IN句

以前から理解したいと思っていたIN句について調べました〜 IN句とは 一致するかの条件をまとめて判断出来るSQLの構文です。 具体例 以下のようなeventsテーブルを操作するとします。 id name date description 1 Whistler 1999-11-09 Went hiking. 2 Puffbal…

SQLの比較演算子

WHEREで条件を指定する際に必要となる比較演算子について調べました〜。 比較演算子 SQLの比較演算子には以下のものがあります。 a = b (a と b は等しい) a <=> b (a と b は等しい) a != b (a と b は等しくない) a <> b (a と b は等しくない) a < b (a …

テーブルの結合(join)

昨日、結合(join)について理解しきれないままだったので続きを調べました。 結合(join)の種類 以下の5種類があります。 INNER JOIN (内部結合) LEFT (OUTER) JOIN (左外部結合) RIGHT (OUTER) JOIN (右外部結合) FULL (OUTER) JOIN (完全外部結合) …

リレーショナルデータベースの表操作

選択・射影・結合という言葉について整理しておきたいと思い調べました! 表操作とは リレーショナルデータベースは表(テーブル)でデータを管理しており、この表を操作することを表操作といいます。 表操作のことを関係演算ともいいます。 リレーショナルデ…

SSLサーバ証明書とは?

昨日SSLサーバ証明書についてよくわからないままだったので調べました! SSLサーバ証明書とは サイトの運営者が実在し、ドメイン名の使用権があることを証明するものです。 SSLサーバ証明書があることで、ブラウザとウェブサーバ間でSSL暗号化通信を行う事が…

OpenSSLとは?

昨日、OpenSSLをアップデートしたらエラーが直ったという日記を書いたのですが、そもそも OpenSSLが何だかわかってなかったので調べることにしました。 OpenSSLとは OpenSSLは、SSLプロトコル・TLSプロトコルに使われるOSSです。 そもそもSSLとは SSLはイン…

またbundle installがmysqlでこけた

ちょっと期間があくとbundle installした際にmysql gemが入らなくなることがしばしばあります。 今回はopensslのバージョンが古いようでインストールに失敗しておりました。 無事bundle installできるまでの手順を書いておこうと思います。 エラー内容 bundl…

テキストファイルからデータ作成する際のエラー

本日はSQLの勉強をしておりました。 mysqlのコンソール上でデータベースとテーブルを作成したのち、 テーブルの各属性の値をタブ区切りで書いたテキストファイルを読み込んでデータを作成しようと試してみたのですが、以下のエラーが出ておりました。 mysql>…

データベース①

今日はそもそものデータベースの役割や種類、正規化について調べてみました〜! そもそもデータベースとは システムやユーザが扱うデータを後々扱いやすい形に整理して管理するものです。 何に関するどんな属性の値か、何と関連しているかなどを管理します。…

基本情報技術者試験

来年4月に基本情報技術者試験を受けてみようと思います! 何故やるか 以前からエンジニアとして働く上で必要となる基本的な知識が足りていない事を実感していました。必要となったらその都度調べたり勉強するようにしていたのですが、もっと体系的に幅広く学…

DumpファイルのデータをDockerのMysqlへ入れる

やっとDumpファイルのデータをDockerのMysqlへ入れることができたので やり方を書いておこうと思います! 方法 ダンプファイルを用意 ダンプファイルを用意し、アプリ直下へ置きます。 ダンプファイルの schema情報と現在のDBが違う状態となっている場合、ダ…

git rebaseコマンド使わずコミットまとめ直す

git rebaseコマンドが使いこなせず、元のブランチに戻れなくなる事が何度もありました。そこでrebaseコマンドを使わなくてもコミットを綺麗にまとめ直せる方法を気づかせてもらったので書いておこうと思います。 まずコミット履歴を調べます。 $ git log --o…

1つ前の変更との差分をforce-pushした時も確認

git

force pushすると1つ前にpushした内容との差分が見れなくなってしまうと思っていたのですが、差分を確認する方法を知りました! やり方 以下のようなforce-pushされている履歴の、force-pushedという部分をクリックします。 gyazo.com すると、1つ前のcommi…

日記

今日はお昼の時間にお誕生日のお祝いをして頂きました!! そして1ヶ月間のお試し期間も終了し、無事正式に今の職場で働くことになりました!! 環境も居心地も凄くいいし、 サービスはユーザーとしても開発側としても好きだし、これからも頑張っていきたい…

Grow.rb 〜例外処理とループ処理〜

本日はGrow.rbで例外処理とループ処理について学んできました! 以下はGrow.rbのイベントページです! growrb.doorkeeper.jp 制御構文 まずはループ処理の流れを変えるメソッドについて確認しました! 以下は制御構文についてまとめてあるるりまのページです…