Fの部屋

✍️ 学びのアプトプット ✍️ ... 🏕 たまに遊びも .... 🏕

会いたいな…心をゆるせる存在

こんばんは😄 プログラミングの学習中のFuushi−です🙇🏻‍♂️ 皆様、いかがお過ごしでしょうか?

今日は今の気持ちを書いてみました😄

実は先ほどまで、10年以上の付き合いのあるご家族とLINE電話で話をしていました😄

2020年の年始に会って以来、ずっとコロナ禍で会えていない状況です😭何度かオンライン飲み会をした程度で、その後は、なかなか連絡を取っていませんでした…

その家族は県外に住んでいますが、コロナ前は毎月遊びに行っていて、本当の家族のような存在でした😄オンライン上でしたが久しぶりに話しができて本当によかったです😄 お互いの子供も大きくなっていて、子供の成長は本当に早いな〜と感じました🥺

あったかい気持ちになりました😚

コロナによってデジタル技術が一気に浸透し、リアルでなくてもオンライン上で色々なことができるようになってきました💻今までになかった出会いも増えました😁

現在参加している朝活コミュニティー(ASA活)に出逢ったのも、SNSがきっかけでしたし、本当にいい出会いをしました😄ほとんどリアルで会ったことはないですが、最高の仲間です😄

コロナが世界的なパンデミックになって2年以上が立ちます。今まで当たり前に会って話したり、ご飯食べたり、遊びに行ったいりと…そんな自由が恋しいです😭

クヨクヨしても何も変わらないので、今でできるこを家族のため自分のためなりたい自分になるために精一杯やっていきたいと思います😄

早く、コロナを気にせず、リアルで会える環境になることを願います😄

本日は以上です😄 ここまで読んで頂き、ありがとうございました🙇🏻‍♂️

ではでは👋

〜学びは人生を豊かにする✍️〜

変数名って重要だな~🤔

こんにちは😄プログラミングの学習中のFuushi−です🙇🏻‍♂️ まだまだ寒い日が続きていますが、皆様、いかがお過ごしでしょうか?

本日は僕の学習しているRubyに限らず、プログラミング言語では必須である概念「変数」について話になります。 記事で取り扱う変数はRubyで使う前提での書き方になります🙇🏻‍♂️

今回は

について書いていきます✍️

変数って何者?

変数とは、名前をつけて一時的に数字や文字などのデータ(オブジェクト)を記憶しておく格納庫のようなものです。 変数には種類があり、それぞれ、ローカル変数、インスタンス変数、クラス変数、グローバル変数、定数があります。 Rubyではこれらの変数の見分け方を変数名の先頭の文字を読み、種類の判断をしています。引用:UX MILK

「値段」「スポーツ」という名前のついた「箱」に「各値をいれる」感じです😄

変数に値を入れることを「代入する」といいます。 Rubyでは数値や文字列など値は「オブジェクト」と言われます。

変数を使うことのメリットなどは次の項目で書いていきます✍️

変数には「ローカル変数インスタンス変数クラス変数グローバル変数定数」の5つの種類があり、違いは「スコープ」と言われる「変数の有効範囲」です。

変数の種類によって使える範囲に違いがあるということです🤔違いを書くと長くなってしまう為、今回は省略します🙏

変数名の大切さ

「変数へ代入する」をコードで書くと

変数名 = 値(オブジェクト)

sport = ‘バスケットボール’
 #変数sportに文字列の‘バスケットボール’が代入されている。

表示させるには、putsメソッドなどの表示メソッドを使って表します✍️

sport = 'バスケットボール'
puts sport

《実行結果》
fushihara@fushiharayukinoMacBook-Air sample % ruby sample8.rb
バスケットボール

この変数が活躍する場面は、実際の開発の際の繰り返し使う値(オブジェクト)を多く使用する時です… 実際にちゃんとした開発をやったことがないので憶測ですが…😅

例えば、下記のようなコードがあったとします🤔

puts "好きなスポーツは" + "バスケットボールです"
puts "バスケットボール" + "が好きな理由はスラムダンクの影響です"

