いろいろ、カレンダーUIをつくってた

最近、カレンダーを作ってみる機会が多かったのでまとめる (見た目だけ)

javascriptCSS でカレンダー

(React + styled-components + CSS Grid)

f:id:whitech0c0late:20181009190352p:plain

LINE Bot でカレンダー

f:id:whitech0c0late:20181009190437p:plain

  • LINE Messaging APIFlex Message を使って表現
  • Ruby で日付の計算するなら ActiveSupport に頼るのがよい

Markdown (esa) で カレンダー

f:id:whitech0c0late:20181009190410p:plain

  • 表示だけだと物足りないかなぁ
  • もうちょっと便利にできそう (リリーススケジュール埋め込むとか?)

REF

medium.com

qiita.com

qiita.com

追記

material-ui でカレンダー (React)

NETFLIXの最強人事戦略 を読んだ

NETFLIXの最強人事戦略 自由と責任の文化を築く

NETFLIXの最強人事戦略 自由と責任の文化を築く

  • 作者:パティ・マッコード
  • 出版社/メーカー: 光文社
  • 発売日: 2018/08/17
  • メディア: 単行本(ソフトカバー)

Kindle でハイライトしながら読んだのだけれど、 ハイライトした箇所が一覧で見れることを初めて知った。

https://read.amazon.co.jp/notebook

f:id:whitech0c0late:20180913215309p:plain

エンジニアは、タオルがふかふかじゃないとか文句言うし、神様のように扱われるのにはうんざりだったっていうところがよかった 🍵

追記

あわせて読みたい

portalshit.net

qiita.com

questpm.hatenablog.com

www.gizmodo.jp

www.ben-evans.com

tkybpp.hatenablog.com

Go の Interface

ダックタイピング

Go言語にはインタフェースがある。 明示的に実装しなくてもインタフェースが定義するメソッドをすべて実装していれば、そのインタフェースを実装していることになる(ダックタイピング)。

Go言語における埋め込みによるインタフェースの部分実装パターン - Qiita

Go

それぞれの言語で返答してくれるボットをお題にやってみる

package main

import "fmt"

type bot interface {
    getGreeting() string
}

type englishBot struct {
    name string
}

type spanishBot struct {
    name string
}

func main() {
    name := "taro"
    bots := map[string]interface{ bot }{
        "eb": englishBot{name: name},
        "sb": spanishBot{name: name},
    }

    for _, bot := range bots {
        printGreeting(bot)
    }
}

func printGreeting(b bot) {
    fmt.Println(b.getGreeting())
}

func (e englishBot) getGreeting() string {
    return "Hi there! " + e.name
}

func (s spanishBot) getGreeting() string {
    return "Hola! " + s.name
}

Ruby

Ruby での例もみてみる

class EnglishBot < Struct.new(:name)
  def greet
    "Hi! #{name}"
  end
end

class SpanishBot < Struct.new(:name)
  def greet
    "Hola! #{name}"
  end
end

def print_greeting(bots)
  bots.each do |bot|
    puts bot.greet
  end
end

name = "taro"
bots = [
  EnglishBot.new(name),
  SpanishBot.new(name),
]

print_greet(bots)

使い方、あってるかな

via GIFMAGAZINE

REF

qiita.com

otiai10.hatenablog.com

Go の Map

Map

型の同じ Hash のみたいなやつ

package main

import "fmt"

func main() {
    colors := map[string]string{
        "red":   "#ff0000",
        "green": "#4bf745",
        "white": "#ffffff",
    }

    colors["yellow"] = "pugera"
    delete(colors, "yellow")

    printMap(colors)
}

func printMap(c map[string]string) {
    for color, hex := range c {
        fmt.Println("Hex code for", color, "is", hex)
    }
}

Struct の比較

Map

  • key がぜんぶ同じ型
  • value がぜんぶ同じ型
  • key がインデックスされてて、回せる
  • 参照渡し
  • (返り値2つある)

Struct

  • key が違う型でもOK
  • value が違う型でもOK
  • 違った型をもったやつの表現に使う
  • 値渡し