注目

FighTimer

FighTimerは作業をカテゴリ別に計測・記録してグラフで一望できるアプリです。

シンプルで可愛らしいUIと簡単な操作で自分のがんばりを振り返ることができます。

できること

・タイマーで作業時間の記録

・タイマー起動中に通知機能を利用した一定時間後の通知

・グラフで1週間/1ヶ月/累計の記録の振り返り

ダウンロードはこちらから: iOS / Android

社会人大学生やってる話

お久しぶりです。
3日坊主が永遠に直りません。

書くネタも無いしアプリ開発もサボってるのですが、たまにはなんか書いとこうかなぁと今年度の話を書くことにしました。
Flutter、放置しすぎてバージョン更新とかに追いつけなくなって開発が面倒になってる。

社会人大学生やってる話

なんで?

なんとなく?
1回転職してる勢なのですが、転職先の会社の基礎知識がレベル高いな~と思っていて、結構幅広く色々勉強していました。ある日、誰かの投稿で「通信制大学卒業しました~」という内容を見て、通信制大学って存在があったかと目から鱗。どうせ基礎から体系的に学びたいんだったら大学で頑張ってみるのも明確な目標になるし、卒業できれば御の字だし、いいじゃん行こうじゃんという軽いノリでした。あと想像以上に安かった。1年で20~25万円程度(入学費用とか教科書代で年度ごとに若干のブレあり)。これが2020年の年末頃の話。ここから2021年入学の大学1年生やってます。

どこに入学するか

学びたい範囲がエンジニア関係の領域なので、どこがあるかなぁとググりました。
通信大学情報局にて綺麗にまとめられていたので助かりました。ここ以外のページも見て探しましたが、2021年入学時点で情報通信系を中心に学びたいとなると、ほぼほぼ帝京大学1択でした。前述の通りお値段も易しめ。例えば英会話もガッツリ系は月額2万くらいかかるし、それと同等の値段で大学に行くと考えれば十分と感じてます。

入学手続き

ハードルとしては誓約書の保証人(親に書いてもらった)と志望動機のレポート。
学力選考試験はないのでレポートが通るかドキドキしたけど、おそらくよほど酷い内容じゃなければ通るんだと思う。通信制大学、卒業率は悪いと言うしね。入りたい人をそうそう拒む理由はないんじゃないかな。

入学してから

キャンパスライフなんて青春に溢れたことは何もなく、自宅で全部が完結しています。本来は試験と一部のスクーリング授業は各所の学校で行われますが、コロナ禍のため1期はフルリモートで行われました。
授業はテキスト形式とメディア形式とスクーリング形式の3種。テキスト形式は指定の書籍+サブテキストによる補足で全15回ほどに分けてセルフですすめる仕組み。メディア形式は全15回の動画講義を受ける、スクーリング形式は受けてないのでわかりませんが曰く2日間で通常全15回分を一気に叩き込む形式。入学時点の選択肢で授業だけ受ける科目履修生の可能性もあったけれど、ほぼ自習に近いスタイルなのでよほど見たい授業があるわけではないなら、特にテキスト形式はシラバスに書いてある書籍を自力で解読するだけで十分そう。
応用情報技術者だったり、TOEICだったり、学生時代の色々によって一部の科目履修が免除されて、何もせずに30単位くらい稼いでました。ただし免除された科目を再度履修することはできないので、高校時代の数学を授業外で勉強する羽目になってます。そのせいもあり、1年次に受講可能な授業はほぼ総合科目のみになってしまい、エンジニアのお勉強したいよぅと悲しみつつ、かといって卒業までには取らなきゃならない授業なので勉強してます。経済学難しい…なんで取ったの…。
試験は年に4回、授業は2グループあって7月頭と12月頭にAグループ、9月頭と2月頭にBグループの試験が行われます。つまりBグループ側のアイドルタイムが2ヶ月分しかないので、均等に4分割すると時間が足りなくなります。足りなくなったのですでに予定組み替えてたり…。
学校側で教科書をお得に販売してくれる制度はあるものの、教科書が届くまで結構時間がかかる。なので1期は目標3科目のところ2科目に減らして対応した。教科書代も中々のお値段にはなるので、Amazonとかにお世話になってもいいかも。試験教科書持ち込み化なこともあるので、電子書籍で買うかはお好みで。
自分が学生だってことに気づいたのでYoutubePremiumも学生になって入り直しました。普通1180円なのが680円になる。元々契約済みだと一旦解約してから(解約しても残り日数はそのままなので安心)学生証と共に契約し直す必要があります。

