[初心者向け]変数の命名、基本のキ

フィヨルドブートキャンプ Part 2 Advent Calendar 2022 - Adventar の4日目の記事です。 昨日はmaeda-mさんの Heroku の代替 OSS を試した話 | お日記させていただいてもよろしいでしょうか。 でした。 フィヨルドブートキャンプ | FBC (以下FBC)の提出物のレビューをするときに参考URLに使えそうな資料を自分で書こうシリーズの2年ぶり2回目となります。 って書いていて気づきましたがAdventCalendarが3回目ということは丸二年以上メンターやってるんですね。早いなあ😲 なにこれ? FBCの提出物をレビューしていて、rubyの最初の方でよく変数名についての指摘をするので、右も左も分からない初心者の方に変数名の大事さ、どういう事を気をつけて欲しいかを説明します。 注意事項 プログラミング初心者向けの記事です。 「初心者に分かりやすい」を最優先でざっくり書くので正確では無かったりしてもご容赦ください 🙏 頻出の例を書くので、生徒さんの提出物と同じ例があるかもしれませんが特定の提出物を貶す意図はありません。 前提: 変数名がなぜ大事なのか FBCで教えるプログラミングは仕事で使うものなので読みやすいプログラムにする必要があります。仕事で使う文章を分かりやすくすることと同じ。 その変数に何が入っているか?は変数名で推測できなければ処理の流れを追うしかなくてとても大変。 Rubyの作者の Matz の好きな言葉は 「名前重要」ってぐらい大事なんです。 Rubyist Hotlinks 【第 1 回】 まつもとゆきひろさん どんな変数名が良いのか 理想を書くと「そのプログラムを読む人全員が中身を推測でき、読みやすく書きやすい簡潔な名前であること」です。 「書きやすい」は自分なのですぐ分かりますが、「読みやすい」は書いているときは分かるので注意しづらいです。 他の人(仕事であれば同僚、レビュワー、未来の自分)が読みやすくなるようにという視点を持つと良いです。 指摘事例 名前と中身が違う file_content = "/path/file.txt" ...

2022/12/04 · u1tnk

フリーランスとしての自己紹介と仕事の条件(2022最新)

目的 新規案件の話を頂いたときの自己紹介、条件の概要をまとめておく 単価公開されている方が少ないのでフリーランス初心者の方の単価決め、交渉材料になれば良いと思い公開 やっていること 開発系案件 Railsでバックエンド系開発 terraform/AWSのインフラ開発 レビュワー 独立性の高いタスクの開発(Railsアップデートや高速化など) 通常のタスク開発も可能だが週1〜2なのでこのパターンが多い 保守系案件 過去自分で構築したインフラの保守業務 開発作業は引き継いだがインフラは引き継げなかったため フィヨルドブートキャンプ メンター 他の仕事の合間にやっている 卒業は大変だし、就職率100%では無いが、誠実なスクールなので検討している方は是非。 できないこと できないが機会があればやりたいこと モダンなフロントエンド RailsのAjaxとか難度低めのJSなら問題無い golang サーバサイドJS GCP できないしやらないこと CTO チームビルディング、採用コンサルなど管理系 ゼロから普通の開発体制を作って経験の浅い方のサポートしつつ開発するとかぐらいならなんとか 機械学習 条件 フルリモート 横浜在住なので打合せは出れるが出社は週一程度 コロナ禍で出社が絶無になっているのでむしろたまには出たい 作業時間の縛りは無し 縛りが嫌いでフリーランスになったので。打ち合わせ、リリース作業など必要があれば朝でも昼でも対応します。 仕事をゼロにしない戦略の為、通常二社以上受けているので週5の仕事は受けられない 以下最近好きなことと関われると嬉しい コーヒー サウナ スプラトゥーン 投資 経歴 ソフトウェアエンジニア歴22年 SIer 7年 サポートやら組み込み開発やらを経て後半3年程度がweb開発 束縛の重い会社アレルギーに罹患 ベンチャー系自社サービス開発会社 7年 フリーランス 8年 スーパーエンジニアではまったく無いがベテランではある 単価 8750 円/h (日額7万) ...

