インターン
ブログ

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

カテゴリーの投稿を見る

インターン9日目

こんにちは。1週間ぶりに出社した清瀬です。

突然ですが、みなさんはこんな画面をみたことはありませんか?


ぱんくずリストの例

検索機能の拡張機能の例

実はこれらには、構造化データというものが関わっていたのです‼︎

ということで、今日は構造化データについてまとめさせていただきます。

構造化データとは、HTMLの情報に意味を関連付けさせることができるデータのことです。

今までの検索エンジンは、HTMLをあくまでも文字列としてしか認識できていませんでした。

例えば、「株式会社TORICO」という文字を検索エンジンが認識したとします。

しかし、検索エンジンは「株式会社TORICO」は何を意味するのかはわかりません。

そこで、「この文字列は会社の名前だよ」と優しく教えてあげるのが構造化データです‼︎

もう一つ重要なものに、schema.org というものがあります。

これは事前に作成された辞書のようなものです。

例えば

「Website」は「ウェブサイト」を表します。
「Website」にはURLという属性があります。

というように、多くのことが決められています。

JSON-LDでは

'@context' = 'https://schema.org/'
'@type'= 'Website'

というように記述して、それが schema.org の辞書にある「Website」であることを検索エンジンに教えてあげます。

インターン7日目

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

まだ疲れますが、だんだんと朝10時前に会社に出勤して、夜の7時ごろに退勤する生活に慣れてきました。
朝も何時に起きればいい感じに準備の時間が取れて余裕を持って出勤できるかもわかってきました。成長です!笑
また、入社したらリモートワークをする時もあるだろうなーと考え、
Amazonでモニターだったり長時間座っても疲れない椅子なんかを調べています。



本日も、昨日に引き続きexpress.jsを使用してビンゴゲームを作成しています。
ゲームスタートからランダムな数字が記入されたビンゴカードを作成するところまで
コードを書いていたのですが、ビンゴカードの真ん中をのぞいたランダムな数字を5×5-1の24個
出すところまでは良かったのですが、
それをカードの1つ1つのマスにどうやってあてはめればいいのかわからずTIME UP


自分の思った通りに動かすにはどのようなコードを書けばいいのか、イメージすらできないことがあるので
もっとコードに触れなければならないと感じました。


pythonのときもここで1番詰まったのでもしかしたらfor文のような繰り返し処理が苦手なのかもしれない。。。
重点的に勉強しようと思います。
明日は解決して先に進めるように頑張ります。それではまた今度。





インターン6日目

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


本日は、ビンゴゲームを引き続き作っていました。
前回はexpress.jsの大まかな概要や土台の作成までやっていたので、
今回は少しずつですがコードを書き始めました。
HTML/CSSを少し記述した後、javascriptに時間をかけて取り組みました。


javascriptは少し触ったことありましたが、ここまでしっかり触れることはなかったので
わからないことが多いですが、少しずつ理解できるようになりました。
ビンゴゲームはpythonでも作成したため、大体の進め方は同じですが、
今回はjavascriptなので記述法はもちろん違い、なんか変な感じです。
pythonのときはビンゴカードの作成はそんなに難しくなかったけど
javascriptになったらいきなり難しくなって困ってます



明日は、ビンゴゲームの続きを作成するのはもちろんですが
pythonで作ったビンゴゲームのコードを先輩方にレビューしてもらえるそうなので
どこの書き方がまずかったのか、どのように書けば綺麗になるのか、
しっかり理解し、今後に活かせるように頑張ります。


(8時間労働はいまだになれません...)





インターン8?日目

こんにちは、前回ブログを書き忘れていた清瀬です。

本日は、AWSのWAFについて勉強させていただいたので、
それをまとめたいと思います。
まずWAFとは、


Web Application Firewall(略称:WAF、ワフ)とは、ウェブアプリケーションの脆弱性を悪用した攻撃からウェブアプリケーションを保護するセキュリティ対策の一つ[1]。WAFを導入するウェブサイト運営者は、検出パターンを設定することで、ウェブサイトとウェブサイト利用者との間の通信の内容を機械的に検査する。WAFを使用することで、以下の効果が期待できる。(Wiikipediaより)


ちょっとよくわかりませんね。
WEBフレームワークは、デファルトでXSSやSQLインジェクションの対策をしてくれているものが多いそうです。

しかし、制作の都合上そのデフォルト機能をOFFにして、そのまま忘れていた・・・。

そんな時に役立つのがWAFです。WAFはWEBアプリケーションにリクエストが到達する前にその中身を精査してくれます。

