インターン
ブログ

TORICOインターン生のブログです。会社で起きたことについて情報発信していきます。

インターン最終日

こんにちは。23日目を終えた清瀬です。

今日は主にクッキーに関わるタスクをさせて頂きました。

コードを書き直すということで、他の部分に影響が出ないかを慎重に確認することに

想像以上に時間がかかりました。でもこれをしないと思わぬエラーを招いてしまうので、

大事なステップだったかなと思います。

そして、タイトルの通り今日がインターン最終日です。

来週の月曜はおやすみをいただいているため、

次は4月1日、新社会人として出社します。

新社会人として、今まで以上に頑張っていきたいと思います。

インターン18日目

こんばんは、インターン18日目の鈴木海人です。



今日は不意に自転車で通える距離だし、家に帰って昼ご飯食べられるんじゃないかと思い
昼休みに家に帰って、家で昼ごはんを食べました。
ただただ疲れて、ゆっくりできず、あまりご飯も食べられませんでした。
多分もう二度としません笑




本日は昨日残っていたバグを解決し、やっとビンゴゲームを終わらせることができました。。。
だいぶ時間をかけてしまいましたが知識はついたと思うので前向きに行きます

今現在はbootstrapを使用してサイト模写を行っています。
これまでcssを使用して何かを作るときはwidth,heightを多用していましたが、
サイズを変えても問題ないようにweight,heightは使用せずにpadding,marginを使用しながら進めています。
bootstrapには初期設定でがcontainerやメディアクエリが初期装備されており便利だなあと感じました笑


慣れない作り方ですが、これから作業を行うときはこのやり方が主流になってくると思うので
今回の模写でマスターできるよう頑張ります。

インターン17日目

インターン17日目、久しぶりにインターンに参加した鈴木海人です。



2週間ほどお休みをもらい、実家に帰省していました。
もう当分、実家に長期間帰省するのは無理だろうなと思ったので思う存分実家を堪能してきました。
来週からは社会人になり、完全に独り立ちしないといけないと考えると
胃がきりきりしてきます。。。
切り替えて頑張ります。



本日は、前回から進めていたビンゴゲームのコードを思い出しながら
最後の仕上げの部分を行いました。
久しぶりにコードをいじったのですが思ったよりすぐに思い出せたのでよかったです。
それぞれのカードのリーチ、ビンゴ状況をクライアントからサーバーに集めて
その情報をまたクライアントに送り表示する。
socket.emitで情報を送り、socket.onで情報を受け取る
サーバークライアントの流れがやっと掴めてきたような気がします。

また、本日はずっと続いていた入退室のバグを解決することができました。
promptを使ってずっと名前入力を行っていたのですがうまく名前が受け取れない時があり
原因が謎だったため先輩に助けてもらいました。
その結果、inputを使用し、違う方法で名前の入力に変更しました。
promptに変にこだわりすぎていましたが、よくよく考えてみれば別に違うやり方でもいいじゃないか。。
頭が硬すぎました。
あと一つのバグを直したら完成するので、明日の午前中までに終わらせます。


21日目

こんにちは、21日目を終えました清瀬です。

1週間おやすみを頂いていたため、久しぶりの出社となりました。

本日はSQLのタスクをいくつかと、その後にDjangoと睨めっこをしていました。

Djangoは多くの機能を備えてくれているため、簡単に機能を実装できます。

そのおかげで自分のような素人でもウェブアプリケーションが作れるようになっているのですが、

今回はそれが落とし穴でした。

自分のような素人にとってはDjangoは雲の上の存在であり、まさかバグなどあるはずもないと思っていました。

そのため、どうやって解決しようかと必死に調べたのですが、なかなか上手な方法を発見することができませんでした。

ついにギブアップして相談してみたところ、Django側に問題があるかもしれないということでした。

簡単にできる解決方法も提案して頂きましたが、「Djangoを書き換えてみたら?」という

素人には天地がひっくり返っても思いつかない提案をしていただいたため、

木曜日に挑戦してみたいと思います。

インターン20日目

こんにちは。20日目を終えた清瀬です。

本日は、先週の金曜日にレビューをしていただいたコードの直しをメインにしていました。

最近、様々なタスクをさせていただく中で可読性の大切さを痛感しています。

どんなデータが、どんな型で入っているのか

どこから何を取得して、何を返してくれるメソッドなのか

この行で何をやりたいのか・どうしてこのタイミングでかくのか

個人で勉強してきたためあまり意識したことはありませんでしたが、

他の方のコードを読むとその大切さが痛いほどわかります。

