アウトプットの部屋

エンジニアになるためのアウトプット

N+1問題とは??

userは複数のpostsをもつ 「user has_many posts」などの関係で、postsを取得する際にpostsの数だけSQLクエリが発行されること。 対策 includesを使う! モデル名.includes(:関連名) *関連名はテーブル名ではない 例えば上記の例では @posts = Post.all.incl…

Rust③ 数字当てゲーム2

match式 use std::cmp::Ordering; match guess.cmp(&secret_number) { Ordering::Less => println!("Too small!"), Ordering::Greater => println!("Too big!"), Ordering::Equal => println!("You win!"), } cmpメソッドはguess変数とsecret_number変数を比…

Rust② 数字当てゲーム1

main.js use std::io; fn main() { println!("Guess the number!"); println!("Please input your guess."); let mut guess = String::new(); io::stdin().read_line(&mut guess) .expect("Failed to read line"); println!("You guessed: {}", guess); } le…

Rustチュートリアル①

Rustとは・・・「安全性、速度、並行性」の3つに焦点をあわせたコンパイル言語(静的プログラミング言語)。C++の特徴でもあった高速性を維持しながら安全なメモリ管理が用意に可能。Firefoxでも採用されている インストールにはrustupというツールを使うだけ…

RSpec③~skipやpending~

テストの量が多くなると、RSpecの起動時間が長くなってしまう。ファイル名を指示して実行すれば多少速くなるが、そのファイル自体が重いとそれでも時間がかかってしまう。そのような時に使えるものがいくつかある。 1 pending it ~~~~~ do pending 'あとで見…

RSpec②~supportファイルの設定~

supportファイルの作成や設定のメモ 1 ファイル作成 mkdir spec/support touch spec/support/request_helper.rb 2 rails_helper.rbを編集 以下の行をコメントインする Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f } eachメソッドでs…

Dockerメモ①~attachとexec~

コンテナを起動する時は、 docker start [コンテナ名] で行う。停止する時はstopコマンド。runやcompose-upをするとコンテナが増えてしまう。 コンテナをstartで起動すると、サーバーログが見えなくなる。そんな時には、 docker attach [コンテナ名] でサー…

RSpecの設定

①Gemfileにgem 'rspec-rails'を追加。 spring-commands-rspecはテストスイートの起動時間を速くしてくれるgem。一緒に入れておく。 gorup :development, test do gem 'rspec-rails', '~> 3.6.0' gem 'spring-commands-rspec' end ②specフォルダを作成 $ bin/…

Rspec①

describe 何について仕様を記述しようとしているのか before 事前準備 context 状況や状態 〜の場合 it 期待する動作 テストケースを分類する・・・describe,context テストを実行する・・・before,it binstubを使うとアプリケーションの起動時間を素早くす…

linux

/bin ・・・FHSが定めたどのユーザーでも使えるコマンドだけが入るフォルダ。ここにコマンドを追加することはあまりない。 FHSとはLinuxのディレクトリ構造規格のこと。 /var・・・システムログなどの動的に変化するファイル /sbin・・・システム管理用コマ…

localstorage

localstorageとは・・・web storageの一種。サーバではなく、クライアント(ブラウザ)にデータを保存する機能。このような機能が出るようになったのは、HTTPがステートレスなプロトコルが関係している。「ユーザーごとにデータを保存したいが、ログイン機能…

コンピュータ・サイエンス⑦

OSは昔、プログラムロードと実行する機能だけを備えるモニター・プログラムが開発された。 その後基本的な入出力を行う部分的なプログラムが追加され、結果として今のようなOSが開発された。 つまりOSとは複数のプログラムの集合体である。 OSが存在する以上…

コンピュータ・サイエンス⑥

アルゴリズム ・・常に有限の一連の演算で完結するメソッド(やり方) 良いアルゴリズムとは、問題の規模が大きくなっても対応できること。 O記法・・成長の程度を表す表記法。 よく使う値が、2n > n2 > nlogn > n 2nは指数関数で、nが大きくなると急激に成…

コンピュータ・サイエンス⑤

CPU プログラムの動作環境・・・OS + ハードウェア macのCPUは「Intel Core」というものを使っている。 windowsもIntelのCoreシリーズを使っているが、中にはPentium(インテル社)のCPUを使っているものもある。 CPUにはコアと呼ばれるCPUの中心的な部分が…

コンピュータ・サイエンス④

ファイルの圧縮 ファイルは、バイト・データの集合体。 LZHはLHAなどで圧縮されたファイルの拡張子。 ファイルの圧縮には2つの方法がある。 1.ランレングス法 AAABBCCCDDDDD(13ビット) => A3B2C3D5(8ビット) このように「データ×繰り返し回数」で表す方…

コンピュータ・サイエンス③