1年次の目標

11科目を受講していて、2科目は1期で合格済み、5科目はレポート提出済みなので最初の予定通り全部単位取れそうかな、と思ってます。とか言いながらしくじると恥ずかしいけれど…。
1期毎に3科目を目指していた(最終的に卒業に必要な単位計算したら1年次11科目しか取りたくなかった)けど、試験の間隔で2期が短いのが想定外で、復習に時間のかかる微分積分を4期に回して代わりにテキスト系を先に片付けたのでレポート個数は多め。
1年次は総合科目ばかりでテンションが下がってるとはいえ、ちょっと興味ある心理学をかじれたり社会学存外面白かったのでまぁまぁ満足はしています。
最終的にはストレートに4年で卒業したいなぁ…できるかなぁ…。

ガレリアファセットシート

ガレリアの地下迷宮と魔女の旅団のネタバレ伏せた攻略記事書こうかなって頑張ってたけど
ボタンミスで途中まで書いてた内容消えて心が折れたので
ファセット転生記録保存用のスプレッドシートのURLだけ貼ります。
全ファセット乗ってるのでネタバレ注意。
https://docs.google.com/spreadsheets/d/1eIHC8UZoybQshMUclY2TGGv4DmIY5j1gUDiLyhhSWYA/edit

あああなんであのとき戻るボタン押したの…

FighTimer:グループ機能の使い方

FighTimerのアプリの使い方の説明です。
本来、アプリ内で説明するべきなのですが、その実装までは絶対めっちゃ遅いので
先に一旦Webでご説明させていただくことをご了承ください_(:3」∠)_

ios版DLリンク
Android版DLリンク

不明な機能・こんな機能あったらいいながあれば遠慮なくご連絡くださいませ♪

グループ機能

「数学」「英語」のように1個1個の記録を「勉強」としてまとめて表示できる機能です。

グループ作り方手順

グループを作るまで

グラフ→右上のオプションボタンをタップします。

オプションタブが開きます。
一番下にある「表示グループを設定」を選びます。

表示グループの一覧が表示されます。
新規作成のため、+ボタンをタップします。

表示グループを作成できます。
表示グループ名は空でも作成できます。
 ※その場合、グループ1、グループ2…と順番に名前が付きます。

表示グループの一覧に戻ると、作成したグループが増えています。

グループ内の編集

作成したグループを選択するとこのような画面になります。
画面中央付近の緑の「+タグを追加」をタップします。

新しいタグを追加できます。
ここでは「勉強」タグを追加します。

登録後、前の画面に戻ります。
画面上に「勉強」が増えています。
ここをタップします。

「勉強」タグ内にまとめて表示したいカテゴリをタップします。
今回は「英語」「数学」を選びます。
これでグループ表示準備ができました。

グループの切り替え

オプションタブの「カテゴリごとに表示」の部分をタップすると、先程作成したグループが増えています。
表示したいグループをタップすることで、表示できます。

例えば、デフォルトの「カテゴリごとに表示」の状態です。

ここで「グループ1」に表示を切り替えた状態です。
英語+数学がまとめて表示されます。

その他の扱い

グループ外のカテゴリについて、
デフォルトは「個別に表示」となっています。

  • 非表示
    グループ外カテゴリは表示されません。
  • すべてまとめて表示
    「その他」として一括表示されます。
  • 個別に表示
    カテゴリごとに表示されます。

7月後半KPT

5回め。
書くのだるいなって思ってたら8月も5日目に突入してしまったので、ヤッベって書いてる。

前Try

月2リリース目指す。@2005後半