AWSでは、この機能を実装するためにALBとWeb ACLsという機能が搭載されています。

ALBはリクエストの中身を確認し、IPやURLなど様々な条件を基にして、

そのリクエストを適切なターゲットグループ(サーバー・インスタンスの集まり)に振り分けます。

その過程で、ALBはACLsと連携をします。ACLsはルールの集まりのようなもので(たぶん)、

ここにどんな条件のものを弾いて欲しいかのルールを書くことができます。ACLsにはawsがすでに作成してくれている便利なルールがたくさんあるので、だれでも簡単にWAFを導入することができます。

こんな感じで、今日はAWSのWAFを勉強させて頂きました。こんなにもAWSが多機能だとは、今まで知りませんでした。これから、どんどん自分でもAWSを勉強していきたいと思います。

インターン5日目

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


本日は先日に引き続き、express.jsを使用してビンゴゲームを作る課題に取り組みました。
チュートリアルを読み、express.jsがどんなものなのか、なんとな〜く理解した後に
アプリの作成を始めました。


その後、scssを使うためにgulpという便利な機能があることを知り、
インストールして使用することを決めたのですが
gulpをインストールするのにエラーが頻発し、やっとの思いでインストールしたら
scssのインストールに苦戦し、よくよく調べたら、別にgulpを使わなくてもscssは使えるとのこと...
node-sassというのがあるらしい...


また、業務ではpugを使用していないことからpugからHTMLに変換するのに苦労し、
結局、先輩と話し合ったところ、アプリを1から作った方が早いということで
作り直すことにしました...
scssがpugに反映されなくて色々調べて、できた後だったんだけどな


来週も挫けずに頑張ります笑

インターン4日目

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

今日は、pythonで作成していたビンゴゲームをとりあえず完成させることができました。
二次元配列や2重のfor文などを覚えながら使用することができました。
まだまだ汚いコードなので、修正しなければなりませんが、
とりあえず一つの作品ができたのでよかったです。


現在は、node.jsを使用してまたビンゴゲームを作ろうとしているのですが、
pythonで作ろうとしていた時以上に苦戦しています...
チュートリアルを参考にしながら少しづつ進めています。
まずは、コードを書きながら、どこがどのように動いているのかを少しずつ検証しています。

今回も苦戦しそうですが、早く完成できるように頑張ります。


また、話は変わりますが8時間椅子に座っているのは、
なかなかきついので、定期的に立ち上がるのが重要だと感じました...



初投稿 インターン3日目

こんばんは、インターンブログ初投稿の鈴木海人です。

今日で、内定者インターン始まってから3日目となります。
書類の記入やパソコンの初期設定を終えて、現在は課題をもらい、取り組んでいます。


pythonを使用して、ビンゴゲームを作るという課題なのですが、だいぶ苦戦しています。
ググって試してを繰り返しながら少しずつですが進めています。

入社前にインターンで業務のための課題に取り組めるのは、ラッキーでした。


しかし、コロナ禍で、学校にも行かず、バイトにも行かずに
1年ほどニート生活を続けていた僕にとって
1日8時間労働は,、正直めちゃくちゃきついです。

早くこの生活に慣れるように頑張ります...


インターン6日目

インターン2週目を終えた清瀬です。

今日は、データベースに関するタスクを担当させて頂きました。
SQLのコマンドは1年前にちょろっとだけ勉強したのですが、
なんせ使う機会がなかったもので、完全に忘れてしまっていました。
確か、こんなコマンドあったよな?と調べながらやったため、
想像の6倍時間がかかってしまいました。

個人で勉強していた時、「なんでROLLBACKなんて使うんだ? COMMITしちゃえばいいじゃん」
と頭の悪いことを能天気に考えていたのですが、今日はじめてその機能のありがたみをしれました。
現場のDBには何万ものデータが保存されていて、「これは絶対に間違えられない」とその重さがわかりました。

来週もDBを担当すると思うので、SQLも復習しておきたいと思います。

インターン64.65.66.67.68日目! # Djangoとgit submodules

Django早く覚えないとと焦燥感にかられる保坂です。

Djangoで何かアプリを作ってみようということで買い物リストを作っていますが、

これを通して

Dockerで仮想環境構築

IDE (PyCharm)の設定の仕方

Django CRUDとユーザー認証周り

Git submodulesの使い方

あたりをつかみ始めました。

Dockerfile書いていてlinux系の知識、サーバー周りを勉強しないといけないと意識しますし、