今後、自分のコードが誰かに読まれることを意識していきたいと思います。

19日目

こんにちは。19日目を終えた清瀬です。

今日は昨日完成させたAPI部分のテストと、受け取ったデータを表示する部分を作成しました。

テストはFactory-BoyとDjangoのTestCaseを使用しました。

独学で勉強した頃は「テストなんて後回しでいいや。きちんと動いているし」

と軽視していました。しかし自分が作成したものが実際にお客様に使われると思うと、

そんな安易なことを言ってられません。予期せぬエラーが起こらないように、

しっかりとテストを作成していきたいと思います。

表示部分に関しては、結構苦手意識があります。

というのも、HTML&CSSは一切参考書などは使ってきませんでした。

そのため、想像通りの表示にならなかった時はGoogle先生にお聞きして、

とりあえずの場当たり的な対処ばかりをしてきました。

だから、フロント部分はあまり理解が進んでいません。

苦手意識も強いため、しっかりと勉強していきたいと思います。

インターン16〜18日目

インターン18日目を終えました、清瀬です。

16日目からの3日間、DjangoのSerializer をつくっていたので学んだことを軽くまとめようと思います。

DjangoにはSQLを書かなくてもすむように、ObjectManagerというものが用意されています。

そのため簡単な処理はSQLを書くことなくDBをいじれるのですが、単純な処理に限られてしまいます。

そこで直接SQLを実行できるように、いくつかのメソッドが用意されています。

その一つがextra関数です。

extra(select=None, where=None, params=None, tables=None, order_by=None, select_params=None)

個人的にはまったのが、whereです。

tablesで別のテーブルを参照できるようになるのですが、

whereの引数に

1. 二つのテーブルを関連させる条件を書く( SQLでのON句のようなもの)

2. 絞り込みのためにつかつ(SQLでのWHERE句)

この二つのどちらになるのかが分からずに物凄い時間を費やしたのですが、

結論はなんと両方OKなんだそうです。

個人的には、どうして両方OKなのかがいまいちピンときていません。

もしかしたらSQLの理解不足かもしれないので、時間があるときに調べてみたいなと思います。

インターン16日目

こんばんは、インターン16日目を終えた鈴木海人です。



今日は朝晴れていましたが、天気予報で午後から雨だったので傘を持ってきました。
予報通り雨が降ってきたのでよかったです笑
今日は金曜日で明日はお休みなのでゆっくり歩いて帰ります。



本日は、昨日行っていたLPの修正を完成させました。
コードの修正などは比較的簡単でよかったのですが、それ以外のファイル検索、gitの使い方やcssの使い回しなど
覚えることは多そうでした。。。
入社したらこのあたりを触ることもあると思うので勉強しておきます。


行き詰まっていたビンゴゲームの方は、今日は比較的進みました。
ゲームスタートあたりで止まっていましたが、そこを突破するとカードの作成・配布、ボール排出とビンゴカードの穴あけ
まで進めることができました。まあ前回作ったjsの記述をほぼそのまま使用したのですが。。。
ただ、今まではそもそもどこに書けばいいのかどのように書けば値を渡せるのかもわかっていなかったので
そう考えると成長したものですね笑
現在は誰がリーチ・ビンゴなのかを全員に知らせるところで止まっています。
今日中に完成させたかったですがまあしょうがないので次回終わらせたいです。

インターン15日目

こんばんは、インターン15日目を終えた鈴木海人です。



ここ数日寒い日が続いていましたが、今日は比較的暖かくていい気持ちです。
ただ花粉の影響もここ最近大きく受けるようになってきました。。。
この季節もうどうしようもないのですが、花粉症を治す薬はなぜできないのでしょうか?
コロナのワクチンはあんなにも早くできたのに、何十年も前からある花粉症の薬ができないのは
医療の闇でしょうか?毎年必ず一定数の人が病院に来て薬を購入してくれますからね。。。



本日は昨日pcの環境設定を終えたので、MANGA.CLUBのキャンペーンのLPの修正を行いました。
前回行ったキャンペーンサイトのimg、文章や文章の変更修正担当しました。
比較的簡単な内容だったので無事出来そうでほっとしました。
文章の部分がまだ終わっていないので明日には完成させます。
ただ、作業内容は簡単だったのですが初めてMANGA.CLUBのコードを見て
コードの量、ファイルの量に驚きました。。。
今開いているページはどこのファイルを修正すればいいのかわからない。。。
変にcssを弄ると関係ない部分までもが変わってしまう。。。
コードを書く技術はもちろんですが、それ以外の能力も必要そうです。



