Skip to content

Instantly share code, notes, and snippets.

View mike-neck's full-sized avatar
🏠
Working from home

mike_neck mike-neck

🏠
Working from home
View GitHub Profile
@mike-neck
mike-neck / gdp.groovy
Created February 22, 2024 05:35
日本国民の(一人当たりGDPの)偏差値は60を超えるのか確認するスクリプト
@Grab('org.jsoup:jsoup:1.17.2')
import org.jsoup.*
import groovy.transform.*
@ToString
@EqualsAndHashCode
@Sortable(includes = ['gdpPerPerson'], reversed = true)
class Gdp implements Iterable<Long> {
final int country
@mike-neck
mike-neck / test.md
Last active October 19, 2023 02:33

Test

test

2023-10-19T11:22:33

time

import java.nio.charset.StandardCharsets
import java.nio.charset.Charset
def string = 'おっぱい - うほ'
def bytes = string.getBytes(StandardCharsets.UTF_8)
def toString = {byte[] bs, Charset cs -> new String(bs, cs) }
def toBytes = {String s, Charset cs -> s.getBytes(cs) }
@mike-neck
mike-neck / bash-substitution.md
Last active March 18, 2023 00:42
bash わからん

bash の文字列置換

1.置換

  • / 演算子を使う。
  • "${variable/pattern/substitution}" の形で指定する
  • pattern の部分にマッチした一番最初の場所だけが書き換えられる
  • / の後に / が続く場合は、 pattern にマッチする部分が全て書き換えられる。
@mike-neck
mike-neck / dic.json
Created February 8, 2023 05:27
Voicepeak のファイルたち
[
{
"sur": "OutOfMemoryError",
"pron": "アウトオブメモリーエラー",
"pos": "Japanese_Koyuumeishi_ippan",
"priority": 5,
"accentType": 9,
"lang": "ja"
},
{
@mike-neck
mike-neck / virtual-thread.md
Last active July 12, 2022 12:10
ヴァーチャルスレッド

VirtualThread のコードについてメモ

  • JVM がスケジューリングする仮想スレッド VirtualThread が Java 19 にてプレビューリリースされます
  • ここでは、 VirtualThread でどのようにタスクは中断・再開されるのかを焦点にコードを読んだまとめです
  • OpenJDK のタグ jdk-19+25(すでに結構古い)の Java のコード、 C++ のコードを追いかけていきます
  • C++ 読んだことがない(文法もわからない)、 JVM の基本的な構造(frame など)を理解してないのでよくわからない箇所がいくつもあります

@mike-neck
mike-neck / AndroidManifest_xml.groovy
Created August 1, 2011 02:39
XML builder for Android Manifest file.
import groovy.xml.MarkupBuilder
def writer = new StringWriter()
def manifest = new MarkupBuilder(writer)
writer << '<?xml version="1.0" encoding="utf-8"?>\n'
manifest.manifest(
'xmlns:android' : 'http://schemas.android.com/apk/res/android',
'package' : 'orz.mikeneck.android.inst',
'android:version' : '1',
@mike-neck
mike-neck / index.jsx
Last active September 16, 2021 08:31
React で別のコンポーネントの要素の幅(offsetWidth)を取得して、その値を表示する
import React, { useRef, useEffect, useState } from 'react'
import ReactDOM from 'react-dom'
const App = () => {
const spanRef = useRef(null);
const [width, setWidth] = useState(0);
const [text, setText] = useState("");
const onChange = event => {
setText(event.target.value);
import {Context} from "./Context"; // API のリクエスト先が格納されているオブジェクト
import * as pako from "pako"; // zlib を使えるようにするライブラリー
// javap サービスへのリクエストが成功して返ってきた javap の結果(複数ある)が格納されるオブジェクトの型
export type JavapSuccess = {
contents: JavapOutput[],
};
// javap の結果 ファイル名とその内容
export type JavapOutput = {
@mike-neck
mike-neck / aop.groovy
Last active November 24, 2020 04:53
Spring AOP(MethodInterceptor)
@Grab('spring-aop')
@Grab('aspectjrt')
@Grab('aspectjtools')
@Grab('aspectjweaver')
import groovy.util.logging.Slf4j
import java.lang.annotation.Retention
import java.lang.annotation.Target