24歳で休職→未経験でエンジニアに転職するまでの3年間

2017年9月に適応障害と診断されて休職してから, 3年かけてエンジニアに未経験転職するまでを振り返ります。主にプログラミング学習の面と体調面について振り返っていきたいと思います。

MySQLを起動できないエラーを解決した。

MySQLが起動しない ~ $ mysql -u root ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (38) 参照した記事 mysqlが起動できなくなって試行錯誤の末に再インストールした話 MySQLをインストールし直す …

日経255の構成銘柄一覧をRubyでスクレイピングして作成する

前回の記事では日経255の企業のうち取り出していたのは半分のみだった。原因は企業名を含むコンポーネントのクラス名に"commponent-list", commponent-list list-evenの2種類のうち前者のみを取り出していたためだった。 実現したいこと nikkei255のサイト…

RubyでWebスクレイピングに初挑戦!

暇つぶし 日経255の構成銘柄一覧からインデックス, コード番号, 社名を抽出してCSV形式にする。 参照する表 HTMLタグにtable要素は使われていない。 作成したコード require 'open-uri' #URLにアクセスする為のライブラリを読み込みます。 require 'nokogiri…

(Chart.js)チャートUIの改善

Statistics#indexのviewを改善する。 labelから西暦を削除する。Viewに渡されたchartlabelを整形する。 const labels = chartlabel; console.log(labels); //["2020-01-20", "2020-01-21", "2020-01-22", "2020-01-23", "2020-01-24", "2020-01-25", "2020-0…

Uncaught TypeError: $(...).datepickerと表示される不具合などを修正する

修正点1 #application.html.erb <head> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <%= stylesheet_link_tag 'application', media: 'all', '…</link></head>

createアクションでエラーのフラッシュメッセージが表示されない(2)

実現したいこと Diary#newのviewページで, 投稿に失敗した際にエラーのフラッシュメッセージを表示させたい。 Diaryモデルでは投稿の日付(:diary_date)が重複しないようにvalidationを設定している。 すでに投稿済みの日付(2020-01-13)で再度投稿した際に、…

createアクションでフォームから間違った値をPOSTした際にエラーのフラッシュメッセージが表示されない

アプリ制作 修正点1 960px以下で/loginのページにログイン後に表示すべきサイドバーが表示されている。 原因 ヘッダー要素をログイン前後関係なく表示するようにコーディングしてしまっている。 対処 logged_inメソッドを使って条件分岐をする。 結果 ログイ…

Dashboards#indexで前月のリンクをクリックすると当月の一覧にリダイレクトされる不具合を修正。

不具合 Dashboards#index 前月へのリンクをクリックすると、/dashboardへリダイレクトされる。 原因 Started GET "/dashboard/2019-12" vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:98 Processing by Dashboards…

2019年の振り返りと2020年の目標

2019年の目標 会社に復職するのか、転職するのかを決めてその先に進む。 退職して転職すると決めたので、転職すること。 いま振り返ると100%転職なんだけどかなり真剣に考えていた。 cotreeのカウンセラーの方とこれまでの棚卸と進路の選択肢の検討を行…

(Chart.js) canvas要素のサイズが変化する不具合を修正した。

