Skip to content

Instantly share code, notes, and snippets.

View kentac55's full-sized avatar
😇
My favorite emoji

kentac55

😇
My favorite emoji
View GitHub Profile
function timer() {
return new Promise(resolve => setTimeout(_ => resolve(), 1000))
}
async function* asyncGenerator(c) {
var i = 0;
while (i < c) {
await timer()
yield i++;
}

IDDD3章

コンテキストマップ

DDD: 4部14章 IDDD: 3章

境界付けられたコンテキストって何

すげー抽象化するとドメインモデルのスコープ

@kentac55
kentac55 / IDDD-2.md
Last active December 19, 2019 01:37

IDDD2章

ドメイン・サブドメイン・境界付けられたコンテキスト

ドメインとは

実は1章で定義されてない

ドメインとは、広い意味でいうと、組織が行う事業やそれを取り巻く世界のこと

@kentac55
kentac55 / IDDD-1.md
Last active December 19, 2019 07:47

IDDD1章

☆は所感とメモ

DDDとは

  • 投資対象はソリューション
    • 優先順位
      1. コアドメイン(最も複雑な箇所(☆DDDは複雑なドメインをシンプルにモデリングするために使うため費用対効果が最大化されるということでは))
  1. 重要な支援サブドメイン
@kentac55
kentac55 / PKGBUILD
Created November 4, 2017 15:04
firefox_developper_v56.0b12_ja
_name=firefox
_channel=developer
_srcurl="https://download-installer.cdn.mozilla.net/pub/devedition/releases"
_locale="ja"
pkgname="${_name}-${_channel}-${_locale,,}"
pkgdesc='Standalone web browser from mozilla.org, developer build - Japanese'
url="https://www.mozilla.org/${_locale}/firefox/developer/"
pkgver=56.0b12
pkgrel=1
arch=('x86_64')

syncを使った非同期処理

golang.org/x/sync

sync.RWMutexではなく、sync.Mutexとatomic.Valueの組み合わせなので早い (いちいちロックするよりも

errgroup

sync.WaitGroupみたいにwaitする

楽だが、はじめのエラーだけ取るので、全エラーをとりたいものには向かない

jamesさん

元lightbend→スタバ スタバエンジニア部門を一から構築 第一回scalamatsuriで講演

2ヶ月前にCAnadaで講演

スタバで割と重要なプロジェクト

リワードプログラムのリプレース

@kentac55
kentac55 / gl1.md
Created August 17, 2017 11:46
scala

2017/07/06

麻植さん

VoIPクライアント

  • client
    • Android: Scala
    • iOS: obc, swift
  • Server
    • rails
    • go
import JsonType._
import scala.collection.immutable.ListMap
sealed trait JsonType {
override def toString: String = {
this match {
case x: JsonObj if x.values == Nil => "{}"
case x: JsonObj => s"{${x.values.foldLeft("")((z, n) => z + "\"" + n._1 + "\":" + n._2 + ",").dropRight(1)}}"
case x: JsonArray if x.values == Nil => "[]"
@kentac55
kentac55 / caesar.py
Created June 29, 2017 22:55
ctr_scripts
#!/usr/bin/env python
import sys
args = sys.argv
str = args[1]
res = ""
for i in range(26):
for s in str: