かるーくRuby #3 繰り返し

こんにちは
今回は繰り返しです。

適当にプログラム作っていきます。
生徒と学校クラスを定義して、平均点を求めます。

生徒クラスでは繰り返しは使いません。
データを持っているだけです。

学校クラスでは、まず、生徒を入学させます。
そして所属している生徒の平均点をcalc_averageで求めます。
この時、配列に定義されているeachメソッドを使います。
便利ですね。

では実際にインスタンスを生成して使ってみます。

ここでもう一つ繰り返し。
生徒のデータを登録する為に、数値クラスのtimesメソッドを使っています。
今は30人分のデータを作成しています。

で、実行した結果。

正しく表示されましたね。
1人点数やばい奴いますね笑

Rubyには他にも色んな繰り返し処理があるので、状況に合った使い方をしていきたいですね。
ではまた!

かるーくRuby #2 MiniTest

「2回目で急にMiniTestかよ」って思うかもしれませんが、
これぐらい適当にかるーく書いていきます。

まずテストするクラスを定義します。
今回はBookクラスとします。

本の名前と価格を決めて初期化。
その本を読んだら既読状態とする。って感じですね。

それから、テストクラスを定義

3つのテストをしてます。
1. 初期化で名前、価格がきちんと設定されているか。
2. readしてなければ未読の状態か。
3. readしたら既読になるか。

MiniTestを継承するには

が必要です。

実行してみると、

うまく通ってますね。(temp.rbというファイル名にしてます)

今回はこんなところで。ではまた。

かるーくRuby#1 デフォルト引数

適当にRubyのこと書いてきます。
最初は本当に初歩の初歩でデフォルト引数です。
簡単ですが、おさらい程度に。


def my_hello(a, b="Bob")
puts "Hello, #{a} and #{b}!"
end

このメソッドの出力の仕方を見ていきます。

my_hello() # エラー
my_hello('Alice') # Hello, Alice and Bob!
my_hello('Mike', 'Tom') # Hello, Mike and Tom!
my_hello('Bolt', 'Alice', 'John') # エラー

こんな感じですね。

激動の2週間

こんにちは。
お久しぶりです。

この2週間、とあるプログラミングスクールさんのお手伝いをさせて頂いていたのですが、
残念ながら、その企業さんが大阪での活動を中止するとのことで、仕事も打ち切りになりました。

正直なところ、かなり(時間的に)しんどかったので、ほっとしている面もあります。
ただ、せっかく作ったものが使われないのは残念ですね。
勉強にもなっていたので、今後も時間があるときに余裕をみて作っていこうかなと思います。

プログラミングを勉強することに対する考え方とかには共感できることが多いので、
また機会があればご一緒にさせて頂きたいです。ありがとうございました。

ちょっと余裕もできたのでまたブログ更新していきます。
で、勉強していきます。

また仕事ゆるーく探していこう。

短いですが、簡単に報告でした。
ではまた!

新しいこと、始めます

こんにちは。
朝でも晩でもこんにちはです。

◼️仕事

リモートで作業してます。
ただ、かなり苦戦してます。
最初の基礎の部分を作ってるのですが、なかなか上手くいかない。
そこが上手くいけば、後はそこまで難しくないと思うのですが、
やっぱ組込みの一番難しいところはソフトとハードを繋ぐところですよね。
本当にちゃんと動くかってところの検証からしていかないといけない。。。

で、そんな苦戦している中ですが、新しい仕事が決まりました。
あるスタートアップ企業の大阪への事業展開のお手伝いをさせて頂くことになりました。
基本的には昼は今まで通りの作業で、夜にそのお手伝いの作業をする予定です。

色々挑戦していきます!!

短いですが、今日は以上!
個人開発の話は、またちょっとデプロイに手間取ってますので後日。。。

ではまた!

ついにリモートへ

こんにちは!

今日は近況報告です!

◼️仕事

ついに来週からリモート作業に移行します!
作業は変わりませんが、京都まで往復2時間以上かけて通勤していたので、かなり時間に余裕ができるはず!!
リモートの準備は万端です。この前エアコンも来たし、鍵付きロッカーも届きました!