2022/07/19 · u1tnk

買ったもの評価2021

よくある今年買って良かったものまとめ。去年書き忘れていたことに今気づいた… なので去年買ったものも混入。 現時点の買って良かった度を ⭐ 5個満点で評価したが、まあ本当にダメなもの以外3未満は付けないので食◯ログ的な評価です。 コーヒー編 ガチめのエスプレッソマシン ⭐⭐⭐⭐ 新エスプレッソマシン届いた。 ロケット アパルタメント。 人生で一番道楽で散財した感がある。カッコいー!😍 pic.twitter.com/jfOqc7JRJc — ゆーいち (@u1tnk) June 14, 2021 国内最大級エスプレッソマシン専門店 大一電化社公式サイト-本物のエスプレッソを日本に で買った。 一応家庭用カテゴリだけど、小規模店なら業務用として使ってるらしい。 前に持ってたデロンギでもエスプレッソ自体はまあまあ満足できるものの、ミルクのスチームがイマイチだったので強力なボイラー入ってるのが欲しかったのです。 この製品にしたのは(前提を満たしたなかでは)安めで、圧倒的にカッコ良かったから😎 めちゃくちゃ気に入ってはいるけど、強力なボイラーを加熱するのに20分ぐらいかかるのとコスパがアレなので星4。 コーヒースケール ⭐⭐⭐⭐⭐ ハリオのコーヒースケール買った。 1グラム単位で測れるし、手元で時間も測れる。 高級感もあるしドリップ作業がまた楽しくなった✨ pic.twitter.com/cyBLgjOEdI — ゆーいち (@u1tnk) February 25, 2021 tweet通りコーヒー関係作業に最適なのはもちろん、usbで充電できるのも高ポイント。 更にはカウンターにずっと置いてあるので、キッチンスケールとしても使いまくってて使用頻度も高いので星5。 タイムモアの手挽きコーヒーミル ⭐⭐⭐⭐ タイムセール祭り戦利品。 タイムモア栗子C2 MAX。 今のセラミックのヤツと比較して思ったほど軽く挽けたりはしなかったけど30g入るのと調整ネジとかの質感、持ちやすさで向上したので良しとしよう😃 pic.twitter.com/MymrsSK9e3 ...

2021/12/25 · u1tnk

フィヨルドブートキャンプはぼったくりか?

これはフィヨルドブートキャンプ Part 2 Advent Calendar 2021 - Adventarの5日目の記事です。 フィヨルドブートキャンプ Part 1 Advent Calendar 2021 - Adventarもどうぞ。 昨日はitsさんの テスト技法 ブラックボックステストの概要と設計手法について でした。 まず、最初に私はフィヨルドブートキャンプ(以下FBC)のメンターをしているので関係者視点である事を言っておきます。 私はおカネの話が好きなので、おカネの面から入学を検討している方、現役の生徒さんに安心して欲しいと思って書くことにしました。 結論 (前置きで分かりますが)結論から言うとぼったくりでは無いです。 理由を一言で言うとぼったくるとメンターが辞めてしまうからぼったくれないからです。 運営側の登場人物 前提として、FBCで教える側の登場人物を解説しておくと主に以下となります。 運営会社の中の人(以下運営) メンターを兼ねる人が数人 メンター 運営と契約し、報酬をもらって生徒に教えるメンバー FBCの場合は運営メンター以外の全員が現役で他の仕事をしているエンジニアが副業でやっている FBCのメインコンテンツである、生徒の提出物、日報を確認し、アドバイスをしたりOKを出したりする。 https://bootcamp.fjord.jp/ に載っているメンターしか居ません。バイト講師などは存在しません。 アドバイザー 現役のエンジニアが無報酬で参加 気が向いたときにアドバイスを行う (他に顧問もありますが、本論に関係無いので割愛) という構成になっており、メンターが居なくなると運営ができません。 無報酬のアドバイザーもdiscordなどで生徒さんにかなりのサポートをしてくれていて、こちらも居なくなるとメンターの作業量が爆増する事になって運営困難になると思います。アドバイザーの方々ありがとうございます 🙏 メンターは(主に)金銭目的では無い 次に、アドバイザーはもちろんメンターも報酬が主な目的では無いという事が言い切れます。 ...

