いろいろ、カレンダーUIをつくってた
最近、カレンダーを作ってみる機会が多かったのでまとめる (見た目だけ)
javascript と CSS でカレンダー
(React + styled-components + CSS Grid)
- terrierscript さんの例に、祝日を足しました
- 元のソースは、こちら
- CSS Grid の存在をはじめて知る
LINE Bot でカレンダー
- LINE Messaging API の Flex Message を使って表現
- Ruby で日付の計算するなら ActiveSupport に頼るのがよい
Markdown (esa) で カレンダー
- 表示だけだと物足りないかなぁ
- もうちょっと便利にできそう (リリーススケジュール埋め込むとか?)
REF
追記
material-ui でカレンダー (React)
NETFLIXの最強人事戦略 を読んだ
- 作者:パティ・マッコード
- 出版社/メーカー: 光文社
- 発売日: 2018/08/17
- メディア: 単行本(ソフトカバー)
Kindle でハイライトしながら読んだのだけれど、 ハイライトした箇所が一覧で見れることを初めて知った。
https://read.amazon.co.jp/notebook
エンジニアは、タオルがふかふかじゃないとか文句言うし、神様のように扱われるのにはうんざりだったっていうところがよかった 🍵
追記
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)
使い方、あってるかな
REF
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
- 違った型をもったやつの表現に使う
- 値渡し