アウトプットの部屋

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

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

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 メモリーのアドレスとは? メモ…