2021/12/04 · u1tnk

WSL2でのweb開発環境構築tips

tipsというかWSL2に移行して開発していてハマったことや、定着した運用方法についてのメモ。 前提 主にRails開発をしていて、vim/tmuxとほぼターミナルとブラウザだけで開発作業を行っているのでその範囲。 ubuntu-18.04利用。 linuxの知識はある前提で書いている。 WindowsTerminalを使用している Linuxインストールまで WSL2でLinuxを使おう | FJORD BOOT CAMP(フィヨルドブートキャンプ) 僕がメンターをしているフィヨルドブートキャンプのこの資料で大丈夫です(ちょっと宣伝) ubuntuのバージョンについて WSL2/ubuntu20.04で capybara動かんのか… NotImplementedError (fork() function is unimplemented on this machine) が回避できぬ。 WSL2でも ubuntu18.04なら動くっぽいんだが… — ゆーいち@イカX (@u1tnk) January 4, 2021 という事があり、20.04をやめて18.04を利用している。この時点なので今は不明。 GUIも無いし、WSL2だとデバイスドライバとかも関係無いので新しいメリットも無いので安定バージョンで良い。 起動と終了 ubuntuアプリを起動したり、wslコマンドで起動する。WindowsTerminalを使えば内部では wslコマンドを使っているので勝手に起動する。 終了するときは wsl --shutdown をpowershellなりで実行すれば良い。 systemdが動いていない 本物のubuntuと違いsystemdが動いていないので、サービスの自動起動ができない。よってcrondとかも起動していないので注意。 自動起動はできないが動かないわけでは無いので、zshrc(shellによって調整してください)に以下のようなscriptをしこんでWindowsTerminalから開いたときに自動で起動するようにしている。 ここではdockerの起動とsmbサーバへのmountをやっている #! /usr/bin/env ruby exit unless `ps aux | grep docker | grep -v grep`.empty? `sudo service docker start` `sudo mount -t cifs -o username=xxxx,password=xxxx,iocharset=utf8 //192.168.100.1/share /mnt/share` ...

2021/06/30 · u1tnk

WSL2でvim/tmuxでクリップボード共有できるようにする

概要 vim、tmux、windws側のcopy/pasteを全て連携させる。 WSL2移行前に使っていたVIrtualBox環境からの移行で、結局の所ssh+x転送をやめた結果 xselが使えなくなったのでwindowsのexeを直接叩けばOKだった…というだけ。 windows側のクリップボードを双方向で使えるアプリをインストール https://github.com/equalsraf/win32yank を利用。 windowsにデフォルトに入っている clipboard.exe はクリップボードへの書き込みはできるが、逆はできず。 逆は https://docs.microsoft.com/ja-jp/powershell/module/microsoft.powershell.management/get-clipboard?view=powershell-5.1 で可能なようだがWSL側から動かす方向が分からなかったので手軽なコレを採用した。 インストールしてWSL側のPATHに入れておく。 tmux 以下設定は vim形式のキーバインド前提となっている。 tmux.conf bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "win32yank.exe -i" bind p run-shell 'win32yank.exe -o | xargs -0 -I{} tmux set-buffer -- {} && tmux paste-buffer' vim tmuxとは関係なくコレだけで共有できる。WSL便利というか不思議というか。 vimをclipboard利用できるようにビルドする必要はあるが、情報はいくらでもあるので割愛。 個人的にはneovimを使っているので最初から使えた。 set clipboard& set clipboard^=unnamedplus 所感 まとめてみると記事にまとめる意味あんのかコレ。というレベルの内容になったが、WSL2の情報は少なくて、当初うまく動かないときにXServer入れないとvimからクリップボード使えないのでは?とか標準だから clipboard.exeとか使ってハマったりしたので、たったこんだけでできるよ!という事で。 ...