アプリ制作 課題1 体調グラフで表示しているカラム(活動量など) をToggleすると、グラフのサイズが 変化してしまう。 原因 カラムをToggleすると毎回Chartを生成していたため。 jQuery('.chart-toggles a').click(function() { currentChart.destroy(); jQu…

Bootstrapを使ったサイドバーのサンプル模写など

アプリ制作 アプリの修正点を洗い出す。 レスポンシブ対応を優先して取り組むことに決定 BOOTSTRAP SIDEBAR でサイドバーのサンプルを作成 PCとスマホのサイズでスムーズに移行できるナビバーのレイアウトを再考 制作物 次回はアプリに修正を反映する

Procオブジェクトを使い, 指定された期間における各カラムの値の配列を生成する

アプリ制作 実現したいこと 体調グラフ機能 各カラムに1つボタンを作成し, ボタンのON/OFFでカラムの表示/非表示を切り替えられるようにする。 どのように実現するか 指定された期間における各カラムの値の配列を生成し, Viewに渡す。 本日はrails console…

Chart.jsにToggle機能を追加しカラムの表示/非表示を切り替える

実現したいこと 体調グラフ機能, ボタンのON/OFFでカラムの表示/非表示を切り替える メンターから, Ajaxは学習コストが高いのでjQueryでやった方が早くできるとアドバイスを頂いた。 各カラムのボタンのtoggleによって, 対応するdatasetを追加したり、削除し…

体調グラフ機能で複数カラムを動的に表示する方法を調べる

アプリ制作 実現したいこと(1) 複数カラムを選択して同時に描画する. activity, appetite, moodの3カラムのボタンを設置する. 3つのボタンはON/OFFにすることができ、ONの状態にあるカラムをまとめて表示したい。 試したこと Rails Chart.js Dynamically c…

Weeklyグラフで前後の期間へのリンク生成で発生するエラーをデバッグ

アプリ制作 実現したいこと1 リクエストが下の2つのパターン両方でグラフ描画を行えるようにする。前者はコントローラのreportbydateアクション, 後者はreportbyperiodアクションにルーティングされている。 statistics/activity/from/2019-10-07/to/2019-1…

キーワード引数にデフォルト値を設定し, 異なるパターンの引数を取れるようにする

アプリ制作 実現したいこと リクエストが statistics/activity/from/2019-10-07/to/2019-10-13, statistics/activity/period/prevWeekの2つのパターン両方でグラフ描画を行えるようにする。前者はコントローラのreport_by_dateアクション, 後者はreport_by_…

体調グラフ機能, 該当期間のy軸の値を吐き出すメソッドに例外処理を実装する(Rails, Ruby)

アプリ制作 実現したいこと(1) Diaryレコードが存在しない期間を指定した際に、app/lib/generate_report/weekly_report.rb のdata_generatorメソッドでエラーが発生してしまう。レコードが存在しない場合でも値を0としてグラフの描画を行えるようにしたい。…

サービスクラスにグラフ描画に関する処理を移す

アプリ制作 昨日のエラー Constraint::PeriodConstraintクラスで, /statistics/activity/period/thisWeekの"thisWeek"の部分が正しいURIになっているか検証するように実装した。 しかしno route matchedエラーが出てしまい、うまく作動していない。原因がわ…

(rails) SimpleCalenderGemのコードを読みながら、Report機能の処理を考え直す

SimpleCalenderのコードを読む view_contextというViewクラスのインスタンスを操作していた Calenderクラスを継承し、WeekCalender, MonthCalendeの2つのクラスが作られ処理を分けて書いていた。 params[:period]で条件分岐して、別のReportインスタンスを…

(Rails) routingのcustom constraintsをlib直下のモジュールに定義する

アプリ制作 実現したいこと 体調グラフ機能で、クエリパラメータを使用せずにURI・コントローラを設計する。 取り組んだこと TogglのDashboardのURIを観察してまとめる。 ルートは当日の週に設定 当日の週or当月は /period/thisWeek(or Month) 当日の前週or…

StatisticsControllerの一部の処理をサービスクラスに移行する

アプリ制作 週間・月間のグラフ描画機能 クエリパラメータで、column, date_begin, date_end, periodを指定して、それを元にグラフを描画できるようになった。 date_beginまたはdate_endとperiodを受け取って、ex_beginまたはnext_endを返すメソッドをstatis…

ローカル環境からCloud9環境への移行作業

アプリ制作 PCを修理に出すになったため、ローカル環境からCloud9にRailsアプリを移す作業を行なった。 ローカルからgithubにプッシュ Cloud9のワークスペースにclone Rbenvインストール、rubyインストール Bundlerインストール MySQLとの接続 などをエラー…

(Rails)前後の期間のリンクを生成するコードを短く書く

アプリ制作 実現したいこと 体調グラフ機能 StatisticsControllerに:date_beginまたは:date_end,:period`を受け取り、始まりからperiodを引いた期間又は終わりからperiodを足した期間で情報を取得して、どちらかを返り値で返すメソッドを作る。 考えたこと …

(Rails/Chart.js)前後の期間へのリンク生成 - 体調グラフ機能

アプリ制作 実現したいこと 体調グラフ機能 クエリパラメータでカラム・期間を指定してグラフを描画する 異なるカラム・前後の期間へのリンクを生成する。 課題 以下の2つのメソッドを定義する必要があると考えた。 reportインスタンスのdate_begin, date_e…

(rails) 異なるカラム・前後の期間へのリンクを生成をする

アプリ制作 実現したいこと クエリパラメータでカラム・期間を指定してグラフを描画する 異なるカラム・前後の期間へのリンクを生成する わからないこと リンクは自前で作成すべきなのか?簡単に済ませられるGemとかあるのか? Datepickerを使用した方がよい…

(Chart.js/Rails) クエリパラメータで期間を指定してグラフを描画する

アプリ制作 実現したいこと 体調グラフ機能 コントローラでクエリパラメータを受け取り、@reportを生成する Viewで@reportをもとにグラフを描画する 実装したもの QueryParameterをpermitするメソッド paramsのdate_begin, date_endをDateオブジェクトにpars…

(Rails)コントローラでクエリパラメータを取得できない

アプリ制作 実現したいこと コントローラでクエリパラメータを取得したい つまづいたところと解決法 コントローラでbinding.pryを起動してpramasにアクセスしようとしたが、NameError: undefined local variable or method `params'と出てしまう。 クエリパ…

Struct.newでWeeklyreportオブジェクトを作成してViewに渡し、週間テーブルを描画する

アプリ制作 実現したいこと StatisticコントローラでDiaryの週間集計をする。 週間の各コンディションの値を下のようなテーブルにしたい。 そして配列にしてChart.jsに渡したい。 From: September 15 To: September 21 どうすればこのテーブルを作れるのか? …

190918 Statisticコントローラの実装(体調グラフ描画のためのデータ生成)

アプリ制作 体調グラフ機能 Diaryのテストデータ生成 直近3ヶ月分を毎日(グラフで可視化するため) rails consoleでテストコード実行 Diaryモデルのインスタンスメソッド定義 DiaryインスタンスのWeek numberを返す Statisticコントローラ実装のためにあれこ…