べる鈴木のプログラミング勉強日記

プログラマーを目指して勉強する30代独身の日記です。

【Ruby】クラス

2020/05/08

プログラミングを勉強し始めて1ヶ月ぐらい経った気がするが、
侍エンジニア塾の講師の感じがいまいちだったので変更してもらった、
そういうところ柔軟に対応してもらえるのはいいことだけど、
次はいい感じの人になるんだろうか、、、

■クラス

クラスとはオブジェクトの種類を表すもの。
オブジェクトの性質は、どのクラスに属しているかによって決められる。

前回のオブジェクトの記事の書いた種類とクラスとの対応は以下の通り。

オブジェクト

  • 数値
  • 文字列
  • 配列
  • ハッシュ
  • 正規表現
  • ファイル
  • シンボル

クラス

  • Numeric
  • String
  • Array
  • Hash
  • Regexp
  • File
  • Symbol

とりあえず、このへんで、、、

【Ruby】オブジェクト

2020/05/06

しばらく更新をしてなかったので、
立て続けに更新をしてみる。

 

■オブジェクト

Rubyではデータを表現する基本的な単位をオブジェクトという。
オブジェクトには種類があるので、主要なものを以下に記載した。

○数値オブジェクト

「1」「-3」「1.7320508」などの、数をあらわすオブジェクト。数式を表すオブジェクトなどもある。

○文字列オブジェクト

「"おはよう"」「"hello"」など文字列をあらわすオブジェクト。

○配列オブジェクト

[1,2,3,4]や["山田","佐藤","スズキ"]など複数のデータをまとめるためのオブジェクト。

○ハッシュオブジェクト

