Skip to content

Instantly share code, notes, and snippets.

View todokr's full-sized avatar
😻
Focusing

Shunsuke Tadokoro todokr

😻
Focusing
View GitHub Profile

Javaアプリケーションの起動を高速化する技術として、Application CDSGraalVM Native ImageによるAOTコンパイルなどがあります。

CRaC(Coordinated Restore at Checkpoint) は実行中のJavaアプリケーションの状態をスナップショットとして保存し、スナップショットからアプリケーションを復元することで起動を高速化する技術です。

今回はCRaCを用いてSpring Bootアプリケーションのスナップショットを作成し、スナップショットからアプリケーションを起動してみます。

@todokr
todokr / control.ts
Created July 9, 2022 14:16
An util for Railway Oriented Programming
/** An util for Railway Oriented Programming
*
* @example
* import { pipe } from "./pipe.ts";
*
* const DB = {
* write: (_: unknown) => {},
* };
*
* const validate = (input: unknown): Result<number, "NOT_AN_INTEGER"> => {
import java.util.Date
def main(args: Array[String]): Unit = {
implicit val discountPolicy: DiscountPolicy = new ComplexDiscountPolicy
val price = Price(1000)
val quantity = Quantity(25)
println(s"price: $price")
println(s"quantity: $quantity")
val sales = SalesOrder(
@todokr
todokr / RefinedWithNewType.scala
Last active February 25, 2023 18:15
refined + newtype + circe
import Models._
import eu.timepit.refined.api._
import eu.timepit.refined.boolean.{And, Or}
import eu.timepit.refined.collection._
import eu.timepit.refined.numeric._
import eu.timepit.refined.string._
import io.circe._
import io.circe.generic.semiauto._
import io.circe.parser._
import io.estatico.newtype.Coercible
@todokr
todokr / test
Created December 14, 2019 04:41
hoge
import java.time.LocalDate
val today = LocalDate.now
println(s"today is $today")
/** 2つの指定日とその間の日からなるLocalDateのシーケンス(昇順)を返す */
def rangeDays(from: LocalDate, to: LocalDate): Seq[LocalDate] =
Iterator.iterate(from)(_.plusDays(1)).takeWhile(!_.isAfter(to)).toSeq
rangeDays(today, today.plusDays(5)).foreach(println)
(use-package auto-insert-mode)
(auto-insert-mode t)
;; テンプレート置き場
(setq auto-insert-directory "~/.emacs.d/insert/")
;; "~nippo.md"というファイルをテンプレートの挿入対象に設定
(define-auto-insert "_nippo\\.md$" "nippo-template.md")
;; 日報の雛形をいい感じに生成するぞ!
@todokr
todokr / karabiner-thinkpad.json
Last active April 16, 2018 03:09
~/.config/karabiner/assets/complex_modifications/karabiner-thinkpad.json
{
"title": "Thinkpad keyboard",
"rules": [
{
"description": "Button3 => Cmd + Button3",
"manipulators": [
{ "type": "basic",
"from": {
"pointing_button": "button3"
}
[Desktop Entry]
Version=1.0
Type=Application
Name=IntelliJ IDEA
Icon=/usr/local/idea-IU-173.4548.28/bin/idea.png
Exec="/usr/local/idea-IU-173.4548.28/bin/idea.sh" %f
Comment=The Drive to Develop
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-idea
@todokr
todokr / karabiner.json
Created January 5, 2018 05:31
Thinkpad用のKarabiner Elementの設定(emacsベース)
{
"global": {
"check_for_updates_on_startup": true,
"show_in_menu_bar": true,
"show_profile_name_in_menu_bar": false
},
"profiles": [{
"complex_modifications": {
"parameters": {
"basic.to_delayed_action_delay_milliseconds": 500,