PyCharm設定できると、最初はなんでコード書き始めるのにこんなに訳のわからないプロセスが多いんだと思っていたのが、逆に手放せなくなりますし、

Djangoでベースができると拡張してオリジナル化させていくのが楽しいです。

あとは自分が作っているアプリも分からないところを質問させて頂いておりまして、

とりあえず、動いて良しと思っていたものに関してもっと良い設計をコメントして頂けるので、どれくらいの完成度でちゃんと使い物として成り立つのか

まで知れて良いことばかりで感謝ですね。

次回に続きます。

インターン61.62.63日目! #Django

ブログが遅くまでやっていた時があったのと、巨大な台風が近づいていたことがあり、久々の更新になります。

Djangoに慣れるにおいて、やっぱりアプリを一つ作ってみるのが良いということで、早速取り掛かり始めますが、一番最初に気にするのは環境構築ですね。

今までは既存のプロジェクトをgithubからプルして来て,

Readmeに従えば良かっただけですが、

そこから迷いますね。なんとなく開発を始めるときはこれをとりあえずターミナルで叩けばokみたいなノリでしたが、実際に0から考えてみるとvenvとか半分くらいしか理解してなかったなぁと。

血迷った結果、venvpythonは綺麗に管理できてもdbは管理できないから他の環境を作ろうとdocker環境を作り始めまして、それに没頭してました。

今思えば、dbpythonについているのを使えば良かったのですが。。。

それから僕のターミナルダサいなとfishを導入したり、あとは最初は機能が山盛りすぎて意味不明だったIDEもセットアップを通してかなりdocker接続やinterpretrの設定、フレームワークの設定がわかって来ました。

次回に続く\。

インターン60日目! #python

最近は寒くなって来て間違えてt-シャツで出かけると大変なことになります。

本日はマンガ展のテレビの色設定がおかしくなっていたのでその調整をしていました。

しかし、バージョンによって異なっていたと思われていた色設定ですが、実際にファームウェアをアップデートしてみると同じバージョンのはずですが色設定が異なっています。

なぜかプリセットで用意されたものでしか選べずに、色のカスタマイズができません。。。

これはどうしたものでしょうか。。。

最近バックエンドの方を詰め込んでいますが、今日はデータベース周りとコンフィグ、ロギング、コードスタイルあたりを押さえました。

しかし、かなり覚えることが多いです。記憶しようとはしていませんが笑

あとインフラ周りや、セキュリティ、テストもまだまだありますね。。。

スキルアップ集中月間になりそうです。。

インターン59日目!# IPhoneでデバッグ

本日もDjangoを黙々とやっていたのですが、マンガ展のtwitterウィジェットがiPhone SEだとはみ出る問題が確認され、そちらをやっていました。

ところが、ChromeSafariの検証モードを入れてもエラーを再現できなく、そもそも直せないやん!

と思っていたところ、iphoneの方で検証できる方法があるらしく、そちらの方法を学びました。

iPhone デバック とかでググれば出てくると思います。

ところが次はIpアドレス周りで躓きまして、今度はTCP/IP周りも知らなければなりません。。。

頑張ります。。。

インターン58日目!# Python

Djangoでの実装において今までググりながらやっていたのですが、

局所的に調べるのには限界がきまして、お恥ずかしい話ですが

今日はPythonの学習に充てていました。

あと、今までAppleの純正メモ帳に適当にメモをしていたのですが、

スマホではあまり見ないですし、Qiitaみたいな感じで記録しておけば、かなり見やすいので

マークダウン の書き方を覚えて、ちゃんと技術メモを取るようにしました。。。

さて、今日はクラスについて深掘りしまして、

あとはファイル操作について、With 文からcsvファイルの読み書き、tempfileの取り扱いあたりをさらいました。

ロギング、テスト、データベース、並列化あたりを抑えたら、Djangoの方をやります。

インターン57日目!# Django2

Djangoに大絶賛取り組み中の保坂です。

結構前からDjango,Djangoブログに書いていますが、実はまだ苦手なサーバーサイド。。。

お休みを頂いた時はvueをいじってまして、Djangoは置いてけぼりになっていました。

やはり、まだまだそもそも知識が足りていないなと思い、チュートリを中心にやっていました。

振られているタスクの実装に業務時間を使いたいので土日使って詰め込んできます。。。

インターン56日目!# Django