2021/06/28 · u1tnk

WSL2で rails test:system を動かす為の設定

2023/10/15 修正 状況だいぶ変わっていてubuntuも22.04で問題無いし、chromedriverも入れてくれるgemがあるのでchromeのインストール以外ほぼ不要となっている。 前提 Railsはインストールして systemテスト以外は動いている前提。 イメージ ubuntu22.04 ubuntu18.04。 20.04だと 2021/1/4当時動かないspecが存在したので18.04を利用。 ライブラリ 22.04でデフォルトで大体入ってるので不要そう。 sudo apt update sudo apt install curl build-essential unzip wget chromeのインストール wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo apt install ./google-chrome-stable_current_amd64.deb -y chromedriverのインストール selenium-webdriver gemが入っていれば不要。 参考: RSpecを実行するとWebdrivers::VersionErrorが発生する場合の対処方法 - Qiita export LATEST_VERSION=`curl https://chromedriver.storage.googleapis.com/LATEST_RELEASE` wget https://chromedriver.storage.googleapis.com/$LATEST_VERSION/chromedriver_linux64.zip unzip chromedriver_linux64.zip sudo mv chromedriver /usr/local/bin/ systemテストの設定 現状不要。 ...

2021/06/28 · u1tnk

失なわれた構造化プログラミング、そしてオブジェクト指向へ…

この記事はフィヨルドブートキャンプ Part 2 Advent Calendar 2020 - Adventarの18日目です。 昨日は同じくメンターの10ヶ月フィヨルドブートキャンプのメンターをして感じたプログラミング学習中に落ち込みやすい3つのこと|りほ|noteの記事でした。 初学者ほど学習内容の詳細よりモチベが大事なのでエモい話役に立つよな!って思いました。 で、僕はめっちゃ技術系の細かい話です😇 前提 フィヨルドブートキャンプの現役生特に初学者、プログラミングに入りたてぐらいの方向けの記事です。 メンターをさせて頂いていて、よく指摘する内容だけど、この部分だけ教える事はほぼ無いので書きました。 (主にフィヨルドブートキャンプ生に向けた)注意事項 ブートキャンプの課題のネタバレにならないサンプルを考えようとは思ったのですが、手間だったのと分かりやすいのでlsコマンドの例をそのまま使います。 模範回答でも無いし入力関係の一部しか使ってないので見ても良いとは思いますが、気になる方は課題をクリアしてから見てください。 サンプルはよく見るパターンを抜粋、簡略化したものを私が書いたものです。似たコードを書いた事のある人が居るかもしれませんが、貶める意図はありません。 構造化プログラミング、オブジェクト指向についてのエキスパートと呼べるほどでは無いのでおかしな記述をしていたら指摘を頂けると嬉しいです。 日本語も入っているし実行していないので間違っているかもしれません。rubyで書いてるつもりですがrubyっぽい仮想言語のコードと思ってください。 はじめに 皆さんは構造化プログラミングという言葉を知っているでしょうか? オブジェクト指向プログラミングがデファクトになる前に存在した古の手法でインターネット老人会員しか知らないと思います。 僕がプログラマになったときは構造化プログラミングが普通でオブジェクト指向ってのがあるらしいぞ?ってぐらいの時期だったので、オブジェクト指向を学んだときに「なるほど!部品となるサブルーチンにデータもまとまって独立すんのか!メンテナンス性上がるわ!すげえ!」とか感じたわけですが、最初からオブジェクト指向だと、なんで動くのにオブジェクトとかメッセージとか言ってんだよ意味わかんねーよ!ってなるよなぁーって思ってたのでこの記事を書きました。 オブジェクト指向でなぜつくるのか 第2版 | 平澤 章 | コンピュータ・IT | Kindleストア | Amazon もちろんこの本を読めば大体分かるとは思いますが。 今さら教えるべき!とは思いませんが、オブジェクト指向で作ってはいるけどそもそも構造化ができてないなーと思う事があります。(ブートキャンプ生等初学者はもちろん仕事でもたまに) 詳しい内容は 構造化プログラミング - Wikipedia 、プログラミング入門入門 - けるぶれつーるず あたりの説明を見てもらえると良いのですが、私が重要と思っているのが構造化と再利用、要するに「再利用可能な機能に切り出して部品化して順番に呼び出す」という所です。これを簡単な例を用いて解説します。 構造化されていないコード フィヨルドの課題にあるlsコマンドのlオプションのみ対応してファイルを複数引数で取る(無いときもある)rubyプログラムです。 入力まわり以外は省略していますし、便利ライブラリも使っていません。 処理省略してるし、慣れた方にはこんなコード書かねぇよ!ってつっこまれそうですが、最初は色々書いてると混乱してこんな風になったりすると思います。 ...

