週報 2021/4/26(月)〜2021/5/2(日)
📚 1週間ふりかえり
一週間早すぎてびっくりしました。こんにちは。 今週は何をしていた記憶もないです。ER図の課題は合格しました! 多分勉強してたんだと思うので、週報を書きながら思い出したいです〜!
📚 もくじ
📚 目標と成果
目標 | 成果 | 来週の課題 |
---|---|---|
RESTの課題を終わらせる | 課題提出した | 合格 |
『Webを支える技術』を半分読み終える | 1/3読み終えた | 読了したい |
TwitterのER図を作る課題合格する | 合格した! | - |
なんでもいいから個人ブログ早く作る!! | 作れてない | 来週こそ |
📚 学習時間
日付 | 時間 |
---|---|
4/26(月) | 05:30 |
4/27(火) | 05:30 |
4/28(水) | 04:45 |
4/29(木) | 03:30 |
4/30(金) | 03:30 |
5/1(土) | 02:30 |
5/2(日) | 01:00 |
合計 | 26:15 |
📚 週報
📅 4/26(月)
💪 やったこと
- 『Web技術の基本』を読み直しながら、RESTについて学ぶ。
- RESTとはWebの設計思想。下記の4つの原則からなる。
- RESTの思想に基づいて設計されたWebシステムをRESTfulなシステムと呼ぶ。
- 具体的にRESTfulなURLがどういうものなのかはよく分からなかった!明日また考える。
🍕 感想
- 色んな方の日報を読んで、だいたいどんな感じで進めればいいのかの概観を把握することに務めた。
- 参考図書の『Webを支える技術』はとてもいい本だけど、内容はなかなか難しいみたい。しかし時間の投資だと思ってしっかり読むのがオススメされていた。自分はSQLでの反省を踏まえ、しっかりと読むことにした。1ヶ月くらいかかってもいいので、ちゃんと読み通したい。→メンターさんより、『Web技術の基本』を読んでいればそれほど難しくはないとのコメントをいただいた!
- 『Web技術の基本』の中で、ブログが動的ページの例とされていて少し驚いた(著者が更新するまで変わらないと思った)が、確かには てぶの場合でもコメントやスターなどがつくことで、状況に応じてコンテンツが変わっているか。
📅 4/27(火)
💪 やったこと
- RESTfulなURLについて学ぶ。
- URIはリソースを示すから名詞のみで構成させる。
/api/getUsers
ではなく/api/users
がRESTful。
- パス名は、小文字とダッシュ
-
で構成させる。service-api.com/users
やservice-api.com/app-setups
など。
- attribute(属性)は
server_class
のようにアンダースコア_を使う。 - リソースを表すとき、IDだけだとエンドユーザーに分かりづらいので、https://service.com/apps/{app_id_or_name}のようにIDと名前どちらも受け入れるようにできる。
- URIはリソースを示すから名詞のみで構成させる。
- 『Web技術の基本』を読み進める。
- SinatraはRailsと同じくRubyのフレームワークのひとつ。知らなかった〜というかきっと何度も聞いたことあるんだろうけど理解してなかった。
- スマホとかのアプリとWebブラウザの関係、知らなかった。どちらもWebサーバーとやりとりを行うWebクライアントというソフトウェアだけど、アプリはそれぞれに最適化された専用のクライアントプログラムが用意されている。
🍕 感想
- Web技術の基本、点と点が線になる感じで、読んでいてとても面白い!
- 新しく知ることが多すぎるとストレスだけど、うっすら聞いたことのあったあれってこのことだったのか〜!という瞬間がたくさんあると学習は楽しい。
- なので、エンジニアに限らず色んな人の話を(わからなくても)聞いて興味のアンテナを広げるのは大切だな〜と思った。最近雑談タイムの参加していなかったけど、週1回は必ず参加するようにしたい。
📅 4/28(水)
💪 やったこと
- 『Web技術の基本』を読み進める。
- Googleやtwitterアカウントの情報で会員制サイトの登録ができると、ユーザーは個別にアカウント管理しなくてよいから便利だし、運営者側は個別に利用者の個人情報を管理する負担がなくなって便利。
- OAuthの読み方はオーオウス
- ロボットじゃないことを証明するパズルはCAPTCHA
- 歪んだ文字を読むやつを考案したのはDuolingoを作ったルイス・フォン・アン https://www.lifehacker.jp/2014/05/140519duolingo.html
- データベースの物理設計について勘違いしていた。「データが文字列か数値か」とか「数値であれば整数か少数か」とかの検討は論理設計の一部かと思ってた。物理設計は、ハードウェアとかの話かと思ってた。
- ER図を書くところまでが論理設計で、それ以降より具体的な作業が全て物理設計になる。達人の本(p.29)にも、論理設計は、一旦「具体的で実装レベルの条件」を脇に置いて行うと書いてあるので、自分が想像してたものよりずっと抽象度の高い作業みたい。逆にいうと、ER図を作っただけでは本当にラフスケッチ段階だとwakatta😄
🍕 感想
- Web技術の基本読了した〜!分かりやすくてざっくり知るのにとてもいい本だ〜
- UdemyでセールやってたのでJavaScriptの教材を2個買ってみた。評判のいいアルゴリズムの講座がJavaScriptの知識が必要っぽかったのでそのために買った。もっと競プロの難しめの問題を解けるようになりたい!
📅 4/29(木)
💪 やったこと
- 『Webを支える技術』を読み進めつつ、TwitterのURIを設計する課題にちょっと取り組む。使うHTTPメソッドはPOSTとGETだけになりそうだけど、「ツイートに返信」「リツイート」もPOSTでいいかな?
- ダメな例については『Webを支える技術』に載っているけど、理想的な(RESTfulな)URIが何なのかわからないから、手を付けるのがちょっとむずかしい。
- と思ってたけど、ブートキャンプのサイトの設計を見ればいいことに気づいた。
- 階層構造にできるところは階層で表して、難しそうなところはマトリクスURI(p.62)を使って表現できそうかな?
🍕 感想
- 頭痛であまり進まなくて残念。まあ祝日だからいいか…
- HTTPのメソッド、POSTとPUTの使い分け方がよく分からないな。
📅 4/30(金)
💪 やったこと
- 『Webを支える技術』を読み進める
- ブートキャンプのサイトの設計について、とりあえず目についたページのパスを調べてみた。
🍕 感想
- Twitterの課題今日提出したかった〜なんかお腹が痛くてめっちゃ早く寝てしまった。
- やるべきこととできないことが多すぎて落ち込みがちかも。
- あ〜〜〜早く海外旅行したい〜〜〜!!!
📅 5/1(土)
💪 やったこと
- とりあえずTwitterの再設計の課題提出してみた。
- 影響されるから見ないでいた本家のURIと結構違うので自信がなくなってきたが、まあいいや。
- これからは次のSinatraの課題に入りつつ、Webを支える技術を読み進めるつもり。
🍕 感想
- Twitterの再設計の課題、とりあえず一度出してみることにした!よくわからないので一度フィードバックをもらってから考えたい。
- YouTubeの登録者がちょっとずつ増えて嬉しい🥺自分の成長の記録が主目的なので、人気になりたいとか収益化したいという気持ちはないのだけど、見てくれている方がいると思うとモチベーションが上がるので本当に感謝です。
- 最近ベタ書きしてからメソッド化するのに挑戦しているので、メソッドってどう定義するのか気になる人は見てもらうとちょっと役に立つかも…(?)
📅 5/2(日)
💪 やったこと
- Twitterの再設計の再提出した〜。メソッドの理解が曖昧で何でもPOSTを使っていたけど、Qiitaの記事を読み直して、PUTを使うべきでは?と思う箇所が出てきたので修正修正。指摘をいただけると理解が深まってイイネ。
登録だけ/eventIdが無いのは/eventIdが自動採番されるためです。/eventIdが振られたイベント(一つのリソース)に対し異なるメソッドで取得、更新、削除などを行います。RESTではこのようにHTTPメソッドを利用するというインターフェースの統一が図られている為、サービスが利用しやすくなっています。
🍕 感想
- この日の夜はYuka Masuda (@yukamasuda) / Twitterさんの主催されている、海外で働いている・働きたい女性エンジニアDiscordのコミュニティで自己紹介LTをして、他の方の話を聞いた。
- 私は今すぐに海外で(どこでもいいから)ジュニアエンジニアとして働きたいという希望はないので、全部が自分に当てはまる話ではなかったけど、見聞が広がったし自分のやりたいことも認識できたので、色んなコミュニティの話を聞くのは大事だな〜と思った。