話は変わりますが、並行して進めているビンゴゲーム。。。
これがなかなか進まない。。。
少しずつでもいいので前に進めるよう頑張ります。。。



明日は華金、今週も最後まで頑張ります!

13 ~ 15日目

こんにちは。投稿をすっかり忘れてしまっていた清瀬です。

今回は投稿を忘れていたということで、13日目から15日目にしたことを振り返りたいと思います。

13日目

この日は、管理者用サイトで表示が遅くなっているページがあるということで、その対応をしました。

PHPどころかZend Frameworkにも慣れていなかったため、どこを確認すればいいのかすらもわからない状況からのスタートでした。

 Zend で個人的に驚いた点は、Djangoでいうurlsファイルがないということです。Djangoではurlを設定したうえで、

ロジック部分と結びつけるURLファイルというものがあるのですが、Zendにはそれがありません。

まだまだ経験の浅い初学者の自分は、

「え、じゃあどこを確認すればいいの?」

とアホヅラぶら下げて頭がフリーズしてしまいました。実際、一度ルールを知ってしまえば難しいことなんてないのですが、Djangoしか触ったことのなかった自分にはその点が驚きでした。

問題だったページは、SQLの処理に時間がかかっていたことが原因でした。しかしSQLも大変にシンプルで、これ以上の工夫のしようがありませんでした。

困り果ててまたもやアホヅラを晒していた私に、

「JavaScriptで処理に時間がかかっている部分を後から挿入すれば?」

というありがたいアドバイスをいただけたため、JQueryのload関数を使うことで無事に解決できました。

この日はこれだけで終わってしまいました。

14日目

そして、前回と今回はオブジェクトの一括変更の機能を担当させていただきました。

ECサイト内には、販売を促進するための画像をヘッダー部分に表示します。そのヘッダーは定期的に変更されるのですが、

今回は複数のヘッダーのステータスを一度に変更できる機能を、PHPとJavaScriptで作成しました。

とてもやりがいのあるタスクだったため、達成感をこれでもかと靡かせながら家路につきました。

電車で意気揚々と帰っていると、Slackに通知が。OKの連絡だと思い通知を確認すると

SQLインジェクションの恐れがあるため修正が必要

あんなにセキュリティーを担当させていただいたのに、すっかりと忘れていた自分に辟易としました。

ということで、今日はその修正をしていました。

インターン14日目

こんばんは、インターン14日目を終えた鈴木海人です。



ここ最近風が強くて、夜寝づらいし、朝もすごい寒いので憂鬱です。。。
昨日うちのシャッターが風の影響を受けてガンガン音を立てて気になってなかなか寝られませんでした。
インターンが始まってからは12時すぎには寝るようになったのですが、昨日は結局3時ごろまで寝られませんでした。
しっかり睡眠を取らないと仕事に影響がでそうなので今日は寝られるといいな笑



本日は、pcの環境構築を行っていました。
昨日詰まってたMySQL-clientの導入部分で今日もだいぶ詰まりました。。。
先輩に助けていただきなんとか突破しましたが、
その後もDocker、SSH、redisやfabricなどなんとなく聞いたことのある単語や初めて聞いた単語が出てきました。。。
こちらも先輩の力をお借りしながら突破できたのですが、
何をしているのか全然わからないところが多くあったので一つ一つどんな意味なのか、どんな働きをするのか勉強しなければと実感しました。
明日からはやっと作業に取り掛かれそうなので、
指示された通りのページが作れるよう頑張ります。

インターン13日目

こんばんわ、インターン13日目の鈴木海人です。



インターンが始まって初めて通勤時に雨が降っていました。。。
自転車通勤で朝の電車が嫌いな僕にとっては最悪です。。。
朝、電車で行くか歩いて行くか迷ったあげく今日は歩いてきました。
まあ歩けない距離ではないのでいいのですがさすがに疲れました。
梅雨の時期になったら雨増えるんだろうな。。。



本日は、先日に引き続きsocket.ioを使用してのビンゴ作成とPCの環境作成をしました。
ビンゴゲームはまだちょこちょこ触ってるだけであまり進んでいません。。。難しい。。。
昼過ぎからはPCの環境作成をして、割とスムーズに進んでいたのですが
MYSQL-clientのインストールの最後の方で謎のエラーに見舞われ、時間を迎えました。
調べてそれっぽい記事を見つけて試してもうまくいかない。。。
この感覚にだんだん慣れてきました笑


明日の朝のフレッシュな頭ですぐ解決できるよう今日はしっかり寝ます。
また、LPの修正も任されたのでしっかり指示通りの修正ができるようこちらも頑張ります