で、ちょっと物申したいのですが、
ロッカーが組み立て式だったんです。
それは良いんです。事前に知ってましたし。
ですがあの組み立てにくさには納得できない!!!
いや、組み立て式の大きな家具とかでも大体そうなんですが、ネジに問題があると思います。

あの先っちょが尖った自ら掘り進んでいく形式のネジ、絶対普通の人が作る用にできてないでしょ。
結構な力もいりますし、下手したらネジが潰れて使い物にならなくなるし。。。
それに今回はなんとも付けにくい地面すれすれの位置にそんなネジを止めるところがあるもんだから、かなり苦労しました。
ちょっと太いドライバーだとまっすぐ取り付けることができないぐらいすれすれだったので、ちょっと組み立て方を見直して欲しかったです。

まあ、ちゃんと組み立てれたのでよかったです。

話は変わりますが、ちょっとrubyの仕事をできないかなあ、と思っています。
そろそろ勉強フェーズから抜けたいなあと思っているので。。

誰か週5~10時間ぐらいでRubyのコードが書ける仕事知りませんか?
単価は安くても構いません。
そんな都合の良い仕事ないかー
ツイッターで発信したら見つかるかなあ。。。

◼️勉強と開発

先日Ruby関西の勉強会に行ってきました。
会場に着くと、なんと前の会社の後輩がいました。
別にやめたから気まずいとかは僕はありませんでしたが、彼にとっては気まずかったのかもしれません。
(終わったあと話しかけてみたけど気まずそうだった。。。)

内容的にはセッションがいくつかあった後、グループになって交流&問題を解くみたいな感じで面白かったです。
次回は12/1(土)だそうなので、また行きたいなと思いました。

その他は、明日森林浴プログラミングというイベントを予定していたのですが、残念ながら台風と雨で中止となってしまいました。
また別の機会があれば是非参加したいです。

実は森林浴プログラミングに向けて開発していた簡単なアプリが、まだ完成ではないんですが、もう少しで公開できそうです。
今deploy作業している最中なので、もうしばしお待ちください。

◼️これからの活動

以前から言っていたソニックガーデンの選考ですが、一旦中断させて頂くことにしました。理由としては、
・もう少し色んな企業や技術をみてみたい。
・週5で仕事をして勉強もして、他の仕事も探してみたいなことをしていたら、選考にかけることのできる時間がほとんどない。
ということで先方には非常に申し訳ございませんが、中断させて頂きました。

ただ、納品のない受託開発というスタイル、考え方には非常に共感できるので、また受けたいと思っています。
(もう一度選考を受けても良いか聞いたらOKと回答を頂きました。)
もっとレベルアップして選考に挑戦して驚かせてやりましょう。

さて、それから今後、もっと人と会う機会を増やそうと思います。
SNSや勉強会等で知り合った人達と仕事の話や業界の話をもっとしたい!
まだまだ自分の方向性とか考え方が固まっていなくて、自信もないので、色んな人の考え方を聞きつつ、自分の考えを固めて自信を持って進んでいけるようにしたいと思います。

ということで、明後日ちょっと人に会ってきます。
結構楽しみです。

今日のところは以上です。ではまた!

システムエンジニアとして必要なスキル

こんにちは。

今日はシステムエンジニアに必要なものは何かについて考えたいと思います。
※今回もあくまで僕の考えですので、ご参考までに。

◼️何が必要か

色々ありますよね。
よく言われるのがコミュニケーションスキル。
世の中に出ているものはほとんどが複数人のチーム開発で作られたものと言っても過言ではないのではないでしょうか。
更にソフトウェアとなると受託開発が多く、クライアントが存在します。
納期に間に合わせるためにも、しっかりした進捗管理が必要になります。
それもあって最低限のコミュニケーションスキル、つまり進捗の報告や相談がないとエンジニアはやっていけません。

また、エンジニアとしての専門知識も必要ですね。
プログラミングスキルや設計、試験、マネジメントのスキル。
しかも上記のスキルは、もっと細かい分野(プログラミングなら色んな言語、設計ならネットワーク、プラットフォーム等)に別れて、プロジェクトによって必要なスキルが変わってきます。

一体何が必要なのか、分からなくなってきますよね。
エンジニアになるにはこれが必要!って中々言いにくいんですよね。

◼️本当に必要なもの