+4
1.6.1リリースした。
アプリ開発の最終目的は収入を増やすことなので、いい加減DL数+定着数上げたいなって気持ちはある。
今回はレビュー対応。次回は広告消すための30秒広告入れてみたいなとか。(まだ妄想)

エンジニア稼働時間問題@2006前半

+2ー2
稼働時間が無い問題@2006は割と解消しつつあるのでクリア。
エンジニア稼働時間としての話だけにピックアップ

お風呂入るブームがまだ続いてるので、
①お風呂時間を英語の勉強に回す
ボツ。
英語がわからないときにストレスが溜まるので、お風呂なんのために入ってるんだっけ…?となった

②日中Twitterとか趣味系の巡回サイトを見ない。お風呂中に好きなだけ見る
現行&いい感じ。
無駄に良い記事無いかなって探す時間が減った分、体力が余るようになった?
ただ出社の日と被ると体力が切れる。
仕事を辞めるしか無い…?

FighTimer利用ユーザー減ってる@2005後半

保留4
そもそも問題がふわふわしてる。
ちゃんと明言すると↓みたいな感じ?

  • ユーザーがどの画面で滞在してるのか、理解できる仕組みを作る
  • 新規DLユーザー向けにチュートリアルを追加する
  • 継続ユーザー向けになにかを作る(”なにか”を見極める)
  • 新規機能のお知らせAPIとか作ってみたい

8月にもう一度TOEICネット動画挑戦する

保留2
次回くらいには…?

テスト書けてない

-1
書いてないしやっぱり新機能優先していきたい…。
TDD BootCampの動画は見た。
twadaさんの動画前にも観たけどなーと思いつつもっかい観たけど、自分の中でルールがオリジナル化し始めていた部分が補正されたので良い。
こういう感じにテスト書けそうな機能が無いけど、特訓しかないんだろうな…。

Keep

英語の勉強

英単語アプリMikan入れたり、高校英文法の受験必勝本的なもの読んでる。
というか、中学の次レベルの思い出し本のいいやつがない。

Atcoder続いてる

家ではAtcoder環境構築した(VSCodeと.shでデバッグできる環境を作った)ので、リモート日はよくやってる(良くない)
7月半ば~今までで+20問くらい増えてる。
よくしょーもないミスするので、慣れなんだろう。

challenge

数学振り返り

確かAtcoder173回?(思ってた問題が見つからない…)くらいに遭遇した数学系の問題がまったく理解できず、順列系なので解けるはずなのに…と、改めて数学勉強し直してる。
こいつも時間泥棒なんですよ。
難しい問題を解こうとしすぎてるのかも。

games

  • Factorio
    兄者の動画観てたら自分でもやりたくなってやってる。
    時間泥棒。

Problem

books

データ指向アプリケーション読んでたけど難しいので頭に残らない。

やっぱ難易度高すぎ?
今月は中古とか駆使してもう少し読み物寄りの本を増やしてみた。
↓を読み切る。

【書籍】Webを支える技術

書籍情報

Webを支える技術 -HTTP、URI、HTML、そしてREST

メモ

ネットワークのことがさっぱり。
GET/POSTもようわからんので、まずはWeb全般の繋がりとして全容を理解できればな、と読んだ。
2010年代の本なので、まぁ古い記述もあるんだろうなと読み飛ばしつつも、技術のつながりについて理解できた。
全5部構成。

第1部 Webとはなにか

いわゆるブラウザの成り立ちから、現在どのような形に落ち着いたのかを語る章。
REST:リソース指向なアーキテクチャスタイル。多分、これはこれで別の本読んで勉強したほうがいい。

第2部 URI

≒URL。
リソースを一意に識別できるデータ。
データのいい感じの名前の付け方とか。

第3部 HTTP

ステートフル(店員が注文を覚えてくれるようなやり取り)とステートレス(店員にすべての注文を告げ直すようなやり取り)についてとか。
GET/POST/PUT/DELETEとか、返ってくるエラーコードの説明とか。
おそらく、次にこのあたりの具体的な使い方について勉強していきたい。

第4章 ハイパーメディアフォーマット