メモリーのデータ型 メモリー(メモリーIC)には、ROM,DRAM,SRAMなどがある。(ROMは読み出し専用、RAMは読み書き可能) 物理的なメモリーはそこまで意識する必要はないが、メモリーにおける「データ型」は意識する必要がある。 データ型とは、どのような種…

コンピュータ・サイエンス②

2進数・・0と1を使って数字を表す方法 左シフトと右シフト 2進数は左に1桁シフトすると、もとの値の2倍になる。(10進数なら10倍) 右シフトは2種類ある。 ・論理右シフト・・グラフィックのパターンなどに使う(ネオンサインなど)。シフト後の上位桁に0…

コンピュータ・サイエンス①

1 プログラムとは? コンピュータに実行させる処理の順番を示すもの 2 プログラムの中に含まれているものは? 命令とデータ 3 マシン語とは? CPUが直接理解できる言語 4,実行時のプログラムは、どこに格納される? メモリー 5 メモリーのアドレスとは? メモ…

ITパスポート合格!!

Iパス結果 こんにちは! 昨日ITパスポートの試験を受けてきました。 結果は総合で670点でした。 書類が届いて初めて合格みたいな感じなのでまだ正式に合格とは言えないのですが、合格点が600点なので問題なく受かってると思います。 ITパスを受けて良かった…

ITパスポートの過去問でわからなかったワード③

おはようございます! 現在過去問を3年分解きました。まだまだわからない言葉があるので、勉強のために載せていきます。 ・ITガバナンス ・・・ IT戦略の策定と実行をコントロールする組織の仕組みのこと。経営陣が原則や方針を決め、各部署でその原則に沿…

ITパスポートの過去問でわからなかったワード②

今回も前回と同じように、過去問(H30秋)でわからなかったところを復習します。 マルチスレッド ・・・ 1つのアプリケーションプログラムを複数の処理にわけ、並列に処理をすること。 トランザクション ・・・ 一連の処理をひとまとめにしたもの。例えば、…

ITパスポートの過去問でわからなかったワード①

タイトルの通り、自分が解いた過去問(H31春)でわからなかった言葉をまとめます。 SMS ・・・ 組織マネジメントとして、自らのリスクアセスメントにより必要なセキュリティレベルを高め、システムを運用する。 リスクアセスメント ・・・ 「リスク特定」、…

データ構造(ITパス)

データはただ保存されているのではなく、そのデータにとって最適の構造をなして保存されています。そしてその構造にもたくさんの種類があります。 ・配列 配列は、連続した領域にずらりとデータを並べて管理する方法です。 各データは添字が与えられて、直接…

テスト(ITパス)

システムが完成すると、必ずテストを行います。テストには基本的に3つのテストがあります。 ・単体テスト 部品単体の信頼性を確認すします。基本的に何かを入力して、正しい出力がなされているかをチェックします。方法は主に2つです。 ・ブラックボックス…

暗号化技術(ITパス)

インターネット上では「裸で荷物が大量に送られている状態」なので、暗号化をすることによって悪いことをされないようにセキュリティをかけます。主に「共通鍵暗号方式」と「公開鍵暗号方式」の2つがあります。 ・共通鍵暗号方式 送り手(暗号化する側)と…

システム開発(ITパス)

システム開発の手順は、 企画 → 要件定義 → 開発 → 運用 → 保守 の順で基本行われます。さらに、代表的な開発手法が3つあります。 ・ウォータフォールモデル 要件定義から各工程を順番に進めていく方法。開発のスピードが速く、大規模開発向き。 ただし、利…

ネットワークを構成する装置(ITパス)

どうやってネットワークは作られているのか。基本的に必要な装置を見ていきましょう。 ・NIC(第1層) データを電気信号に変換して、ケーブル上に流す装置。ネットワーク機器は、製造段階で作られるMACアドレスという番号で識別している。 ・リピータ(第1層…

コンピュータの5大装置(ITパス)

コンピュータの中にはCPUと呼ばれる部分があり、ソフトウェアの指示を実行するための大事なところです。 CPUの中にある「演算装置」と「制御装置」、データを記憶する「記憶装置」、データを入力、出力をする「入力装置」「出力装置」。 この5つを5大装置と…

ITパスポート受けます!

お久しぶりです。更新遅くなってしまいすみません。 長期で入院していたので、ほとんどパソコンに触わっていませんでした(笑) これからはこんなに期間が空かないように頑張ります。 ITパスポートを受けます! いきなりですが、ITパスポートを受けようかと…

ruby silver 合格!!

地道に勉強していたrubyのsilverに合格しました! そういえばこの前の退院中に、Rubyのsilver合格しました✌️入院中に少しずつ勉強した成果が出て良かったですRubyの良い勉強になりました! pic.twitter.com/dxi4ZXC2Ms— ぎぺー@インターンから白血病再発中 (…