その中でも、僕がエンジニアとして必要だと思っている普遍的なスキルがあります。
それは、浸透力です。

え、何それ?って感じですが、僕はこの表現が一番しっくりきています。
順応力という言い方もありますが、それを更に自然に行えるようなイメージです。

エンジニアとして働く限り、似ているような物を作ることはあっても、同じものを作ることは絶対にありません。
時には今までの知識や経験が全く通用しないプロジェクトに入って働くこともあるかもしれません。

そこでいかに素早く知識や技術を取り入れ、そのプロジェクトに浸透していくか、それがそのプロジェクトでエンジニアが活躍できるか否かを決めると言ってもいいと思います。
プロジェクトの初期段階で配属されたなら、そのプロジェクトのキーパーソンになること間違いなしですし、プロジェクトの途中段階で入っても、即戦力として重宝されます。

じゃあその浸透力を高めるにはどうすれば良いのか。
これこそ永遠の課題であり、システムエンジニアという職種が曖昧になってしまう理由だと思います。
なんせ相手は自分の全く知らない知識や技術、はたまた人です。

そんな相手とうまくやっていく方法に正解はないのかもしれませんが、ある程度の対策をとることはできます。
よく耳にしますよね。普段からアンテナを張っておきなさい、と。

自分のやっていることだけに捉われず、広く見渡しておくこと、それが重要なのかなと思います。
もちろん、自分の専門性を高めることも重要です。
しかし、必ず知らないことをやらないといけない時がきます。
その時に少しでも聞いたことがあるというだけで、その知識や技術に対する入り方が全然違います。
その技術を専門としている人が知り合いにいれば尚良いです。
わからないことがあれば、相談してみることができます。

人間知らないものに対しては構えてしまいがちです。
ぐんぐん進んでいける人は入りからして違うのでしょう。

誰しも全部を極めることはできません。
なので、自分の専門性を高めることによってその専門のことで相手が困っている時に手助けし、自分が知らないことはその専門の人に助けてもらうっていうのが一番効率が良いと思います。

書いていて、社会全体でエンジニアが助け合いながら仕事をできたらいいのになと思いました。
それこそフリーランスのエンジニアが増えている理由なのかもしれませんね。

今日のところは以上です。ではまた!

今こそプログラミングを勉強する意義を考える

こんにちは。

今日はちょっと記事風に、プログラミングを学ぶことについて考えたいと思います。
※あくまで個人の意見ですので、こんな考え方もあるんだな程度で参考にしてください。

というのも、今日ツイッターのタイムラインで、
「(自分は)現役SEだけど、プログラミングできてもあまり役に立たない。管理職になるほど使わなくなる」
といった趣旨のツイートを見かけました。

これをツイートした人の真意は分かりませんが、今からプログラミングを勉強してエンジニアになろうとしている人から見れば、
「おいおいマジかよ、じゃあプログラミング勉強するのやめよう」
とか思ってしまうかもしれません。

でもちょっと待ってください。
もう少しよく考えてみましょう。

◼️えらくなるほどプログラミングしないって本当?

これは難しい質問です。
確かに会社の方針を決定するようなポジションや大きなプロジェクトのリーダーになれば、仕事でプログラミングする機会はほぼ無いかもしれません。

その人たちの中にプログラミングの知識がない人がいることも事実でしょう。

会社の方針を決める管理職ならともかく、プロジェクトのリーダーにもそんな人がいるのかと思われるかもしれませんが、います。(少ないかもしれませんが)

要は、そのシステムに必要なものの判断ができればいいのです。
プログラミングはあくまでそのシステムを実現する方法なので、その部分は他のメンバに任せておけばいいことです。

そういう意味ではプログラミングを勉強しなくても、設計さえ勉強しておけば、偉くなれるのかもしれません。

◼️じゃあなぜプログラミングを勉強するの?

確かにプログラミングはキャリアを築くのに必要条件ではないのかもしれません。
ですが、学んでおいて損になることは絶対にありません。

考えてみてください。たとえプログラミングを勉強せずにプロジェクトリーダーになったとしても、プログラマーと関わる機会は絶対にあります。
その時に、プログラミングを知っているのと知らないので、どちらの方がコミュニケーションを取りやすいでしょうか。