《実行結果》
fushihara@fushiharayukinoMacBook-Air sample % ruby sample8.rb
好きなスポーツはバスケットボールです
バスケットボールが好きな理由はスラムダンクの影響です

今回のコードでは「バスケットボール」という文字列があります。もし好きなスポーツを変更する場合は 2箇所変更する必要があります。

短いコードなので2箇所くらいならすぐに変更できますが、これが何百行、何千行とあるコードの中で 文字列の「バスケットボール」が何個も使われていたら、変更にどのくらいかかるでしょうか…😅

そこで変数を使うことで2箇所の変更が1箇所で済みます😄

sport = 'バスケットボール'
puts "好きなスポーツは" + sport + “です”
puts sport + "が好きな理由はスラムダンクの影響です"

《実行結果》
fushihara@fushiharayukinoMacBook-Air sample % ruby sample8.rb
好きなスポーツはバスケットボールです
バスケットボールが好きな理由はスラムダンクの影響です

変数sportを変更するだけで,2箇所とも変更されます✍️便利ですね😄

変数名を付ける時のポイント

最後に変数名を付ける時に意識することが書いていきます。 現在学習しているフィヨルドブートキャンプのオンランスクールで、コードレビューの際によく、変数名の命名について指摘をよくもらっていました🤔

単に英単語を知らなさすぎという問題はさておき…笑

代入される値のイメージがしっかりできる・意味が伝わる短い名を付けれるのが理想ではありますが、中々難しい場合もあると思います…多分😅

実際にFBC内でメンターの方々に質問してアドバイスをもらいました。

【アドバイス・意識すること】

  • 大事なのはプログラムが読みやすく、理解しやすいこと。プログラミングは読む事の方が書く方よりも遥かに多い。
  • 分かりやすさを意識して長くなってしまった変数名も「そもそも無駄な単語がくっつきすぎているので、もっとシンプルに直せる」ということが多い。
  • コードレビューする・されるを繰り返して、チーム内で徐々に「いい命名・悪い命名」を浸透させていく、というのも効果的である。
  • 命名はコードを通じた他人(コンピュータではなく人間)とのコミュニケーションの手段なので、一人で悩むよりも誰かと議論して落とし所を見つけるのがベスト。
  • プログラミング言語だとこういう風に略されることが多い」みたいな雰囲気があるので、組み込みクラス(Arrayとか)やRuby on Rails、標準ライブラリあたりのメソッド名、引数の名前、ソースコードの中身を見てみる。

などなど…✍️

まとめ

今回は

①変数って何者?

②変数名の大切さ

③変数名を付ける時のポイント

について書いていきました✍️

伝わる・分かりやすい変数名が付けれるようになれば,実際の開発業務でもプラスになるので,変数名はしっかり付けれるように意識していきたいと思いますし, 変数名がうまく思いつかなかったり迷った時は,開発のチームメイトやメンターに相談やアドバイスをもらっていきたいと思います😊

本日は以上です😄 ここまで読んで頂き、ありがとうございました🙇🏻‍♂️ ではでは👋 〜学びは人生を豊かにする✍️〜

2022年1月の振り返り

こんにちは😄 プログラミングの学習中のFuushi−です🙇🏻‍♂️

今年も始まって1ヶ月と4日が経ちました🐯

皆様、いかがお過ごしでしょうか?←最近はよく使う言葉w

今回は今年立てた目標の進捗状況と1月の振り返りをしたいと思います✍️

しばし、お付き合い下さい🙇🏻‍♂️

2022年も目標は大きく4つの掲げました🏴

  • エンジニア転職したい...いや,する(2022年中に)

  • 朝活コミュニティへの継続参加(ほぼフル参加する)

  • 英語学習アプリの継続

  • blogの継続

その中で各項目毎で「毎月やること」「毎週やること」「毎日やること」などを決めていたので、 その結果について振り返りたいと思います✍️

◆エンジニア転職したい...いや,する(2022年中に)

・エンジニア関連のもくもく会の参加 年間36回参加(月3回)

1月は

もくもく会、月3回以上の参加クリアができました😁

※輪読会とは、1つの本を参加で読み進めて理解を深める会です

f:id:fuushi-92:20220205153725p:plain 引用:connpass