HTMLの書き方とかAtomとかもろもろ。
別にWeb屋さんになるわけではないからな、と読み飛ばし。
きっと必要になったときに覚えるのが早い。

第5章 Webサービスの設計

別にWebに限らずに設計として考えるべきことの概略がまとまっててとてもとても良い。
郵便番号から住所を検索するよくあるシステムの例だけど、↓みたいに分離して説明してる。

  • リソースをどうやって管理する?
  • リソースの名前の付け方
  • クライアント向けのAPIの内容
  • リソースの結びつけ
    RESTの考え方自体をこの本で初めて触れたので、もっと勉強して理解を深めたいと感じる。

7月前半KPT

4回め。

前Try

月2リリース目指す。@2005後半

+3
さっき1.6.0リリースしてきた。
円グラフで内訳割合チェックできるようになる。
そろそろカテゴリ順番変える仕様とかもほしいかなぁ。

稼働時間@2005後半

+2-1
まぁゲームだけだけど、何かしら動ける時間は増えてきたかも。

FighTimer利用ユーザー減ってる@2005後半

保留3
増えもせず、減りもせず…。
次回はチュートリアル入れてみるつもり。

エンジニアとしての稼働時間減ってる@2006前半

-2
「減った」と主張してた前回とあんまり変わってないので、減ったままだね。
こういうときのために、期間Aと期間Bの比較モードほしいなぁ。

買ってきた英語文法の本を読み切る@2006後半

+1:完了
読んだよ!!!

8月にもう一度TOEICネット動画挑戦する

保留1
まだだね。

Keep

英語の勉強

前回の本は読み終わった。
関さんの本の高校復習版がなさそうなので、本屋に出向いたときにいい感じの本探してみよう。

books

データ指向アプリケーション読んでる。
DBわかんないけどデータの作りについてはえーって感じで読み進めてる。
月末までには読み終えたいかなぁ。

Atcoder続いてる

反省枠1回は前回の173のEを中途半端に挑んでしまったせいで、答えをちゃんと理解するのに力尽きてしまったから。
解いたのはCまでだったけどね…。
最近、Qiitaで「緑になりました」記事をみて、AtcoderProblemsの存在を知ったので、こっちで過去問を少しずつ解いてる。
こういうひたすらチクチクやってく作業が好き。

challenge

GithubとAlies

いい加減Gitコマンド長文打つの面倒で少しできるようになった。

games

趣味枠

dアニメ契約したので作業中とか仕事中とかお風呂とかでダラダラ流してる。
花宮は猛省して。

Problem

エンジニアとしての行き先

何やりたいの…?

テスト書けてない

2週間リリースで、新機能に対して時間かけてはいるけど、入れる予定が終わったら満足しちゃってる(モチベの低下)のと、タスクとして実践できてないのと。
次の次に、TODO減らす回(=テスト書いていく回)を入れてみたので、それでなんとかする。
2週間なんだから、後半がテスト回にしてもいいけど、流石に多すぎそうな感が…。

6月後半KPT

3回め。

前Try

月2リリース目指す。@2005後半

+2
つまりこのKPT書くペースと同じくリリースできるのが目標。
今回は1.5.3リリースした。
といっても、予定してた全部ではなく、ちょうどキリ良かったし、このままだと月末間に合わないなで出した。
まぁ所詮個人開発だし、しかも仕事の合間みたいなもんだし、出せるだけ偉いの考え方でもいいかな。
自分に甘い。

稼働時間@2005後半

+1-1
趣味お風呂になって日に1時間は入ってるせいで、その時間がまるっきり趣味に回ってる。
そんでその分勉強が増えるわけでもないのでよろしくない。
この2週は仕事結構頑張ったと言い張ってもいいけど…。
うーん、まぁ頑張りましょう的な…?

FighTimer利用ユーザー減ってる@2005後半

保留2
確かに減ってはいるんだけど、Admobの収益的にそんなに減ってない。
アプリの性質的に、使ってくれる人は長く使ってくれるし、(本当にありがたい。アプデ頑張ろうね)
合わない人はぱっと抜けてくしって感じなんだろう。
次の次の対応目標としてもチュートリアルとか、初回ユーザに着目したい感じ。