それではまた明日。



インターン12日目

こんばんは、インターン12日目、2月のインターンを終えた鈴木海人です。


2月3日からインターンを初めて12日間、毎日8時間パソコンに向かって
調べて、コードを書いて、エラーが出て、調べて、コードを書いてエラーがでて
ひたすら繰り返していました。ほとんどが初めてやることばかりで
正直だいぶ疲れました。
ただ、悩み抜いた末にエラーが解除された時の快感は今までの日ではありません笑
とりあえず一ヶ月お疲れと自分に言いたいです。



本日は先日に引き続き、socket.ioを使用してのビンゴゲーム作成をやりました。
めちゃくちゃ詰まっております。
昨日詰まっていたcssが反映されない問題は、どうやらサーバの記述不足だったようで解決しました。
その後は、ユーザーのログイン周りを触っていたのですがこれに大きく詰まりました。。。
そんなに難しい記述ではないのですが、サーバーとクライアントの関係や記述法の理解が
曖昧でなぜ動かないのかずっと悩んでいました。。。
現在は管理者ログインで止まっています。
序盤でだいぶ詰まってしまったのは残念でしたがまあ基礎的なところの理解が深まった気がするので
まあよしとします。。。


来週も引き続き頑張ります。

インターン11日目

こんばんは、インターン11日目を終えた鈴木海人です。


最近またなんか寒くなってきたような気がします。。。
僕がインターンを始めてからまだ一度も雨が降っていないのですが
もしこれから降った場合、自転車通勤の僕は正直だいぶめんどくさいです。
自転車で来るより時間がかかるので早起きしなくてはならないので
雨が降らないことを願っています。。。
早く暖かい春が来て欲しいです。



本日は前回に引き続きsocket.ioについて勉強していました。
今までやった課題の中で一番苦戦しています。
今までサーバーやクライアントなど意識したことなどなかったので
なんとなくはわかるのですが説明しろと言われると言葉が出ません。。。


はじめは、途中まで作ってあるビンゴゲームの改良をそのまま行おうとしたのですが
正直どこをどう動かしたらいいのかわからなかったので一旦断念。
今はとりあえずsocket.ioを使用した簡易チャットアプリを作成し
どこをどうすればどのように動くのか実験しながらビンゴゲームに手を加えている状況です。

現在は今まで読み込まれていたcssがsocket.ioを導入したら読み込まれなくるエラーで
止まっています。HTMLにスクリプトとしてそのままcssを書けば読み込まれるっぽいのですが
なぜかファイルを分けると読みこまれなくなります。
まあファイルの読み込みの仕方が違うだけなんだろうけど、どこが違うのかわかりません。。。


明日は、このエラーの解決はもちろんなのですが、socket.ioについての
理解も深められるよう頑張ります。

インターン12日目

こんにちは。12日目を終えた清瀬です。

今日もSQLやデータベースに関する部分をやっていました。

SQLを書いていて悩むのは、文はどの順番んで処理をされているんだろう?ということです。

例えば

SELECT t1.name, t2.name
FROM TABLE1 AS t1
INNER JOIN TABLE2 AS t2.

こんな一般的なSQLがあります。

なぜ1文目の t2 は3文目に宣言されるよりも前に使うことができるのでしょうか?

知っている方にとっては当たり前のことかもしれませんが、今日は実行順序についてまとめたいと思います。

調べてわかったのですが、実はSQLの記載する順番と実行される順番は違うんだそうです!!

実行される順番は、

FROM -> JOIN -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY -> LIMIT

つまり、SELECT は JOIN や FROM の後に実行されるため、AS で宣言した変数名が使えるんですね。

じゃあなんで記載順序と実行順序を一緒にしなかったのでしょうか。

調べてみたら、どうやら英語の文法に従っているらしいです。

特に今回の業務で驚いたのが、書き換えるコマンド (SET)の後ろに条件( WHERE) を書くということです。

個人的には頭が混乱する語順なんですが、英語話者にとってはわかりやすいんですかね。

あしたもSQLに関する業務がありそうなので、頑張りたいと思います。

インターン10日目

こんばんは、インターン10日目を終えた鈴木海人です。


火曜日が天皇誕生日だったため、月曜休みの僕は
土日月火の4連休でした。先週、火水木金と4連勤だったのですが
この4連勤と4連休が同じ4日とは思えないくらい過ぎていくスピードが違いました。。。
休みの日は何もしないとほんと一瞬でもったいない気持ちになりました。
休日でも予定を立てて過ごしたいと思います。。。


