Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View monzou's full-sized avatar

Takuro Monji monzou

  • Tokyo
View GitHub Profile
@monzou
monzou / boost.js
Last active July 22, 2023 04:43
Add random emojis in Slack
const emojis = [
"clapping_fast",
"clapping_very_fast",
"kami",
"saikou",
"_waiwai",
"tada",
"beer-1",
"sparkle",
"heart",
@monzou
monzou / shortcut-random-bgm.sh
Created May 15, 2022 02:45
Random BGM by shpotify
readonly PLAYLIST_IDS=(
"37i9dQZF1DWZeKCadgRdKQ" # Pop Hits 2022
"37i9dQZEVXcWw7uVUBjiBh" # Discover Weekly
"37i9dQZF1DWZZbpkxU5t9L" # Weekly Buzz Tokyo
"37i9dQZF1DX2sKGHAy2dfC" # Disco Summer
)
PLAYLIST_ID=${PLAYLIST_IDS[$(($RANDOM % ${#PLAYLIST_IDS[*]}))]}
URI="spotify:playlist:$PLAYLIST_ID"
/opt/homebrew/bin/spotify play uri $URI
@monzou
monzou / index.ts
Last active October 13, 2020 10:58
Next.js + TypeScript
import { Context } from 'next'
import Head from 'next/head'
import * as React from 'react'
import { compose, lifecycle, pure, wrapDisplayName } from 'recompose'
function withInitialProps<Props>(provider: (context: Context) => object) {
return (BaseComponent: React.ComponentType<Props>) => {
return class extends React.Component<Props> {
public static displayName = wrapDisplayName(BaseComponent, 'withInitialProps')
public static async getInitialProps(context: Context) {
@monzou
monzou / alfred.applescript
Last active January 29, 2019 14:59
Bear note templates
on alfred_script(q)
tell application "Terminal"
activate
do script q
delay 0.5
quit
end tell
end alfred_script
@monzou
monzou / ClassCollector.kt
Created August 22, 2017 09:10
ClassCollector.kt
object ClassCollector {
private val KINDS = setOf(JavaFileObject.Kind.CLASS)
private val fileManager: JavaFileManager
init {
val compiler = ToolProvider.getSystemJavaCompiler()
fileManager = compiler.getStandardFileManager(DiagnosticCollector<JavaFileObject>(), null, null)
}
@monzou
monzou / LockManager.java
Last active June 13, 2019 07:51
RedisLockManager
package sandbox;
import java.time.Duration;
import java.util.Optional;
import java.util.concurrent.TimeoutException;
/**
* グローバルなロックを司るコンポーネントです。
*/
public interface LockManager {
@monzou
monzou / path.js
Created November 5, 2016 13:10
Fetch API wrapper
const existy = value => value !== null && value !== undefined
export function resolve (host, relative, params) {
const path = `${host}/${relative}`
if (params) {
return `${path}?${toQueryParams(params)}`
}
return path
}
@monzou
monzou / line-symbol.js
Created October 21, 2015 03:18
d3.js line-symbol
const LINE_SYMBOL_FACTORY = (size) => {
let [ w, h ] = [ size / 2, size / 8 ];
return `M ${-w},${-h} L ${w},${-h} ${w},${h} ${-w},${h} Z`;
}
@monzou
monzou / tooltip.js
Last active June 26, 2018 04:44
GuidelineLayer + Tooltip w/ Plottable.js
import d3 from 'd3/d3'
import Plottable from './plottable'
const findDOMNode = (node, tag) => {
tag = tag.toUpperCase()
while (node.parentNode) {
node = node.parentNode
if (node.tagName.toUpperCase().trim() === tag) {
return node
}
@monzou
monzou / Bootstrap.java
Created December 30, 2014 04:28
Embedded Tomcat 7
package bootstrap;
public final class Bootstrap {
public static void main(String[] args) {
new TomcatServer("../project/module").boot(8080);
}
private Bootstrap() {}