実践ドメイン駆動設計読み切る@2006前半

-1:削除
読めてないですねぇ。
というか、1章分くらい読んだんだけど、翻訳がキツくて読むのが進まない…
心に余裕がないと読めない気がするので、データ指向アプリケーション(今回買ったやつ)読む。

エンジニアとしての稼働時間減ってる@2006前半

-1
普通に稼働時間さえ減ってるよね(笑)
笑えない。

Keep

TOEIC無料検定した

リスニング250-275、リーディング135-155の合計385-430。
400行かない程度の得点ってのは結構ショック…。
この得点帯だとそもそも文法から学び直せってことだったので↓の本買った。
いやこれ本当にわかりやすいし色々目からウロコ。

books

データ指向アプリケーション買った。
買ってみたもののDB系わかんないから失敗だったかな?と思いつつもなんとなくはわかるし日本語なのでこっち優先めで読んでる。

Atcoder続いてる

反省枠も含めて続けてる。
今週分全然解けなかったのが本当に悔しい…。
DPでカエルさん飛ばせるようになったよ。

DDDへの意識

仕事でだけど、リファクタのときにPlantUML使ってクラス図書いて、サービスの範囲を意識してみてる。

challenge

PlantUML書いた

(仕事の話やん)
昔も書いたけど、毎回書くたびにどうやって書くんだっけって右往左往しつつもなんやかんやでまとめる。
新しいサービスのソース出すときもあそこがこうなってってつながりが説明しやすいから助かる。

games

  • 勇者の飯
    あぁまだ続いてる。
    あのあともボスあったんだね?って感じ。
    でも流石に少し飽きてきたくらい。

  • TapTitans2
    2年周期くらいで定期的にハマるクッキークリッカー。
    これにハマったので勇者の飯が落ち着いた。

  • ブリガンダイン ルーナジア戦記
    超待ってた。
    実は1周クリアするまではこのゲームプレイ時間は遊び時間に計上しないとか特別ルール提唱しだした。
    やっぱね、音楽が最高。
    ぶっちゃけ音楽以外期待してなかったんだけど、ゲームシステムも面白いし、大体フルボイスだし。
    これのために1日有給取ったけどまだ1周終わらない。
    えっこれ最低でも6周分するの?人間時間の1年すぐ終わるよ?(嬉しい悲鳴)

Problem

英語の勉強時間取れない

Alpha微妙だわ

もともと週刊誌のAlphaで英語勉強しようと思ったのが、
毎週届くから毎週やらなきゃいけない使命感は出るだろうってのと、
毎週ランダムに英文法とか勉強したかったから。
1週間で読み切るには分量がきついし、英字新聞(ニュース寄り)なのでTOEICとか高得点狙うには向いてない。
TOEICもネットで受けて自分の力量わかったし、まずは基礎固めてその次として読むには良いのかも?
あとは分量も多かったから、定期購読よりはストックが無くなったら本屋に出向いて月刊誌買う方が向いてるかもしれない。
TOEICネット受験が8月まで動画公開してるらしいし、問題ガッツリ読み直したりして、その時もう一度同じ問題に挑戦するのもありかな?

Try

買ってきた英語文法の本を読み切る
8月にもう一度TOEICネット動画挑戦する

稼働時間…

いつもの。
長風呂やめるか、長風呂の中でなんか行動すればいいんだよな。

2週間前のことって意外と覚えてない

”今日”思い出せる、2~3日前の諸々がメインで、2週間前どうだったかなーを覚えてない。
うーん、まぁいいか?いいかなぁ。

ABC172に挑んだ回

ちょっと今回異様に難しくないですか?
B止まりはめちゃくちゃ悔しい。
発想力というか、柔軟さに欠けている。

C - Tsundoku

最初愚直に少ない方を加算してた。
その後問題文見返して、あぁDPか。DP理解できないって逃げた。
そして蓋を開けたらDPじゃない。なにこれ。

解答は解説通り。

D - Sum of Divisors

