化学者のFX・プログラミングチャレンジブログ

普段は研究者として会社で働く男の、FX・プログラミングチャレンジブログです。

Bluetoothのキーボードとマウスを使うべき理由【健康志向】

みなさんこんにちは!

 

猫が大好き駆け出しプログラマーのキャットマンです。

 

以前デスク周りを機能的にしようと考えたところ、

 

まず、デュアルディスプレイにしました。

 

 

その時の記事はこちら↓

catman87.hatenablog.com

 

 

デュアルモニターで作業し始めてから、作業に没頭できました!

 

 

本当にデュアルモニターはおすすめです。

 

 

しかし、、、

 

 

作業すればするほど首が痛くなってくるんですよね💦

 

 

 

 

 

f:id:catman87:20200405230701j:plain

デュアルディスプレイ

 

メインディスプレイがノートパソコン の場合はいいんですが、外付けモニターをメインにした場合、

 

 

キーボードの向きと画面の向きが違うんですよね。

 

 

そのため、外付けディスプレイをみながらキーボードを長い間操作すると、だんだんと首が痛くなってくるということがありました。

 

 

そこで解決策として考えたのが、「Bluetoothのキーボードとマウス」です。

 

 

 

実装後のデスク周りがこちら↓

f:id:catman87:20200411095207j:plain

Bluetoothキーボードとマウス実装後

 

これで、常に前をみながらキーボードとマウスを操作することができます。

 

 

私が実際に購入したものはマジックキーボードとマジックマウスです。

 

 

実装して間もないですが、明らかに姿勢良く作業することができています。

 

 

初期費用は多少かさみますが、健康は何よりも大事ですからね!

 

 

 

だいぶデスク周りがすっきりしてきました。

 

あと、机周りで工夫したいところは「モニターアーム」ですね。

 

実装したらまた記事にしたいと思います。

 

 

読んでくれてありがとうございました。

 

キャットマン

 

 

 

 

 

Ruby(復習用⑤)

みなさんこんにちは!

 

猫大好き駆け出しプログラマーのキャットマンです。

 

本日はRuby復習用の最後です。

 

あるクラスを元にして新たなクラスを作ることを継承という。

親クラスのインスタンス変数とインスタンスメソッドが引き継がれる。

 

------------------------------

class 子クラス < 親クラス

end

------------------------------

 

子クラスに新たにインスタンス変数を追加するには、親クラスと同様に

attr_accessorを用いる。

 

親クラスにあるメソッドと同じ名前のメソッドを子クラスで定義した場合、メソッドを上書きすることができる。

これをメソッドのオーバーライドという。

 

正直、あまり理解できていません!

手を動かして慣れるのみです。

 

徐々に修正していく予定です。

 

それではまた!

 

 

Ruby(復習用④)

みなさんこんにちは!

 

駆け出しプログラマーのキャットマンです。

 

本日もRubyの復習用の記事です。

 

ものを作るには設計図が必要。

 

設計図のことをクラスといい、もののことをインスタンスという。

 

 

クラスの定義

---------------------

class クラス名

end

---------------------

 

attr_accessor シンボル(インスタンス変数)

attrはattribute(属性)の略

 

クラスを元に、新しくインスタンスを生成するには

クラス名.newとする

 

クラスで用意したインスタンス変数に値を代入する。

インスタンス.変数名 = 値

 

インスタンスに対して呼び出すメソッドのことをインスタンスメソッドと呼ぶ。

 

インスタンスメソッドの中でインスタンス変数を扱う。

self.変数名

 

require "./file"で分割したファイルを読み込む

 

どんどん難しくなってきました。

 

それではまた!

 

 

プログラミングする際にデュアルディスプレイにするべき理由【作業効率爆上がり】

みなさんこんにちは!

 

 

猫が大好き駆け出しプログラマーのキャットマンです。

 

 

今日はデュアルディスプレイについてです。

 

 

みなさん、プログラミングしている時にこんなこと感じたことはないでしょうか。

 

  • ググりながらコードを書きたい
  • メモしながら学習を進めたい
  • 動画をみながらコードを書きたい

 

こんな時は、画面を分割すると思います。

 

 

私もよくやっていました。↓

 

f:id:catman87:20200405230229j:plain

macbook air 画面分割

 

小さいんですよ!!笑

 

 

私はMacBook Air 2017年モデルを使用しています。

 

 

画面サイズは13インチですが、13インチで画面分割してしまうと、1つがすごく小さくなります。

 

 

