Elmに再入門
今日やった事
Elmに(再)入門した。
昔挫折したElmに再入門した。今度は何か作りきるまではやめない方針。
とりあえずElm公式のGuideにある例を噛み砕きながら写経した。
module Main exposing (Model, Msg(..), init, main, update, view) import Browser import Html exposing (Html, button, div, text) import Html.Events exposing (onClick) type alias Model = Int -- initはModel型の値という意味の**型注釈** init : Model init = 0 type Msg = Increment | Decrement -- updateはMsgとModelを引数にとってModelを返す関数 update : Msg -> Model -> Model update msg model = case msg of Increment -> -- Incrementだったらmodelに1を足して返す model + 1 Decrement -> model - 1 view : Model -> Html Msg view model = div [] [ button [ onClick Decrement ] [ text "-" ] , div [] [ text (String.fromInt model) ] , button [ onClick Increment ] [ text "+" ] ] main = Browser.sandbox { init = init , update = update , view = view }
正直Html Msg
とかありとあらゆることがどういうことなのか全然わからない。どこを読んだらわかるのかもわからない。辛い。
研究
ちょっとだけ論文を書き進めた。一回書いたところを後から書き直すの結構辛い。
明日の予定 / やること
- 研究
- Elm
ちょっと研究論文放置気味なので明日は少し気合い入れてやる。
雑談
Elmわかり手になる日が来るのか…?
SIMPLE COUNT DOWNリリースしました
今日やった事
SIMPLE COUNT DOWNリリースしました
ずっと作っていたけどとりあえず大きなタスクは片付いたと判断したので、リリース!
カウントダウンタイマーを作って、共有したりできるミニマルウェブアプリです。
ブログではどんな感じに作っているかとかずっと書いてきたので、その辺はまぁ割愛で。
Nuxt.jsの初歩の初歩を学ぶにはそこそこいい規模感のアプリだったかなという所感。
今回、element uiを使ってはいるもののボタンやら日付を入力するフォームやらの部品で頼っただけでそのほかは自分でCSSを書いてみた。案外ちゃんとCSSと向き合ったことがなかったのでその辺も学びがあって大変よかったと思う。個人的なこだわりとしては、画面幅に合わせて文字サイズが可変になるあたりとか結構いい感じに動いてて嬉しい。
ただその一方で、来年4月からはプロとして働くという立場でこの程度のもの作って満足しているようではいけないな、という反省もありつつ。
開発する手を止めたらそこで死ぬと思っているので、これからも継続的に何か作るなり勉強を続けていきたいと思っています。
研究
ちなみに今日もちゃんと論文書いていました。一応ね。
明日の予定 / やること
- SA
- 論文
雑談
なにか一つのものを作り込むというのが案外性に合っているのかもと今回の一件で思った。次は別の技術を使って何か作りたいがアイデアが…。
何かないかなぁ…。
■
今日やった事
研究
論文書いた。研究室からいろいろと本を持って帰ってきたのでそこそこ捗った。
この調子で明日もやっていく。
個人開発
毎日1コミット以上することを目標にちまちまと個人開発をしています。
ちょろちょろCSSを書いたり、細かい挙動を直したりしていた。そろそろ手を入れるところが少なくなってきたので、Twitterでばらまくなり、なんなりしてみようかなと思った。
(ちなみに、あわよくばAdsenseで儲けてやろうと目論んでいたのですが、コンテンツがなさすぎるという理由で審査に落ちてしまいました。残念。)
最新のスクショを貼っておく。
明日の予定 / やること
- 研究論文
- 個人開発
雑談
今日くらいは早く寝て生活リズムを整えようかな
Firebase Functionsで環境変数が使いたい話
今日やった事
研究
論文を書き書きしてた。今日の進捗は2ページ。
Firebase Functionsで環境変数を使う話
Firebase FunctionsからSlack通知を投げたくて、Webhook URLを環境変数に持たせたかった、という話。
結論から言うと、環境変数は使えないので環境変数に代わる設定をしてやれば良い。
$ firebase functions:config:set slack.webhook="https://xxx"
みたいなコマンドを実行してやるとFirebase側にシークレットを登録できる。ちなみに名前のところは小文字しか使えないかつ.
でネストしないといけない。なんでや。
で、コードを以下のような感じにする。
const functions = require('firebase-functions'); const slack = require('slack-notify')(functions.config().slack.webhook); exports.slackNotification = functions.firestore.document('timers/{timer}').onCreate((snap, ctx) => { slack.send({ channel: '#notify', icon_emoji: 'grinning', text: `hogehoge`, username: 'SIMPLE COUNT DOWN' }); });
ポイントは2行目の部分。
明日の予定 / やること
- 研究論文
- 修正点も出てきたのでガンガン書き進める
雑談
1週間があまりにもはやすぎる。土日もちゃんと集中力を切らさずに作業できるといいが、家だとどうしてもなぁ…。
てか、今日で11月終わりかよ…。
初めてまともにCSSと向き合った気がするよ
今日やった事
Nuxtでいろいろやった
論文を書かないといけないとわかっていながら、やる気が出なかったのでちまちまと自分のアプリケーションを作っていた。
Nuxtと言っておきながら今日はCSSを書いたりしていた。レスポンシブ対応難しい。
使ったテクニックとしては、
これを使って、文字サイズを可変にした。
まずまず耐えられる感じにはなったかなという感じ。
研究(論文)
今日は少しだけ書き進めた。考えながら書き進めて破綻したので、もう少しなにをどんな順序で書くか考えをまとめてから書き始めないとダメだなと思った。当たり前である。
明日の予定 / やること
- iPhoneバッテリー交換
- 研究論文
雑談
こんな記事が出ていましたが、なんとか予約を取ることに成功したので、バッテリーを変えに明日は立川まで行ってきます。(八王子にもあるが予約が取れなかった)
そのあとは学校に戻って普通に論文書く予定。
いよいよ論文を書き始めた。
今日やった事
研究
いよいよ論文を書き始めた。いかに言語化することが難しいか身を以て痛感した。
とりあえず2ページくらい書いた。明日も同じくらいの分量書けると良さそう。
Nuxt
今日はずっと論文書いていたのであんまり進捗ないがとりあえず、GoogleAnalytics入れたりしてみていた。正直Nuxt関係ない。
これがそのDiff。Module入れて設定するだけで使えるし、とても便利。
明日の予定 / やること
- 研究(論文書き)
- SA
雑談
ずっと集中して論文を書いていたら腰がめちゃくちゃ痛い。
姿勢悪いのが多分原因。
研究がいい感じだったのでNuxt.jsをゴリゴリさわった
今日やった事
研究
ボスに進捗を見てもらったりした。
いい感じの反応がもらえたので、ここから先はどんどん論文書き進めていこうと思う。これの進捗によって正月休みの有無が決まるのである…。
Nuxt
研究の合間にちまちま…のつもりが結構がっつり作りこんでしまった。(しょぼアプリだけど)
こんな画面があって、ちょこちょこ入力すると
こんなのが作れる。ちゃんと一意なURLが発行されるので共有したりできる。使い所があるのかは知らん。
もうちょっと作り込んだら、(やるかわからないけど)公開してみようかなぁと思う。
リポジトリはこれ。
Nuxt、昨日の記事では
Contextオブジェクトになにが入ってるのかとか、thisはなに指してるのかとか混乱しつつもちまちまやってます。
資料作成などなど & Nuxt - ゆるふわ技術日誌
みたいなことを言っていたが、慣れてきたら書くスピードが上がってきた気がする。これがNuxtが生産性が高いと言われる感覚なのかな?
明日の予定 / やること
- 研究
- 論文書き始めるぞ
- お勉強会
雑談
今日は進捗もまずまず、なかなかいい感じの1日を過ごせたのではないかなぁと思った。ブログもさっさと書いてしまう。
「研究やってたんで、何もわかりません」って就職後にならないように、1日(最低)1コミットを目標に研究以外の勉強も進めていこうと昨晩決意した。とりあえず今日は目標達成したので、明日以降も頑張る。