オレオレブログのフロント側はこんなん(全部CacheしてDBを触らないぜ、の巻)

だいたいフロント側の実装はできた。これから管理画面(多分reactで)を実装する。1年以上前にs3(react), dynamo, lambda(c#)の構成でreact書いたけど、完全に忘れてるので時間かかりそう。また「せっかくだからやったことのない技術で!」メソッドだけど、Vue+TypeScriptとか言い出したらいつ完成するかわからないのでなんとなくやったことある技術にします。SPAじゃなくてもいいんだけどね……。

ところで https://www.dobusarai.net/blog-test/ だけど、一度MongoDBから取得したら全て変数に保持しているので、今現在はまったくDBを舐めていないはず。俺が全部舐めたので。

kousei

続きを読む "オレオレブログのフロント側はこんなん(全部CacheしてDBを触らないぜ、の巻)"

オレオレブログテスト

https://www.dobusarai.net/blog-test/

まだページャーとかカテゴリリンクとか全然だけど。モチベーション保てないので少しづつでも上げたりなんだりしていくことに。

pagespeedinsight-score100

google tag manager貼ってないから100点なんだけどね。ぶっちゃけ解析なんてしたことないのだが、前職であのタグ(js読み込み)前提で高速化していたので……。

/*なぜかコードブロックを入れないとindexなどの記事複数表示画面でcssを読み込まない。なんか変えちゃったっぽいけど面倒なのでとりあえず

[go] オレオレblogのRouter’

前回まで

  1. blogのURLどうしようかなこれ
  2. [c#] オレオレblogのRouter
  3. [go] オレオレblogのRouter

というわけでGo版その2。ginが目的を果たせないようなので、次にメジャーなechoを試した。デファクトスタンダードだとしても、個人的に全部入り鈍重FWは大嫌いなので採用しないのだけど、ベンチマーク的にはechoの方が速いらしい。こっちに決まりかな!

echoだけ

package main

import (
    "net/http"

    "github.com/labstack/echo"
)

func main() {
    e := echo.New()
    e.GET("/", func(c echo.Context) error {
        return c.String(http.StatusOK, "index")
    })
    e.GET("/:entry_code", func(c echo.Context) error {
        return c.String(http.StatusOK, "entry"+c.Param("entry_code"))
    })
    e.GET("/page/:num", func(c echo.Context) error {
        return c.String(http.StatusOK, "list"+c.Param("num"))
    })
    e.GET("/category/:category_code", func(c echo.Context) error {
        return c.String(http.StatusOK, "category"+c.Param("category_code"))
    })
    e.GET("/category/:category_code/page/:num", func(c echo.Context) error {
        return c.String(http.StatusOK, "category"+c.Param("category_code")+c.Param("num"))
    })
    e.Logger.Fatal(e.Start(":9009"))
}

あまり書くこともないのだけど、とりあえず目的は達した。"/"と"/:hoge"で挙動が違うところはASP.netともまた違うね。いろんなパス入れてreloadしてて思ったけど、中身は単純に/でsplitしてそうだよね。どのFWも。

ASP.netが超絶楽ちん、かつ個人的にc#より最高(環境とか含めて)な言語は無いと思ってるのだけど、goを勉強したいのでこれにしようかな。まー、趣味であれこれやっても、仕事でやるのと比較すると習熟度が全然違うんだけどね。