これだと目が悪くなってしまいますね。

 

 

その解決法として今回実施したのがデュアルディスプレイです。

 

 

実施後の画像がこちら↓

 

f:id:catman87:20200405230701j:plain

デュアルディスプレイ

すごくお気に入りです!

 

 

Progateを学習しながら、メモできて、わからないところはすぐにググれる。

 

 

いちいち画面を切り替える必要がなく、ストレスが大幅に減りました。

 

 

画像をいちいち切り替えるのが面倒臭いと感じている方、ぜひ試してみてください。

 

 

私が今回購入したモニターは

 

msi社のOptix G241VCです。

 

特にスペックを吟味して選んだわけではなく、近所で安く売っていたからです笑。

 

 

湾曲ディスプレイを前から使用してみたいと思っていたので、即決でした。

 

 

twitterで募集したところ、以下の3つのご助言をいただきました。ありがとうございます!

 

  • モバイルディスプレイ(あきひろさん @akipro_75)
  • ASUS フレームレス モニター 23.8インチ(としさん @toshiprogram)
  • iPad(うえすとはうすさん @westhouse_k)

 

まず、ASUSのモニターを検索したのですが、値段も1万円ちょっとでとても良かったです。

しかし、amazonでは入荷2週間待ちでした。

2週間位ぐらい我慢しろよと思うかもしれませんが、ちょっと待てませんでした笑。

即購入可能であったら、こちらを購入していたと思います。

 

 

モバイルディスプレイとiPadに関してですが、

カフェ等の外で作業する分にはめちゃめちゃありだと思いました!

外での作業用にどちらか購入する予定です。

 

iPadをもう少し調べてみて、ディスプレイ以外にも用途があれば検討する予定です。

 

 

接続方法に関してですが、Thunderbolt → HDMI変換アダプターを中継してHDMIでつなぎました。

 

 

繋いだ瞬間に自動的にデュアルディスプレイになり、設定は不必要でした。

 

 

私の場合、合計18,000円くらいでできたので、試してみたい方は是非どうぞ!

 

 

以上、デュアルディスプレイについてでした。

 

 

読んでいただき、ありがとうございました。

 

 

 

 

 

 

 

 

 

 

 

 

Ruby(復習用③)

みなさんこんにちは!

 

猫が大好キャットマンです。

 

本日も引き続き Ruby の復習用記事です。

 

メソッドとは、複数の処理を1つにまとめたもの。

 

メソッドの定義

-----------------------------------------

def メソッド名

 処理(ex. puts---)

end

メソッド名(これでメソッドを呼び出す)

-----------------------------------------

 

 

引数(ひきすう、いんすうと間違えやすい)

-----------------------------------------

def メソッド名(引数名)

 処理

end

メソッド名(値)

-----------------------------------------

 

 

複数の引数を受け取る

-----------------------------------------

def メソッド名(引数1, 引数2)

 処理

end

メソッド名(値1, 値2)

-----------------------------------------

 

 

戻り値

呼び出し元で受け取る処理結果を戻り値と呼ぶ

-----------------------------------------

def メソッド名

 return

end

-----------------------------------------

  • 真偽値を返すようなメソッドはメソッド名の最後に?をつける
  • returnはメソッドの処理を終了させる性質もあるため、最後に書く。

 

戻り値っていまいちしっくりこないですよね。

慣れですかね。

以上、読んでくださった方、ありがとうございます。

Ruby(復習用②)

みなさんこんにちは!

猫が大好きキャットマンです。

 

引き続き Ruby の復習用記事です。

 

複数の値を管理する方法

  • 配列
  • ハッシュ

 

配列

複数の値をまとめて管理するためのもの

[値1, 値2, 値3] ([ ]であることに注意!)

それぞれの値を要素という

,(コンマ)で区切る

 

 

配列を変数に代入

ages = [6, 12, 18]

puts ages

出力結果:6

                  12

                  18

  • 変数名は複数形にすることが多い
  • 改行して出力される
  • 配列の要素にはインデックス番号が付与される(0から!)

 

 

配列の要素を用いる

ages = [6, 12, 18]

(index = 0, 1, 2)

puts ages[2]

出力結果:18

 

 

変数展開にも使用可能

ages = [6, 12, 27]

(index = 0, 1, 2)

puts "私の年齢は#{ages[2]}です"

出力結果:私の年齢は27です

 

 

each文

繰り返し処理する場合に使用

配列の要素を順番に取り出して処理を実施

-----------------------------------------

