Skip to content

Instantly share code, notes, and snippets.

View cm-kazup0n's full-sized avatar
💭
I may be slow to respond.

Kazuhiro Sasaki cm-kazup0n

💭
I may be slow to respond.
  • Classmethod, Inc.
  • Sapporo, Hokkaido, Japan
  • 02:42 (UTC -12:00)
  • X @kazup0n
View GitHub Profile
// 設定
// SlackのBot Tokenをセット
// see https://note.com/crefil/n/n2b68b3c4aa6b
const slackBotToken = PropertiesService.getScriptProperties().getProperty("SLACK_BOT_TOKEN");
// SlackチャンネルIDまたはチャンネル名
const channel = '';
const slackUserIds = {
'名前': 'ID'
}
//> using dep com.lihaoyi::pprint:0.8.1
//> using dep io.circe::circe-core::0.14.6
//> using dep io.circe::circe-generic::0.14.6
import io.circe._
import io.circe.generic.semiauto._
import io.circe.Json._
import pprint._
final case class Cat(name: String)
object Cat:
from flask import Flask, jsonify
import boto3
import json
import requests
import os
import random
import time
# Add imports for OTel components into the application
from opentelemetry import metrics
from flask import Flask, jsonify
from flask.logging import default_handler
import logging
import logging.handlers
import requests
from requests.exceptions import Timeout
import time
import random
import os
import json
//> using dep org.typelevel::cats-effect:2.5.5
//> using dep com.lihaoyi::pprint:0.8.1
import cats.effect._
import cats.Monad
import cats.implicits._
def findParitialQuote[F[_]: Sync]: F[String] =
Sync[F]
.delay(pprint.pprintln("All I kept thinking about, over and over, was..."))
.as("You can't live forever")
//> using dep org.typelevel::cats-core:2.9.0
//> using dep com.lihaoyi::pprint:0.8.1
//> using dep dev.optics::monocle-core:3.2.0
//> using dep dev.optics::monocle-macro:3.2.0
import cats.implicits.*
import cats.data.EitherT
import cats.{Monad, Functor, Id}
import monocle.Lens
import monocle.macros.GenLens
@cm-kazup0n
cm-kazup0n / ParingHeap.hs
Created March 24, 2023 08:50
以下は、HaskellでParing Heapを実装した例です。この実装では、要素の型を a として、最小値を表すために Ord a を使っています。
data PHeap a = Empty | Node a [PHeap a]
mergePairs :: Ord a => [PHeap a] -> PHeap a
mergePairs [] = Empty
mergePairs [h] = h
mergePairs (h1:h2:hs) = merge (merge h1 h2) (mergePairs hs)
merge :: Ord a => PHeap a -> PHeap a -> PHeap a
merge h Empty = h
merge Empty h = h
import java.security.MessageDigest
import java.text.SimpleDateFormat
import java.util.{Date, TimeZone}
object AwsV4Signer {
def sign(accessKey: String, secretKey: String, method: String, url: String, payload: String): Map[String, String] = {
val timestamp = getFormattedTimestamp()
val credentialsScope = getCredentialsScope(timestamp)
val canonicalRequest = getCanonicalRequest(method, url, payload, credentialsScope)
val hashedCanonicalRequest = hash(canonicalRequest)
@cm-kazup0n
cm-kazup0n / etc_motd
Last active February 1, 2023 08:26
new ascii logo of classmethod
****
require "fluent/plugin/out_datadog"
require "ougai"
require "json"
DD_API_KEY = "XXXXXXXXXXXXXXXXXXXXXXXXXX"
DD_DEFAULT_HTTP_ENDPOINT = "http-intake.logs.datadoghq.com"
COMPRESSION_LEVEL = 6
class DDBenchClient
attr_reader :logger, :dd, :client