・LT会への登壇 年間4回(3か月に1回)

→今月は登壇なし😅

◆朝活コミュニティへの継続参加(ほぼフル参加する)

→毎日参加しました✍️  証明できるものはないので自己申告です😳

◆英語学習アプリの継続

・実施結果を毎日Instagramへ投稿(365日継続)

→学習の継続,ストーリー投稿も毎日やってます😃 f:id:fuushi-92:20220205161138p:plain

インスタフォローお待ちしております😆笑《Instagramアカウント》 y.fuushi_

《mikanアプリ》

f:id:fuushi-92:20220205155336p:plain

《Duolingoアプリ》

f:id:fuushi-92:20220205155314p:plain

◆blogの継続

・毎週1記事を書く。以上。継続あるのみ✍️ →毎週土曜日に更新継続中✍️(はてなblog)

【総括】

結果として各項目の「やること」はLT会の登壇を除いて、全てクリアできました😄

今年始まって1ヶ月目なので、できて当然だと思います😅

これを2ヶ月、3ヶ月、半年と継続していくことが大切ですね✍️2月も頑張ります✌️

本日は以上です😄ここまで読んで頂き、ありがとうございました🙇🏻‍♂️

ではでは👋 〜学びは人生を豊かにする✍️〜

学習しているプログラミング言語「Ruby」について

こんばんは😄プログラミングの学習中のFuushi−です🙇🏻‍♂️今日は現在学習しているプログラミング言語Ruby」についてのアウトプット記事になります。

【参考資料】 プロを目指す人のためのRuby入門[改訂2版]

www.amazon.co.jp

Rubyって??

Ruby(ルビー)は日本人プログラマまつもと ゆきひろ(通称:Matz)さんによって開発されたオブジェクト指向スクリプト言語です。 rubyが大切にしている事は「ストレスなくプログラミングを楽しむことができる」という点。

フレームワークRuby on Rails」を使うことで様々なWebアプリケーションの開発することができます💻

Rubyで作られた代表的なアプリケーションサイトとしては、日本でも有名なレシピサイトの「クックパッド」や飲食店のグルメクチコミサイトの「食べログ」、SNSの代表格のTwitterのなどがあります👀

世界的にも有名で愛されている言語が日本産って、すごく素敵な事ですね😄

本日は以上です😄 ここまで読んで頂き、ありがとうございました🙇🏻‍♂️ ではでは👋

〜学びは人生を豊かにする✍️〜

ここからは学習のアウトプットです✍️

Rubyオブジェクト指向言語

文字列や数値、配列やハッシュ、nilなど全てがオプジェクトになる。

オブジェクトに対して、メソッドを呼び出すことができる。メソッドの呼び出し形式は3つ

  • オブジェクト.メソッド(引数1, 引数2, 引数3)

  • オブジェクト.メソッド 引数1, 引数2, 引数3

  • オブジェクト.メソッド

※引数の()は省略可能 ※引数がなければ、メソッド名だけ記述

Rubyは基本的に改行が文の区切り

※;(セミコロン)で明示的に文の区切りを指定

(1行に複数の文を入れるケース) (例)1.to_s;  nil.to_s;  10.to_s(16)

※()内での改行はエラーなく実行されるが、()が無い場合はそれぞれ文とみなされる。 ※(バックスラッシュ)は文がまだ続くことを明示的に示す

コメント

コメントを書く場合は2つ ①# ②=begin~~=end

よく使うのは『#』

識別子と予約語

変数やメソッド、クラスなどにつける名前のことを識別子と呼ぶ。Rubyには予約語(定数や変数で設定することができないキーワード)があり、予約語は識別子して使う事ができない。

空白文字

識別子や予約語を区切る為に使用する

リテラル

ソースコードに直接埋め込むことのできる値のこと【123(数値)、”hello”(文字列)、配列、ハッシュなど】

FEの勉強を始めた&【アウトプット/その1】

こんにちは😄プログラミングの学習中のFuushi−です🙇🏻‍♂️今日は今週から学習を始めたFEの勉強を新たに始めました✍️...

FEって??と思う方もいらっしゃると思いますので、簡単に紹介します😄

