Caffè Latte

日々を徒然に

スポンサーリンク

# non-persistent HTTP と persitent HTTPについて

non-persistent HTTP と persitent HTTPについて

日本語訳がよくわからなかったので調べたことをメモ

persitent HTTP

HTTPの持続的接続

持続的なHTTPのこと

一つのTCPコネクションで、複数のHTTPリクエストを送る

non-persistent HTTP

non-persistent HTTPは多分翻訳がない

HTTPの非持続的接続とでも言っておく

一つのコネクションで、一つのリクエストを投げるようなこと

sls offlineで Cannot read property 'toUpperCase' of undefinedと怒られるときの対処法

sls offlineで Cannot read property 'toUpperCase' of undefinedと怒られるときの対処法

Cannot read property 'toUpperCase' of undefined

というエラーで落ちていた

原因はserverless.ymlの設定ミス

function:
    hogehoge:
        events:
            - http:
                path: hoge
                method: post
                cors: true

methodmethodsになっていた

これを直したら解決したので、同じエラーが出る場合にはserverless.ymlを修正してみると良いかもしれない

Homebrewのキャッシュがそこそこ溜まっていた

Homebrewのキャッシュがそこそこ溜まっていた

発端

https://twitter.com/erukiti/status/1055941446925086720?s=12

どのくらい食っていたか

いうて6GBくらい

brew cleanup --dry-run

==> This operation would free approximately 6.4GB of disk space.

どうしてこうなったか

brew update && brew upgradeだとbrewがキャッシュを削除してくれず、そのまま溜まって行くらしい

どうしたらいいか

brew upgrade --clean-upだけでいいらしい

https://blog.n-z.jp/blog/2017-04-27-homebrew-upgrade-cleanup.html

Gridsomeをサクッと触って見た感じ

Gridsomeをサクッと触って見た感じ

印象

いい感じにまとまったVueの爆速Framework 爆速でポートフォリオ作るなら良さそう

使い方

npm install -g @gridsome/cli
gridsome create my-gridsome-site
cd my-gridsome-site
gridsome develop

をして、ブラウザでlocalhost:8080をひらけば初期画面が見える

Pageの追加方法

/pages/.vueファイルを作成します

こんな感じ

src/pages
├── About.vue
├── Index.vue
└── test.vue

そしてtest.vueに適当に書く

ここはVueJSのコンポーネントと同じかんじ

/.temp/routers.jsに routingを追記する

  ,{
    name: "test",
    path: "/test",
    component: () => import("~/pages/test.vue")
  }

上のようなものを追記します。

やっていることは/testのURLを踏んだら

test.vueを表示するようにといったことを書いている。

するとlocalhost:8080/testに先ほど追加したものが見えるはず。

何が良いか

  • GraphQLレイヤーを使ってデータソースにアクセスしていて、とても早いらしい

  • デフォでいい感じに設定されているので、追記すればよしなにサイトが作れる

https://gridsome.org/docs/

軽く触ったソースコード

github.com

HiLetgo Digispark Kickstarter ATTINY85 Micro USBでgoのエラー処理ボタンつくった

つくったもの

↓ボタン一つでif err を書いてくれるボタン f:id:Nozomi_M:20181015134003g:plain

材料

  • Amazon CAPTCHA

  • ジャンパー線

  • スイッチ

  • ブレッドボード

ソースコード

#include "DigiKeyboard.h"

void setup() {
 pinMode(1,INPUT);
}

void loop() {
 if(digitalRead(1);==HIGH){
   DigiKeyboard.sendKeyStroke(0);
  DigiKeyboard.sendKeyStroke("if err != nil\n{\n}");
  delay(100);
 }
}

回路図

写真をあとではる

なぜつくったか

あたらしいMacを買おうと思ったが、ESCがないのでESCキーを作ろうと思った →ESCじゃ見栄えが悪い →n番煎じネタだがgoのif errボタンにしよう →Done

ESCキーにするには DigiKeyboard.sendKeyStroke(41);にすればいけます

感想

ボードが安いからなのか知らんが、書き込みエラー大量に出るし、接続も微妙 書き込み毎に接続し直さなきゃいけないからストレスだった

諸々

基盤が届いた直後にハンダつけして、友達に手伝ってもらいながらやってたので楽しかったです。 はい

学内の検索エンジンを作ろうとした話

学内の検索エンジンを作ろうとした話

なつめんと一緒に開発しました。

学内の授業ページや、課題のページを探すのがだるかったため、検索エンジンを作ろうとしていました。

作ろうとしていましたというのは、結局完成しなかったというか、学祭に出すために作っていたのですが学祭スタート5分前にクローラーを走らせたら予期せぬところでバグってちゃんと動かなかったからです。