本日は、今までやってきていたexpress.jsのビンゴゲームをとりあえず当初の目標
まで完成させることができました。なかなか時間がかかりましたが、とりあえず
完成してよかったです。ほとんどの時間jsのコードを記述して悩んでをしていたので
だいぶjsの理解が深まりました。
また、ビンゴゲームでは配列やfor文if文を多用したのでここらへんの知識もついたと思います。


現在は、websocketを使用して今回作ったビンゴゲームを複数対戦できるように
改良中です。websocketの概要などを学んでいるのですが
理解できずに苦戦中です。


明日は、少しでも理解してコードを書き始めたいです。



インターン11日目

インターン11日目を終えた清瀬です。

今日はいつもよりもたくさんのタスクをさせた頂ました。

インフラのことからアプリにかかわるタスクまで、様々な1日でした。

特に自分はインフラ関係はちんぷんかんぷんなので、たくさん教えて頂きながらこなしていきました。

インターンの無い日は自分でもAWSを触ってみているのですが、以前は全く分からなかった部分が、

少しずつでもわかるようになってくるのがとても楽しいです!!

独学でやっていた時はデプロイができなくて散々だった経験があるので、この機会にインフラについても

精通したいなと思います。

インターン9日目

こんばんは、インターン9日目を終えた鈴木海人です。


インターンが始まってから、昼ごはんは外食にしているのですが
4月に入社したときに、毎日外食していたら家計に大ダメージなのは目に見えてるため
そのうち弁当を作らないとな〜と考えています。
大学時代も一度弁当を作ろうと弁当箱を買ったのですが、結局1度しか使用せず
捨てたので、正直できるか不安です。



本日はexpress.jsのビンゴゲームの続きとpythonで作ったビンゴゲームのチェックを先輩方にしてもらいました。
現在express.jsのビンゴゲームはリーチ判定でとまってしまっています。。。
二次元配列を使ってリーチ判定を行うのですが二次元配列の扱いかたをいまいち理解しておらず
詰まっている状況です。調べる力や、調べたことを応用する力がまだまだなのでとにかく調べまくって
その力を伸ばしていきたいです。


pythonのビンゴのチェックでは動きとコードをチェックしてもらいました。
インデントの数や改良したい場合、簡単に変更できるようなコードを意識するのが重要だと教わりました。ビンゴゲームを作って動かすのに誠意一杯で全くそこまで考えていませんでした。見やすく、扱いやすいコードをかけるように心がけます。。。


今週はインターン4連勤だったため正直だいぶ疲れました。。。
しっかり休みをとって来週も頑張ります。。。


ついにインターンも2桁日目

こんにちは。10日目を迎えた清瀬です。

今日は午前中はAWSを、午後はSQLをメインに触りました。

先週の段階でAWSはある程度調べていたので さぁやってやるぞ と意気込んでいたのですが、

いざいろいろと導入してみると、予想外の出来事がたくさん……

現場では予想外のことが次々と起きるんだなと痛感しました。

SQLは簡単なクエリを作成しました。

「簡単な」とか偉そうに言いましたが、経験のない自分は調べながらなんとか、という感じでした。

しかもコードがやたら冗長で読みづらい。

また、「これを求められたということは、こういう情報もあったほうがいいんじゃない?」

というアドバイスもいただきました。

自分は求められたことに応えるのに必死だったので、もっと考えながら仕事をできればいいなと思います。

インターン8日目

こんばんは、インターン8日目を終えた鈴木海人です。


最近朝やたら寒いので、分厚い手袋をはめて通勤しています。
大学時代、特に3、4年生の時は今日は一段と冷えるとニュースで見た日は
ほとんど家で引きこもる生活をしていたため、
この寒さは結構辛いです。。。


本日も機能に引き続きexpress.jsを使用してビンゴゲームを作成していました。
昨日詰まっていたビンゴゲームの作成は、なぜか閃いて10分で終わりました。。。
昨日あんなに悩んだのはなんだったのか


その後は、ランダム重複なしの玉の排出・排出された数字とカードの数字が一致しているか照合・数字とカードの番号が一致していれば、その部分をあかくしたり、ビンゴ判定などのコードを書きました。jsのfor文やif文など基礎的な書き方などはだいぶ分かってきた気がします!ただ、複雑なコードは理解するのに時間がかかったり、理解しきれずコピペでとりあえず使ってみたりすることが多いので、しっかり解読できるように勉強します。


ビンゴ判定のところで詰まってしまい今日は終わってしまったので、明日はそこを突破し、
明日中にこのビンゴカードを終わらしたいです。