2020/12/17 · u1tnk

メンタル疾患寛解しました

twitterとかで軽く書いてけど、メンタル疾患になってました。診断名は「パニック障害」。パニックは幸い一回で済んだので実態は「不安障害、自律神経失調症」あたりが実態に近いのかなと思います。 人生最悪級の体験なんですが貴重な経験でもあるのでまとめておく。詳細に書いてたらあまりにも長文になって収集付かなくなったのでざっくりと。気が向いたら詳細補足を後日しよう…と思ったけど、十分長くなってしまいました… 😓 興味本位で読む奇特な方が居たら他山の石に(44歳になるまで半ブラック企業に居たときもメンタル疾患にはなってないので普通レベルのメンタルと思います)。同じような病気の方が居たら経過を参考にしてください。 ちなみに寛解は「薬は飲んでるけど症状はおさまった状態」の意味で使っています。 始まり コロナ正直先週ぐらいまでは今より舐めてた。 週末の増えっぷりを見て、もういつかかかるのは避けられないので全力で遅延させるべしという認識になった。 — ゆーいち@イカX (@u1tnk) March 30, 2020 2020年3月頃、きっかけは時期的にご想像の通りコロナです。 当初は引きこもりなフリーランスエンジニア生活を送っていた事もあって結構楽観してたのですが、 ずっと引きこもっていたのに宅配経由で伝染った マスク無しの歩行者の後ろでも伝染る可能性がある。 軽症で済んでも死ぬほど苦しい。 軽症、入院各種体験談… 既往症持ちは高リスク(喘息持ちです) とひたすら不安になる情報がネットからもテレビからも摂取してしまい、段々と不安が募るように。 娘の学校が春休み延長になった事もあって、普段は見ない午前中のワイドショーをよく見ていたことも良くなかった。 元々夜更かし、不眠の傾向が不安と外出自粛による運動不足で少しづつ悪化していった。 異変 逆食悪化したので、3日おかゆとかでやっと喉の違和感減ってきた… 「コーヒー、アルコール、満腹、早食べ、脂肪過多、香辛料」禁止 ぐらいに移行。 最終的には「満腹、早食べ」のみ禁止にできるようにしたい 🙏 — ゆーいち@イカX (@u1tnk) April 21, 2020 元々たまに頓服する為に近所の心療内科にマイスリーという睡眠薬の効果の短いものをもらっていたのですが、使用頻度が高くなる事に不安を覚えてある本の情報を元に、「自然に眠くなるまで寝ない、ベッドで眠気が来なかったら一回戻る、最悪一晩ぐらい寝れなくても大した事無いからそのときは次の夜早めに寝れば良い」という不眠対策をやってみました。 結果としてあっさりと徹夜してしまうのですが、「一晩ぐらい大した事無い」という事もあるのでしょうが、私の場合は「持病の逆流性食道炎の悪化」、「謎の下半身の不快感の発症」という結果になってしまった。 迷走 コロナ引きこもりをきっかけに体調不良中で一番キツかった残尿感、色々検査した結果「慢性前立腺炎(非細菌性)」で間違い無さそうという結果に。 老化!って思ったけど、20代とかでもなる病気らしく、運動不足、ストレス、座りっぱなしが主因らしい。 ...