もちろんプログラミングを知らなくても上手くプロジェクトを進めることができる人はいます。
でも、下手をすれば無理な要求をしてしまいプロジェクトが炎上、なんてことも。。。
ほとんどのプロジェクトのリーダーはプログラマーを経験していますが、それでも炎上するプロジェクトはあります。
プログラミングを知らない人がプロジェクトを回せば、そうなる可能性はもっと高くなるかも。。
しかもなぜ炎上しているかわからない。プログラマーと衝突してしまう。最悪の展開が待っています。

また、プログラミングはエンジニア以外の人でも、普段の業務の効率化をするのに役立ちます。
仕事でExcelを使う人はかなりいるのではないでしょうか?
その人たちがVBAを少しでも使えるようになれば、かなりの業務が改善されると思っています。

VBAって何?って人は以下をみてみるといいかもしれません。

普段のちょっとした作業でも、プログラミングを使えることによって、やり方や考え方がかなり変わってくると思います。
これがプログラミングを勉強しておいて損はないという理由です。

というか、勉強しておいて損になることなんてありません。
そういう意味では、こんなの勉強しても意味ないよっていうのはナンセンスなのかなと思いますし、それを勉強している人に対して失礼ですよね。

私も歴史が嫌いで勉強しても意味ないなんて思うことがあるので、気をつけないと。。。

◼️迫りくるプログラミングの義務教育化

ここまでは今現在の社会の状況をみてプログラミング学習について考えてきました。

ここではもっと先の未来まで考えて、プログラミングを勉強することを考えていきます。
(ここからが一番言いたかったことです)

今話題のプログラミングの義務教育化や、新センター試験での採用、
世間では、本田圭佑選手がRubyの勉強をしていると話題になりました。
情報社会によるIT技術者不足の解消に向け、日本が着実に動き出しています。

今までプログラミングは「できたらいいよね」でしたが、義務教育となると話は変わってきます。
足し算や引き算ができないと「え、なんで出来ないの?」となるように、プログラミングができなくても同様の反応になります。

今エンジニアではない社会人には考えられないかもしれませんが、プログラミングが「常識」となる時代がやってきます。
そしてこれから教育を受ける子供達は、10年後、20年後、確実にその「常識」を持って社会に進出してきます。

その時、上司となったあなたが「Hello World」のプログラムも書けないとなれば、後輩たちはどんな顔をするでしょうか。
四則演算の出来ない上司についていきたいでしょうか。
時代のせいにしても仕方ありません。それが彼らの「常識」なのですから。

プログラミングは突き詰めれば奥が深いですが、少しプログラムを書くぐらいであれば、そんなに難しいものではありません。
今の内に何としても学んでおかないと、という気になりませんか?

余談ですが、今後はおそらくクイズ番組などでもプログラミングの問題とか出てくるんじゃないでしょうか。
それほど当たり前のことになると感じています。

ということで、使わないからと言ってプログラミングを勉強しない理由にはならないという記事でした。

長くなりましたが、思っていたことが書けて良かったです。
ではまた!

色々買いました

こんにちは。

仕事に向けて色々購入しました。

◼️エアコン

まずはエアコン。
今まで作業場にエアコンが無く、リビングで作業してましたが、流石に買いました。
安いのを求め、色々見に行ってたんですが、やっぱネットが安いですよね。

ヤマダ電機の下のやつ買いました。

 ヤマダウェブコム