{name:"佐藤”,age:"30"}のように キーとなる言葉と情報を結びつけてまとめるためのオブジェクト。

正規表現オブジェクト

マッチングのためのパターンをあらわすオブジェクト。

○時刻オブジェクト

「2020年5月6日午後3時」のように時刻をあらわすオブジェクト。

○ファイルオブジェクト

ファイルへの読み書きを行うためのオブジェクト。

○シンボルオブジェクト

メソッドなどの名前の識別に使うラベルを表すオブジェクト。

 

他にも「範囲オブジェクト」や「例外オブジェクト」などがある、、、。

 

細かい説明は、またいつか!ということで、
今日はここまで

Rubyの学習

2020/05/06

引き続きプログラミングの勉強はしていたが、
だいぶ更新をしていなかったが改めて更新、、、

Ruby

Rubyは、オブジェクト指向言語
オブジェクト指向とは、ソフトウェアで使用するデータなどの集まりをモノ(オブジェクト)として見立て、必要なデータや処理をそのオブジェクトから呼び出すという考え方。

オブジェクトの設計図はクラスと呼ばれ、取り扱うデータや処理をそこへコーディングしていく。

 

「おぶじぇくと」とか「くらす」とか呪文がたくさん出てきたので、
だんだん意味わからなくなってきたけど、クラスが設計図でそれを実体化(インスタンス化)したものがオブジェクトで、オブジェクトから処理(メソッド)を呼び出すって感じかな??

 

文字で書いてるとますますややこしくなってきたな。
用語の意味とかが理解できてないと、教材とかを読み進めていても意味がわからなくなってくるので、その言葉がどういう意味で、どういうふうにコーディングしたら、どういう意味になるのかとかを理解していく必要があるなと感じた。

 

とりあえず、Rubyでデータを扱うための基礎として、
以下の内容から次回以降の記事で記載していこうかと思ってますよ。

 

  • オブジェクト
  • クラス
  • 変数
  • 定数

じゃあ、今回はここまで、、、

Git/GitHubについての学習

2020年4月7日

先週、侍エンジニア塾で出された宿題よりGit/GitHubの学習をした。

■Gitとは

プログラムのソースコードなど変更履歴を管理するシステム。
複数人で同じファイルを操作する場合に便利な仕組み。

GitHubとは

Gitリポジトリホスティングサービス。
リポジトリとはいわゆる、貯蔵庫のようなもの。
オンライン上で、変更履歴の管理などをできるようにしたもの。

Gitではプログラムの状態がスナップショットとして保存され、Gこのスナップショットのことをコミットと呼ぶ。変更履歴はコミットという単位でバージョン管理される。

ローカルで作業したデータをローカルリポジトリに記録し、それをGitHubにも保存することで、その他のユーザと情報を共有することができる。

■ローカルリポジトリについて

Gitでプログラムの変更履歴を管理する場合、すべての変更はローカルリポジトリを介して記録される。

ローカルは3つのエリアに分かれていて、まずはワークツリーと呼ばれる作業場でファイルの変更作業を行う。

ファイルを変更した場合は、git addコマンドをつかってローカルリポジトリに保存したいデータをステージに追加する。

ステージに追加ができたら、git commitコマンドでローカルリポジトリコミットする。

これでプログラム変更の履歴をローカルリポジトリに記録することができる。

Flexbox

2020年3月29日

まだ日付は変わってないけど、
もう1記事追加

 

Flexboxをつかって要素を横並びにしたりなんだりかんだり。

  • Flexboxを使う場合は親ボックスと子ボックスが必要。
  • 子ボックスに内容を書き、親ボックスにdisplay:flex;を指定。

これで横並びにできる。

 

親要素に指定できるプロパティとしては以下

flex-directionプロパティで配置する向きも指定可能。

  • row 右から左
  • row-reverse 左から右
  • column 上から下
  • column-reverse 下から上

flex-wrapプロパティで折り返しの指定

  • nowrap 折り返ししない
  • wrap 上から下に折り返し
  • wrap-reverse 下から上に折り返し

flex-flowプロパティを使えばflex-directionとflex-wrapを一度に設定できる

  • flex-flow:row wrap;

■justify-contentプロパティで水平方向の配置の指定

  • flex-start 左揃え
  • flex-end 右揃え
  • center 中央揃え
  • space-between 両端はスペースを開けずに配置、残りは均等に配置
  • space-around 全て均等に配置

■align-itemsプロパティは垂直方向の配置の指定

  • stretch 上下の余白を埋めるように配置
  • flex-start 上揃え
  • flex-end 下揃え
  • center 中央揃え
  • baseline ベースラインに合わせて

子要素に指定できるプロパティ

  • order 子要素の並び順を指定
  • flex-grow 子要素の伸び率を指定
  • flex-shrink 子要素の縮み率を指定
  • flex-basis 子要素のベース幅を指定
  • flex 伸び率、縮み率、ベース幅を一括で指定
  • align-self 子要素の垂直方向の配置を指定

そんなところで、、、

擬似クラス

2020年3月29日

今日はCSSを勉強した、、、

■リンク擬似クラス

:link まだアクセスしたことがないリンクに対するスタイルを設定できる

:visited すでにアクセスしたリンクのスタイルを設定できる

■ユーザアクション疑似クラス

:hover マウスカーソルが重なったときのスタイルを設定

:active クリックしたときのスタイルを設定

:focus <input>などで入力欄を詮索しているときのスタイル

■構造擬似クラス

構造擬似クラスとは、リンク擬似クラスやユーザアクション疑似クラスなど、
HTML要素に対して疑似クラスを設定できるものらしいです。

classやidでは、それぞれ属性ごとにスタイルを設定していたが、
構造擬似クラスでは、表示順番などをもとにしたスタイルも設定できる。

:root ルート要素(html)に対してスタイルを設定

:first-child 最初に表示される要素に対してのみスタイルを適用

:last-child 最後に表示される要素に対してのみスタイルを適用

:first-of-type 最初に表示される要素に対してのみスタイルを適用(間に他のHTML要素があってもOK)

:last-of-type 最後に表示される要素に対してのみスタイルを適用(間に他のHTML要素があってもOK)

:empty 空白のHTML要素に対してスタイルを設定

とりあえず、ここまで

侍エンジニア塾に入塾して初回レッスンを受けてみた

「俺は天才フリーランスエンジニアになる!!」

■侍エンジニア塾に入塾してみた

はじめまして。
べる鈴木です。

お笑いを目指して半年で挫折し、なんやかんや迷走した後、
サラリーマンに落ち着いている鈴木でしたが、

毎日、満員電車に揺られて出社して定時に家に帰っての生活も飽きてきたので、プログラミング勉強をしよう!!

と一念発起したところで、
勢いで侍エンジニア塾に入塾してみました!!

細かい経緯は、後で気が向いたら書くとします。

 

■侍エンジニア塾の初回レッスンを受けてみて

侍エンジニア塾はオーダーメイドカリキュラムということで、
とりあえず、初回レッスンはある程度目標とかの共有をして、
こんな感じでカリキュラム組む予定ですみたいな話で終了。

で、早速、宿題を出される。
LinuxコマンドHTML/CSSの学習ということで、
昔HTML/CSSはかじったことはあった僕ですが、
そこの復習もしつつ、Linuxコマンドを勉強。

で、とりあえず、どんなコマンドがあるかメモ

  • mkdir ディレクトリを作成
  • rmdir ディレクトリを削除
  • touch ファイルを作成
  • rm ファイルを削除
  • あとなんかあれのあれ

意外と覚えられてねぇな!!

 

ってことで、後は教材とか見ながら覚書を、、、

  • pwd 今開いてるディレクトリの位置を確認
  • ls ディレクトリのファイル一覧を表示
  • mv ファイルを移動する/名前を変更する
  • cut ファイルの中身をCUI上に表示する
  • cp ファイルをコピーする
  • cd 別のディレクトリに移動する
  • rm -r ディレクトリを中身ごと削除
  • ls -a 隠しファイルやディレクトリなども一覧で表示するli>
  • chmot ファイルやフォルダの権限を変える
  • chown ファイルやフォルダの所有者を変える
  • sudo スーパーユーザー(rootユーザー)の権限でコマンドを実行する
  • apt アプリケーションやライブラリをインストールする
  • yum アプリケーションやライブラリをインストールする

下の2つ一緒じゃんって思ったけど、"aptはUbuntuなどのLinuxディストリビューションで使用され、yumCentOSAmazon Linuxなどで使用されています。"だそうです。

今日のところはこのくらいにしてやろう、、、
ほとんど理解できていないけど。