2020/09/28 · u1tnk

買って(金出して)良かったもの2019

また去年買ったものになってしまった…帰省する前にアップしなきゃダメですね。 せっかく2年続けたので今年も。 なんでずっとモノ買ってるのに毎年欲しいものできるんでしょうね。 分譲賃貸マンション 買っては無いけど金出したので。タイトルはここから。 駅徒歩15分の2階だてアパートから駅近くのマンション中層階に引越した。 分譲賃貸なので断熱、防音性能がまったく違うし、駅徒歩気軽だと想像以上に快適。車の使用頻度も激減。 何より虫嫌いなので、名前を言ってはいけないアイツから小バエ、蚊の類はゼロでは無いけど、激減。ベランダの網戸頻繁には閉めなくても大丈夫。 マジで家中の網戸やドアにハッカスプレーしてた生活はなんだったのか… 高さもあるけど、そもそも家の隙間も少なそう。 ちなみに家賃上昇分ほどでは無いけど、夏冬の光熱費は万単位で削減された。 元がプロパンだったので冷暖房無くても半額ぐらいになってんだよね。一年経ったら光熱費の差をまとめたい。 想像以上にプロパンはヤバかった…家賃プラス一万ぐらいは考えた方が良い気がする。 付属物として床暖とビルトイン食洗機も感動がある。 Canon レーザープリンター A4カラー複合機 Satera MF644Cdw インクジェットの頻繁に起こるインク切れ、久しぶりに使ったときのインク詰まり、クリーニング…と無限に手間がかかるのが苦痛でレーザーへ。 昔々ビジネスレーザーの技術サポートとかやってたせいで、レーザープリンタはとにかく高いし両面コピーなんて夢…なんてイメージがあったのでまったく考えてなかったのが、何かの記事で意外と安いと見かけて調べてら5万とかでびっくり。いや、それでも高いけど、どんなに安くても10万とか思ってました。 デカいけど、ギリギリ一人で持てる…普通のインクジェットをちょい広げて縦に二個…って感じか。横方向の大きさはそうでも無いのでなんとかなる。 とにかく便利なのが両面to両面コピー。カスタマイズして、1ボタンでスキャンした結果をメールで送らせたりもできる。 そんなコピーとか印刷とかする?って思うでしょう。俺も思ってたんだけど、学校から無数にプリント貰い出すと色々必要なんすよね… 受験のときなんてもっとだったからどうして去年気づかなかったのか自分を責めているレベルで良かった。 ネスプレッソ、ミルクチーノ ウチにはエスプレッソメーカーとグラインダーがあって、ラテを淹れるのはまったく問題無いんだけど、嫁が使わないし、まあ一人だとめんどい事もあり、嫁が会社で買って絶賛していたネスプレッソを購入。 確かにミルクもコーヒーも自分でやるよりは落ちるものの、コンビニより美味いものがコンビニに行かずに手軽にできて素晴しい。 さすがに自分でやる方が美味かったけどむしろ一安心、負けてたら家庭内バリスタの俺立場が無い。 ミルクチーノで作るミルクもふわっふわだし、スチームと違って水っぽくは無いんだけど、スチームの方が泡以外のところもなめらかで美味いので でも手軽なのも価値なので良かった。 Ryzen 3700Xなど自作PC更新 詳細はこちらで。とても満足しているので再掲。 自作デスクトップの構成2019年12月 ...

2020/01/07 · u1tnk