今日はいくつかの自社サービスのwebストアで買い物をする時に、それぞれ個別に支払い情報を登録しないといけないのですが、せっかくtorico-idというアカウント共通化できそうなシステムがあったので、そこにクレジットカードの情報を事前に登録できるようにしようと思います。

すでにクレジットカード情報の登録機能は既存のサイトで実装してあるのですが、新しくtorico-idに組み込もうとしましてviews.pyあたりの書き方に悩んでいます。

支払いの機能はGMO社の物を使っているらしいのでそれを取り込むのが難しいですね。

最近はpython自体は慣れて来ましたが、djangoはまだまだなのでもっと勉強が必要です。

Django使えるようになって自分でもwebサービス作れるようになりましょう。。。 

インターン55日目!# git submodule

今日はDjango上でクレジットカード情報の登録機能をつけるタスクを始めました。

毎回Pycharm上の環境設定に手こずるのは僕だけですかね。。。

今回はgit submoduleについて深掘りしました。

いつもはgit clone して来て git  submodule update -I を呪文のように書いていたのですが、

Submodule下の変更を加えましたら、それでgit diff で変な表示が出ていたのでそれをきっかけに

教えていただきました。

要点をかくと

最新のサブモジュールを使う時は git submodule foreach git pull origin master

ですがそうすると最新版になって動かなくなる危険があるので、git cloneして来た時のバージョンにsubmoduleを戻したいときは git submodule update ですね

git pushする前に変なsubmoduleの変更までpushしてしまわないようにしましょう。。。

インターン54日目!# コーポレイトサイトを改修しました。

コーポレイトサイトを改修した結果が無事デプロイされたのですが、今思えば、Toricoを就活サイトでちらっと見かけて初めて具体的にみたサイトがこのページでした。

おしゃれなサイトだなーと気になるきっかけに思いっきりなったわけですが、そのページを今度は自分の手で改変させるのはなんだか感慨深いものがあります。

今日は新しいエンジニアが入って来まして、ウェルカムランチということで、トラジという焼肉屋に行って来ました。

彼はFlutterというiOSAndroid用のアプリを一度に作るれるというGoogle製の言語とのことで一度触って見たいですね。

何か新しいものに働いていると出会えるのが面白いです。

また明日に続く。

インターン53日目!# 久しぶりにインターンに戻って来ました。

1ヶ月ほど、大学の夏季授業と旅行でお休みをしておりました。

今までは第二オフィスで働いていたのですが、本館にオフィスが統合されていまして、働く場所が変わりました。

前のビルはいかにもオフィスって感じでしたが、本館はマンガ倉庫がありますので、マンガの会社で働いているという感じがよりします。

さて、今日の業務ですが、コーポレイトサイトの改修をやっておりました。

新規サービスが始まったのでそのコンテンツの追加をしたり、トップ画面の文面の改修をしていました。

トリコのいいところは久々に働きに来てもいつもと同じ感覚で働けることかなと。

場所や組織図やらは色々変わっていたらしいですが笑

それではこれからはガンガン働いていきます。

インターン52日目!# 原因がつかめない時

新しい改修タスクが毎日来ます!それはどんどん使いやすくしていく訳なのでそれはいいのですが、

困るときは改修したことで今まで動いていたものが、動かなくなってしまったときですね。

もしある改修をしていて、他の機能に影響が出そうな場合はコードを自分自身が追っている訳ですから、事前にトラブルを避けようとする訳です。

でもトラブルが起きてしまうということは、自分では気づかないところで影響が出ている訳で、

そこの原因をつかむのに苦労しています。

最初はメソッドを作るのが辛いとか思っていましたが、最近は楽しくなりまして、

フロントエンド覚えること多すぎと思っていた時期は、 普通にお勉強したら抵抗感がなくなって来ました。

次はエラー場所を見つけるのになれることがタスクですね。

こちらは本日のランチです。トラジです。

夏休みということでしばらくお休みをいただきますが、インターンはまた復帰して続けます。

インターン51日目!# どハマり

Vuetify data-tableでソートをかけるとチェックボックスが全部うまるエラーや、unit-testをかけるタスクなどにどハマりしてて、今日は進行具合がイマイチです。

本日はスロットとemitらへんをできるようになりました。

最近は、今までよくわからなかったものの意味がわかるようになってきたのがやり甲斐です。

金色のガッシュベルという漫画がありまして、レベルが上がると魔本の読める部分が増えて、使える技が増えるという設定があるのですが、そんな感じです。

結構よくわからないまま書いてしまうので、理解しつつ進めてかつ、実装スピードもあげていけたら最高です。

続く。