FE...Fundamental Information Technology Engineer Examinationの略です💻 なんか格好い響き...😎 自分では噛み噛みでうまく言えません...🤭

日本語訳は「基本情報技術者試験」のことで、情報処理に関する国家試験の1 つ

こっ国家資格なのです... とうとう自分の肩書きに国家資格が....🥺 って、まだ持っていない🤭

試験自体を受けるかは、まだ分かりませんが知識としてエンジニア転職の武器になるには違いないので、隙間時間を活用して「1日1節」やっていこうと思います✍️

本日は以上です😄 ここまで読んで頂き、ありがとうございました🙇🏻‍♂️

ではでは👋

〜学びは人生を豊かにする✍️〜


ここからはアウトプットです✍️

f:id:fuushi-92:20220119141441j:plain 参考書です↑🐈

第1章コンピュータ構成要素

《1-01》情報の表現

  • 情報最小単位→ビット(2進数の1行)
  • 情報きほん単位→バイト(8bit)
  • 表現可能な情報量→ nビット=2n乗
  • 大きな値の接頭語→ k(キロ)、M(メガ)、G(ギガ)、T(テラ)
  • 小さな値の接頭語→ m(ミリ)、μ(マイクロ)、n(ナノ)、p(ピコ)
  • コンピュータ内部は「0」or「1」の2進数表現だが、文字コードを使うことで表現できる。(ASCⅠⅠコードやシフトJISコードなど)

《1-02》コンピュータの構成

  • 制御・演算・記憶・入力・出力の5つの装置で構成。
  • 制御・演算は合わせてCUP(中央処理装置)→コンピューターの脳
  • 制御装置→プログラムの命令を解読・指示
  • 演算装置→四則演算・論理演算を行う
  • 記憶装置→データやプログラムを記録
  • 入力装置→外部からプログラムやデータを読み込む
  • 出力装置→内部で処理されたデータを書きだす
  • 5大装置はハードウェア
  • プログラムやアプリケーションはソフトウェア
  • 現在のプログラム はプログラム記憶方式(主記憶に記憶されたプログラムをCPUが順番に解読・実行する方式)

《1-03》CPU

f:id:fuushi-92:20220119141913j:plain ※絵...下手です🤪

  • CPU(プロセッサ)→PCの頭脳部分
  • 性能は「クロック周波数」「バス幅」で表す

《クロック周波数》

  • コンピュータの動作の基準となるクロック信号が一定間隔で「高」「低」を繰り返す 信号が生成されている。
  • クロック周波数にはCPU内部の「内部クロック」と周辺回路を結ぶ伝達経路の「外部クロック」がある
  • クロック周波数が高いと処理能力は高いが、主記憶やハードディスクなどの性能も関係するので クロック数2倍=システム全体2倍にはならない

《バス》

  • CPUや主記憶、キャッシュメモリなどのデータの送受信する為の伝送路
  • バス幅が 広く、 クロック周波数が 大きい ほど高速にデータを送受信するA

デバッグって面白い🔍

こんにちは😄プログラミングの学習中のFuushi−です🙇🏻‍♂️最近は順調に学習できていると感じています✍️

今日は僕の通っているプログラミングスクールのフィヨルドブートキャップでの出来事について書いていきたいと思います✍️

この記事では 『デバック作業って面白い😄』『学習仲間やメンターさんの存在って大きい🥺』 と感じた出来事を書いています✍️

デバックって??

今回の話はプログラミングには付き物である「エラー」や「バグ」といった不具合を改善していく作業の話です🛠

デバッグ(debug)とは、コンピュータプログラムや電気機器中のバグ・欠陥を発見および修正し、動作を仕様通りのものとするための作業である。

(引用元:デバッグWikipedia)

コードを実行した際にうまく動作しない部分を修正し、正常動作に改善していく作業です👨🏻‍💻

putsデバッグは楽しい〜😃

では本題です😄 Rubyでボウリングスコアの結果を表示するプログラムを書くという課題をやっていた時のこと、どうしても合計スコアが合わずに苦戦してました🤪

