ゆるふわ技術日誌

エンジニア見習いの悪戦苦闘日記

ReduxとかReactとかとか、recomposeが便利とか #69

今日やったこと

コード書く方のバイトでした。

何やったかは触れちゃいけないお約束、ただ今日はちょこちょこと進捗を生むことができてよかった。

7時間真面目にモニターとにらめっこするのにも少しは慣れてきました。

recompose

そんな中で使ってるのがrecomposeというライブラリ。

github.com

教えていただいたのですが、いろいろ面白い感じで良い。

ステートレスなコンポーネントでcomponentWillMountとかを扱うのが主な目的で使っているんですが、そのほかにも諸々便利なAPIがありそう。

ドキュメント読みたい。

lodash

lodash.com

だんだんクセになる。好き。

書籍を買ったり借りたりした

借りた

知識ゼロから学ぶソフトウェアテスト 【改訂版】

知識ゼロから学ぶソフトウェアテスト 【改訂版】

買った

初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発

初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発

やるぞ。

雑談

スプラ2買ったんですけどやる時間全くないのでSwitchホコリ被ってますけど、だれかフレンドコード的なやつ教えてください。

続Androidとの戦い #68

今日やったこと

再びAndroidのListViewと戦っていた

戦ってました。

昨日のRSSリーダーにタップしたら記事がブラウザで開く機能をつけようと試行錯誤。

ListViewのインスタンスsetOnItemClickListenerにリスナーをセットしてあげればいいことまでは理解したのですが、どうやってURLを取ってこようかと試行錯誤。

ちなみにまだわかってないので今日のブログはこんな感じでおわり。

雑談

わからんなぁ

ちょっと、講義で失敗したりとかで割とら辛い一日を送ったのですが、暗い気持ちは置いておいて明日はエンジニアバイトに行ってきます。

Androidと戦った一日でした。 #67

今日やったこと

RSSを取ってきてParseする

講義の課題で製作中のAndroidアプリに関して。

超イケイケアイドルグループことでんぱ組.incの公式サイトのRSSを引っ張ってきてListViewに表示する、みたいなまるでチュートリアルかのようなゴミアプリを制作しています。