アイリスオーヤマ IRR-2218C-W ルームエアコン 「スタンダードシリーズ」 (6畳...
https://www.yamada-denkiweb.com/547122012
アイリスオーヤマ IRR-2218C-W ルームエアコン 「スタンダードシリーズ」 (6畳用)のご購入はヤマダウェブコムで。安心の長期保証、社員による即日・翌日お届け、店舗での受取りなど、全国展開ならではのサービスが満載!

ただ、取り付けは9/2になるということ。
まあ最初はお客さんのところで作業するのでいいですが。
もう涼しくなってそう。笑

◼️ロッカー

コーナンで買いました。
一般的な会社にあるようなグレーの鍵付きロッカーです。
配送してもらって組み立てないといけないんですが、まだ届いてません。

◼️PC

Windowsを使うということで、購入しました。

元々はWindowsPCは家にあったのですが、2008年製のPCでCore-i5、メモリ4GBですが動作が重すぎて仕事では使えそうになかったので購入しました。
なんかディスク100%問題が起きてるので、不要なソフト整理して消せばマシになるかもと思って色々消したんですが、解決しませんでした。
ウィルスバスターが重い気がします。。。
Nortonに変えたら軽くなるかなあ。また試してみます。

で、Amazonで買ったのが下のやつ

この値段でこの性能やばくないですか?
Corei7-8550Uでメモリ8Gってだけでも安いと思うのに、SSDが512Gってすごい。
さらに2.1kgという軽さ。素晴らしいです。
USBTypeCにも対応してるし、すごい。

ただDVD等の光学ドライブはついていないので注意ですね。
普段使ってるMacにもついてないので、必要になったらUSBTypeCのドライブ買おうかなと思ってます。
調べたら3000円ぐらいで買えそうなので、PCの値段と合わせても安いですね。

あとはOfficeが付いてないので、購入するか、元々使ってたPCのライセンスを使うか。
でも元々のPCも仕事以外で使える状態にしておきたいので、購入かなー。

金曜日に届いて少し使ってみたんですが、動作が軽い!!
今のところ文句なしです。これでひとまずやっていきます。

◼️タブレット

仕事用ではないですが、最近Amazonで本を購入することが多いので、電子書籍で読もうかと思い、Fire HD8を買いました。

まだ電子書籍は購入してませんが、本棚にも余裕が無いし、本を持ち運ぶのも重かったので便利になると思います。
今読んでる本を読み終えたら購入していきます。

色々お金使ってしまっているので、これから頑張って稼いでいきます。

今日のところは以上です。
ではまた!

案件決定!

こんにちは。お久しぶりです。
ようやく暑さがマシになってきましたね。

◼︎ページ更新

やっと見た目を更新しました。
WordPressのテーマを変えたので、投稿一覧からもコメントができるようになってると思います!
サイドバー(ウィジェット)のページ一覧にホームを追加しました。
自己紹介と開発したものを書いてます。
開発したものが多くなったらページを分けます。

※スマホからは右上の三本横線が入っているのを押すとサイドバーが見れます。

勉強の内容も投稿していくんですが、(今日すでに投稿したんですが)、日記と区別できるようにカテゴリを分けておきました。
サイドバーのカテゴリから選んでください。

テーマ変えるだけでだいぶ見やすくなった気がする!

◼︎仕事

ついに、ついに、受注できる案件が決まりました!!!
しかもすごく面白そうな案件!!

実はクラウドテックさん以外にも、ギークスさんにも案件を探して頂いていました。
ギークスさんはすぐに何社も面談を組んで頂き、いろんな案件の話を聞くことができ、とても良かったです。
その中でオファーを頂いた案件もあり、単価は今回の案件より高かったのですが、作る物の内容とか、今後Rubyの仕事が頂けそうとかを考慮して、今回はクラウドテックさんに紹介をして頂いた案件に決めました。

経験も浅い自分にオファーや面談して頂いたクライアント様と短期間でここまで動いて頂いたギークスさんには本当に感謝していて、同時に申し訳ないと思っています。
今後また機会があれば是非宜しくお願い致します。

決まった案件はリモートに移行していくので、ちょっと自宅の環境を整えます。
借りるものもあるので、鍵付きロッカーとか色々買い足さないと。
とにかく面白そうで、魅力的な案件なので、とてもヤル気が出てます。
8/22(水)から稼働開始です。頑張ります!!

◼︎次の開発

以前ちょっとふざけたもの作ろうと思っていると書きましたが、先送りにします。

というのも、まず勉強を進めたいと思っているのと、ちょこちょこ顔を出させて頂いている勉強会の開催者の方が、森林浴プログラミングというイベントを開催されるらしく、そこで開発するものの準備をしようと思います。
午前に開発して午後発表みたいな形になるらしいので、事前に基盤を作っておいてそれの拡張みたいなことをその日にできたらなーと思ってます。
あと1ヶ月ぐらいなので、簡単なものを作る予定です。
(今の所、おみくじのようなものを考えてます。)

夜にはBBQもあるので楽しみ!!!

今日のところは以上です。
色々軌道に乗ってきて嬉しいです。
ではまた!