fushihara@fushiharayukinoMacBook-Air 04.bowling % ruby bowling.rb 6,3,9,0,0,3,8,2,7,3,X,9,1,8,0,X,X,X,X
[[6, 3], [9, 0], [0, 3], [8, 2], [7, 3], [10, 0], [9, 1], [8, 0], [10, 0], [10, 0, 10, 0, 10, 0]]
154(164) ←※()内が正しい合計スコア

合計スコアが10ポイント足りない...Why🤔 この後、色々とコードをいじるが一向に解決する気配もなく...時間だけが過ぎるのであった...おしまい、おしまい😇

っと、冗談はさておき、時間だけ経って何も解決の糸を見出せずにいた時、月1回行っているスクールの同期の2名と雑談会で、「質問タイムに間に合わない、時間が合わないのであれば、直接メンターさんに質問する時間を作ってもらってはどうか?」をアドバイスを頂き、早速助けを求めました...🙏 f:id:fuushi-92:20220115124631p:plain

するとメンターのお一人からすぐに返信を頂き、その日の夜に質問タイムを作っていただくことができました😄感謝感謝🙏

そこで教えてもらったのが、デバッグ技法の1つである「putsメソッド」を使った「putsデバッグ」です。僕の中ではputsメソッドは「ターミナルへの出力・表示をするもの」で、デバッグに使うことができるのは意外でした✍️

実はここだけの話、一度学習していましたが忘れていました😅復習大事✍️

このputsデバッグを用いることで「プログラムの途中経過を確認する」ことができるようになるので、今回のボウリングプログラムでいうと「どのレーンの合計スコアが違っているのか」を1レーンずづ確認することができます。

fushihara@fushiharayukinoMacBook-Air 04.bowling % ruby bowling.rb 6,3,9,0,0,3,8,2,7,3,X,9,1,8,0,X,X,X,X
point: 9, i: 0
point: 18, i: 1
point: 21, i: 2
point: 38, i: 3
point: 58, i: 4
point: 78, i: 5
point: 96, i: 6
point: 104, i: 7
point: 124, i: 8
point: 154, i: 9
[[6, 3], [9, 0], [0, 3], [8, 2], [7, 3], [10, 0], [9, 1], [8, 0], [10, 0], [10, 0, 10, 0, 10, 0]]
15410ポイント足りない

※「point」 が合計数 「i」がレーン数を表しています。

9レーン目のストライクのスコアが10ポイント足りていないことが判明。9レーン目がスペア、合計9ポイントまで計算が合うので、やはりストライクの処理がうまくいっていない!と原因を突き止めることに成功しました。この後、感動のあまり、無駄にコードをいじって途中経過を確認しまくったの内緒です🤫w

仲間がいるって良き🥺

今回の出来事を通して仲間のアドバイスがなければ、メンターさんに1対1で質問する勇気もなく、課題提出にもっと時間がかかっていたかもしれないですし、最悪挫折していたかもしれません…

アドバイスをくれる、教えてくれる仲間やメンターさんの存在は本当に大きいと感じました😄

僕の受講しているフィヨルドブートキャプテンはメンターさんだけでなく、受講生同士や卒業生の方々が積極的に教え合う・助け合う文化が根付いていると感じます😄本当に学習しやすい環境だと感じています✍️

まだまだ未熟者ですが、僕も知識を付けてスクールで困っている受講生にアドバイスできる人材になっていきたいと思います😄

本日は以上です😄ここまで読んで頂き、ありがとうございました🙇🏻‍♂️

ではでは👋

〜学びは人生を豊かにする✍️〜

ご無沙汰しています!Blogを再開します✍️

こんにちは😄プログラミングの学習中のFuushi−です🙇🏻‍♂️

久しぶりの投稿になります😄せっかく開設したブログを全く活用していなかったので、再開しようと思います🙇🏻‍♂️

今年は自分にとってもチャレンジな年にしたい...🐯 『自分の人生は自分の意志で決めて行く』

その為に2年前から初めている『朝活』の継続はもちろんの事,今年は『結果を出す』ことも意識していきたいと思います✍️

ブログは学習のアウトプットを中心に『思い』や『感じた事』を書いていこうと思います。

まずは『毎週1記事を書く』事を1か月やり抜きます✍️

ではでは👋

〜学びは人生を豊かにする✍️〜