そのバグったリポジトリはこちら

nozo-moto/search_engine

なぜ作ろうと思ったのか

元々は会津大学前期の課外プロジェクトで、tenntennさんが講義を開いていて、そこに参加した時に作ったものでした。その講義ではGo言語で何かを作ろうと言ったのもので、Go言語を教わりつつものを作って発表をしました。その時も結局ちゃんと開発は終わらなかったです。確か前日徹夜して作っていました。

その時のリポジトリはこちら

aizu-go-kapro/web-int-searcher

9月末、僕のインターンが全て終わったその夜に唐突にこのことを思い出して、学祭に出したいと思い作り始めました。学祭は10/6からだったので一週間でいけるだろと思っていました。

どうやって作ったのか

検索エンジン自作入門 ↑の本を参考にしました。

最初は作り方を知らなかったので、検索エンジン自作入門を読んでいました。この本は検索エンジンの検索アルゴリズムについてよく書いてある本で、サンプルコードの通りに実装すれば割といけそうな感じでした。

課外プロジェクトの時は、この本の中で書いてあった通りにインデックス構築機、インデックス管理機(確か)を実装して、クローラを書いたりしていました。 その時の構成はGo, MongoDB, VueJSでした。 インデックス構築機やインデックス管理機を実装する際に、key-valueで値を保っておいきたくNoSQLが最適だ!と思って使用していました。

学祭前の時は、検索周りを自作せず、MySQL5.7.6以上で使えるInnoDB全文検索を使いました。 参考リンク これを知ったのは、VOYAGE GROUPさんのTreasureインターンに参加しているときに、suzukenさんに教えていただきました :bow:

この時の構成は Go, MySQL, VueJSです。

検索アルゴリズムをDBに任せることで、とても実装がスムーズに進んだかなと思います。

クローラーはどう作るのが正解かわからなかったので、完全に雰囲気で書いていて、やばいコードが散見しています。今回バグを産んだのもここでした。

やっていることは、再帰的に学内のリンクを辿って言って、テキストやタイトルを取得してくるみたいなことを書いていました。

作ってみて

ちゃんと設計しなきゃなと思った、クローラがバグを起こしたのは、テストが足りなかったせいだったり、Goの標準機能であるものを知らなかったせいなので、もっと知識、技術をつけたいと思う

難しかったところ

再帰を書いてごにょごにょするのを綺麗に書くのがとても苦手なのでかけるようになりたい

諸々の感想

これからも頑張ります。

都内でインターンに行ってきた話

都内でインターンに行ってきた話

大学の夏休みをまるまる使って色々なインターンに行ってきました

行ったのは

です。

インターンについては、いろんな人が書いてるので、僕は書きません。

色々思うことがあったので、忘れないようにまとめておきます。

なんでインターンに行ったのか

  • インターンに行った先輩方をたくさん見て来たから
  • 強くなりたかった(技術的に)
    • 現場の技術を知れる、実際のプロに教えてもらえる環境にある
  • 漠然と行った方がいいと思っていた
    • 自分の価値を体感できるから、とても良い
  • 出稼ぎをしたかった
    • 新しいPCを買いたかったのでお金が欲しかった

ざっと書くとこんな感じです。

もっと成長するために、会津以外の世界を知りたいなってところが主でした。

どうだったのか

  • 最高の体験でした(よくあるやつ)
  • 知らないことをたくさん知れた
    • 技術的にも、仕事ってこういうことをやるんだ的なことも
  • 課題がたくさん見つかった
    • 他の人が読んだり、何かに強く影響するコードは綺麗に、ちゃんと書かなきゃいけないな的なこととか
    • 人に質問する技術が足りてなかったり
    • 知らない技術(k8s, 分散DB, cd)を身につけないとついていけないなと思った。
  • 自分がこのまま就活とかして、就職するとどうなるのかってのがだいたいわかった

って感じですね。

知らない世界を知れました(そりゃそう)

影響を受けたもの

  • (主にTreasureで一緒のチームだったガッツ氏の影響) VimとMD600で開発しててすごく良さそうに思えたので、Vimをちゃんと使い始めた、キーボードを買った(今度どこかで紹介する)

// TODO

// 忘れたので後で書く

就職について

  • 何も考えたくない(大嘘)
  • 大学院行くかどうかちゃんと考えなきゃなと思った
  • そろそろ募集始まったりして色々あるよね

どこか雇ってください

インターンに行くことを考えてる人に

  • Web系に興味ある人は、多少知識をつけておかないと辛いです
  • Web系はキラキラしてるように見えるけど、自分のやりたいことをやるのが一番いいと思う。
  • Web系の企業を目指している人はインターンに行くといろんな現実が知れて良いです

今後

色々頑張ります。

スポンサーリンク