でんぱ組の公式サイト(http://dempagumi.dearstage.com/)は実はTumblrでできてて、コレまた知らなかったのですが、TumblrのサイトはサイトURLの末尾に/rssをつけるとRSSが取得できるらしい。(独自ドメインでも同様)

でまぁ、RSSから情報を取ってこようとしたのですが、Androidはメインスレッド上でネット通信をすると、例外が発生してアプリが強制終了してしまうので、非同期的に処理してやる必要があります。(そりゃあそうなんですが、こんなことになろうとは。)

Threadクラスとか使うのかと思いきやAndroidにはAsyncTaskとかいうクラスがあるのでコレを使って非同期でデータ取得を行いParseしてViewに反映みたいなことをしました。

AsyncTaskについては公式がわかりやすいかな

AsyncTask | Android Developers


サクッとParseしたような書き方をしましたが、ここもまぁ面倒(難しい、ではない)でした。

コードはまとめておいておくのでココでは省きますが(書くのが面倒すぎる)、結論を言うとXMLPullParserというAndroid標準のクラスを使ってやるとParse処理できます。

ただし、異様に面倒なので、きっとその辺をうまいことやってくれるライブラリが存在するんだろうなぁと思いました。

AndroidのListViewと戦った。

戦いました。

結果↓

f:id:uutarou:20170720232553p:plain

最初こんな感じだったのが

f:id:uutarou:20170720232602p:plain

こうなった。まぁなんともよくある感じの仕上がり。

なんか、ネイティブアプリ制作の知見がなくて結構手こずった。

雑談

やっと少し気分がマシになってきた。

鬱になったらすぐ回復できるようになりたい。


Splatoon 2 (スプラトゥーン2)

Splatoon 2 (スプラトゥーン2)

欲しくね?(秒で飽きる気がするけど多分買うので、誰か一緒にやりましょう)

Reduxを書きました。書けませんでした。 #66

今日やったこと

Reduxを書いた

バイトです。相変わらず中身には触れられないので雑感を。


やっとデータフローも分かるようになってきてウキウキでした。

実際、午前は進捗バリバリ(自分比)でとても楽しかったです。

それがどうした、午後になった途端(というかタスクが変わった瞬間)何もわからなくなってしまい、パニックに…。

ひたすら悪いことばかり考えて、積み上げてた自信が消える感覚が…。自信って積むのは大変でもカンタンに崩れるなぁなんて思ったり。

とにかくまぁこうならないためにも謙虚に、できるようになったとか思わず勉強することだなと思いました。

将来エンジニアになれるのか僕…という感じ。つらい。

楽しくJSを書いてた午前の自分、帰ってきてほしい。切に願う。

雑談

タダの日記になってますが、お許し下さい。

これでもちゃんと手は動かしてるつもり。

自分に甘く他人に厳しいゴミis僕です。

Android(Java)でXMLをParseする #65

今日やったこと

AndroidXMLをParseする

昨日までJavaScriptを書いていたのに今日は突如としてJavaです。クソな方のJavaです(炎上)

学校の講義の課題でカンタンなAndroidアプリを作っています。

カンタンとは言ったものの開発経験がほぼ皆無なので、右も左もわからず。とりあえずXMLをパースしてフィードリーダー的なものを作ることにしたので、その解析部分を。

端的に言うとAndroidXMLをパースするには

XmlPullParser | Android Developers

これを使うらしい。

サンプルコードも載っているので、なんとか私にも分かりそう。

やってみましょう。

// とコードを書いてましたが、終わらなそうなので今日はこのまま記事公開しちゃお…w

雑談

今日は初研究室に行ってきました。

f:id:uutarou:20170718231451j:plain

強そうな人がたくさんでした。

ReduxでTODOアプリにリベンジした。 #64

今日やったこと

ReduxでTODOアプリにリベンジ

Redux公式やら諸々の解説記事やらでよく見られるのがTodoアプリの作成。

確かに、実行済み⇔未実行とかの状態があったり、諸々Reduxの練習には最適な題材…なんですかね?

昔、Reduxを勉強し始めた当初、挫折したのでリベンジです。

github.com

コードはココに。

Reduxの公式を写経しても面白くないので、ライブラリ使ったりlocalstrageに保存したりする機能も付けていけたらと思って始めたのですが、タイムアップ。フィルターの実装とlocalstrageへの保存は間に合いませんでした。

現時点での動作はこんな感じ。

f:id:uutarou:20170717233033g:plain

見た目は別として概ねいい感じかと。

工夫した点としては、

  • lodashを使ってループさせたりしている
    • _.filterを使ってフィルタ機能を実装するつもりでlodash入れた
  • redux-devtools-extension を使ってみた
  • ドロップダウンリストでフィルターの状態を指定

とかですかね。

lodashについては、なんというかクセの強いライブラリみたいな印象を勝手に持っていてあんまり使いたくなかったのですが、ドキュメント流し読みしてると結構便利そうなのがたくさんあって面白いなぁという印象でした。

雑談

ちょっとおもしろい挙動にも遭遇したりしました。

900近くエラー吐くのに何故動くw

Webデザインやってみたい、という話 #63

今日やったこと

手を動かすことはできなさそうなので、移動時間にスマホでぽちぽち調べたり読んだりしてた。

今日の技術日誌は僕のばやきなので暇で仕方ない場合だけお読みください…。

Webデザインやってみたい。

Bootstrapとかmaterial-uiとか使ってきたわけですが、ほんと簡単にイケてるデザインのサイトが作れて素敵ですよね。

ただ、Bootstrap臭なんて言われたりするように、どうしても似たり寄ったりなデザインになっちゃうんですよね…

それでも、素人が作るよりはマシかなんて思っているし、実際そんな気がしますが、それでもWebデザイン的なことしてみたいなぁなんて思ったり。


毎回、ポートフォリオサイトを作り始めては挫折して頓挫してるので一回本腰入れてゴリゴリ作ってみるかななんて。

ちゃんとワイヤーフレーム組んで要件定義して…みたいなことをしたい。