配列.each do |変数名|

 #処理

end (個人的にend忘れがちなため注意!)

-----------------------------------------

  • 配列中の要素が繰り返し処理される
  • 変数名は配列名の単数形が用いられる場合が多い

ex) 配列名:ages, 変数名:age

 

 

ハッシュ

キーをつけて管理する

配列 [値1, 値2, 値3] ([ ]に注意)

ハッシュ {キー1 => 値1, キー2 => 値2 ・・・} ({ }に注意)

 

ハッシュを変数に代入可能

user = {"name" => "catman", "age" => 27}

 

 

{"name" => "catman", "age" => 27}  (キーが文字列)

{:name => "catman", :age => 27}  (キーがシンボル)

{name: "catman", age: 27}  (キーがシンボルの省略形)

シンボルは:(コロン)を先頭につける

---------------------------------------------

user = {"name" => "catman", "age" => 27}

puts user["name"]

---------------------------------------------

or

---------------------------------------------

user = {:name => "catman", :age => 27}

puts user[:name]

---------------------------------------------

or

---------------------------------------------  (これを覚える!)

user = {name: "catman", age: 27}

puts user[:name]

---------------------------------------------

出力結果:catman

 

配列の要素がハッシュ

配列名 = [

  {name: "catman", age: 27} (index = 0)

  {name: "catman2", age: 30} (index = 1)

]

変数 = 配列名[1][:age]

出力結果:30

 

以上、配列とハッシュについてでした。

 

読んでくださった方、ありがとうございます!

 

Ruby(復習用①)

みなさんこんにちは!

 

猫が大好きcatmanです。

 

学んだことはブログに書いていくことにしました。

 

このメリットは

  • まとめることで理解を深める
  • 言語毎にさらっと復習できる
  • エンジニア就職した時に、勤務先からもアクセス可能

オンライン上に残しておくことは、どこからでもアクセス可能ということです。

仮に、ノートにまとめている場合、そのノートがある時にしか見直せないですよね。

 

ググってもいいのですが、各言語ごとにある程度まとめておけば

このページを開いておくことで、何回もググることはなくなるというメリットもあります。

 

初回は Ruby の復習用の記事です。

 

Rubuはwebアプリケーションの「システム」を作るための言語

 

 

コンソールへの出力

puts "文字列"

puts 数字

 

 

コメント

#○○(文字が灰色になる)

 

 

算術演算

puts ○ + ○ (たし算)

puts ○ - ○ (ひき算)

puts ○ * ○ (かけ算)

puts ○ / ○ (わり算)

puts ○ % ○ (わり算のあまり)

ex) puts 8 % 3の出力結果:2 (8 / 3 = 2あまり2)

 

 

文字列の連結

puts "○○" + "△△"

出力結果:○○△△

 

 

変数の定義

変数名 = 値

「=」は等しいを意味するのではなく、代入を意味する。左の変数に右の値を代入する。

 

 

変数の使い方

age = 27

puts age

出力結果:27

 

 

変数名のルール

良い例

age(英単語)

user_age(単語間は_で区切る)

 

使用不可

8age(数字開始

 

好ましくない

nennrei(ローマ字

年齢(日本語

 

 

変数更新の際の省略形

基本形:x = x + 100

省略形:x += 100 (こっちに慣れる!)

+と=の順番に注意する。

 

 

変数展開

変数の値を文字列の中に含める方法

age = 27

puts "私は#{age}歳です"

出力結果:私は27歳です

ダブルクォーテーションであることに注意

 

条件分岐

条件が成り立つときだけある処理を行う。

ex) 年齢が20歳以上 → 大人と表示

-------------------

if 条件式

   処理

end

-------------------

 

条件が不成立の場合の処理

-------------------

if 条件式

   処理

else

   処理

end

-------------------

 

もし○○だったら●●をする、そうでなくもし△△であれば▲▲をする、いずれでもなければ@@をする

-------------------

if 条件①

   処理

elsif 条件②   (elseifじゃない!)

   処理

else

   処理

end

-------------------

 

 

真偽値

true と false の2種類のみ

条件式成立 → true

条件式不成立 → false

 

 

比較演算子

大小比較

a < b , a<= b, a > b, a >= b

a == b, a !=b

 

 

条件の組み合わせ

○ $$ ● → ○と●の両方がtrueのときにtrue

いずれか一方がfalseの場合はfalseになる

 

○ || ● → ○と●のいずれか一方がtrueならtrue

いずれもfalseのときのみfalseになる