約数の情報を保存して計算回数減らしたりするかなー。
でも面倒だし、DPの勉強してこよって逃げた。
仮に約数に着目して続けてたとしても、時間的に間に合わないように作られてたらしい。
ある意味逃げてて正解。
そういう部分も計算量からぱっと理解できるようになりたい。

約数うんぬんから目をそらして、普通に計算式としてどうなりそうかに着目すべき?だった問題らしい。
(解説PDF見てもあんま理解できなくて、他の人の答えを見ながら考えて理解した。

例題ケースの[4]の場合、約数の件の詳細は以下のような感じ。
1:1→1個*1
2:1,2→2個*2
3:1,3→2個*3
4,1,2,4→3個*4

1は1,2,3,4…のすべてで登場するし、2は2,4,6…の2の倍数、3は3,6,9…の3の倍数で登場する。
ので、これらの登場回数を配列でカウントして、最後に配列のインデックスで掛け算すれば答えになる。

DP

↓見ながらお勉強中。
蛙は飛ばしたよ。
https://qiita.com/drken/items/dc53c683d6de8aeacf5a

ABC171に挑んだ回

今回で通算10回目。
うち2回は数年前のこと&週1開催だから最近2ヶ月はAtCoderと共にいたことになる。
お前とも長い付き合いになってきたな。

今回はDまで突破。

C - One Quadrillion and One Dalmatians

むしろCの方が細かい計算ミスして時間食った。
テスト書きながらでもやったほうが良いんだろうか…。

26(z)、27(aa)、51(ay)、52(az)、53(ba)近辺の値が怪しかった。
1の位、10の位がaになる計算をとち狂いがち。

D - Replacing

絶対愚直に計算したらTLEだろうなぁ。まぁTLEケースも試そうかなぁと思ったけど面倒で、思いついてた方法を書いたら一発通過。
うれしみをかんじます。

E - Red Scarf

にゃんにゃん。
こうかも!って思ったときに思考ロックしちゃって他の考えに及ばなくなるのはよろしくない。
先にソース見て完全なる間違いを理解した。

A xor Bの結果は、1:奇数回出現 0:偶数回出現 の意味になる。
2進数表示(cout << std::bitset<6>(k) << endl;)しながら考えると、
すべての値をxorしたkは01110
2^4が偶数(0)、2^3が奇数(1)、2^2が奇数(1)、2^1が奇数(1)、2^0が偶数(0)回出現する。
猫②③④をxorした値が10100
①以外の出現回数で、2^4が奇数(1)、2^3が偶数(0)、2^2が奇数(1)、2^1が偶数(0)、2^0が偶数(0)回出現する。

①+②③④で出現回数をkにしたいので、
 偶数(0)と偶数(0)→出現の必要なし(0)
 奇数(1)と奇数(1)→出現の必要なし(0)
 偶数(0)と奇数(1)→出現の必要あり(1)
という変換を噛ませたい。つまりこれ、xorと同じ。
k xor ②③④すれば良し。

上記を踏まえてコメント追加。考えるべきはここだけだった。
これ突破率高かったのに超えられなかったの悔しいなぁ。

ABC170に挑んだ回

今回はD突破ならず!迷走した!

D - Not Divisible

エラトステネスの篩的なことはやってたけど、素直に計算してると時間がかかるそうな。

篩に掛けた済フラグリスト(checked)的なものを用意して、対象の値をひたすら埋めていく方が速いらしい。
数が少ないときは逆に遅いけど、多くなってもそれなりに一定っぽい?

この先早く処理するためには計算しない(フラグを取っておく)みたいな対処も必要そう。
(これに気付けなかったのでエラトステネス自体が間違いかと思って因数分解とか見てた

E - Smart Infants

↑で詰まってたので軽く見たけど面倒そうだったので撤退した。
敗因としてはmultisetとかいう便利なやつを知らなかったので、それ知ってたら存外解けたかも。rbeginで末尾の値も取れるのね。便利。
あとは「1人も園児がいない園は計算対象外」とかを読み忘れてたり、インデックスのズレが怖いなぁとかやってたり。