Skip to content

Instantly share code, notes, and snippets.

View Code-Hex's full-sized avatar

Kei Kamikawa Code-Hex

View GitHub Profile
@Code-Hex
Code-Hex / pemToBinary.ts
Created February 18, 2024 01:45
pemToBinary
export function pemToBinary(pem: string): Uint8Array {
return decodeBase64(pem.replace(/-+(BEGIN|END).*/g, '').replace(/\s/g, ''))
}
@Code-Hex
Code-Hex / dumpClass.m
Created August 25, 2022 16:13
Objective-C class dumper
#import <objc/runtime.h>
void dumpClass(Class clz) {
unsigned int instanceMethodCount = 0;
printf("Found %d instance methods on '%s'\n", instanceMethodCount, class_getName(clz));
Method *instanceMethods = class_copyMethodList(clz, &instanceMethodCount);
for (unsigned int i = 0; i < instanceMethodCount; i++) {
Method method = instanceMethods[i];
@Code-Hex
Code-Hex / main.go
Created August 2, 2022 15:03
ls-upnp - List of UPnP devices on your local network. Written by Go
package main
import (
"fmt"
"net"
"os"
"strings"
"time"
)
@Code-Hex
Code-Hex / go.mod
Last active August 1, 2022 11:58
Slack to discord message migration tool
module github.com/Code-Hex/slack2discord
go 1.18
require (
github.com/Code-Hex/dd v1.1.0 // indirect
github.com/bwmarrin/discordgo v0.25.0 // indirect
github.com/gorilla/websocket v1.4.2 // indirect
github.com/slack-go/slack v0.11.2 // indirect
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b // indirect
@Code-Hex
Code-Hex / index.ts
Last active July 7, 2022 03:09
okinawa.rb #222 で Cloudflare Workers を紹介しました
// Service Worker Syntax で書いてます
// addEventListener('fetch', event => {
// event.respondWith(handleRequest(event.request));
// });
// Module Worker Syntax で書いてます
// async function handleRequest(request) {
// return new Response('Hello worker!', {
// headers: { 'content-type': 'text/plain' },
// });
@Code-Hex
Code-Hex / index.ts
Last active July 6, 2022 12:10
Cloudflare Workers の global 変数一覧を確認する方法
addEventListener('fetch', (event: FetchEvent) => {
// @ts-ignore
console.log({ ...global })
event.respondWith(verifyJWT(event.request))
})
const useIntersectionObserver = () => {
const headingElementsRef = useRef<Record<string, IntersectionObserverEntry>>(
{}
);
useEffect(() => {
const callback = (headings: Array<IntersectionObserverEntry>) => {
headingElementsRef.current = headings.reduce((map, headingElement) => {
map[headingElement.target.id] = headingElement;
return map;
}, headingElementsRef.current);
@Code-Hex
Code-Hex / bit_test.go
Created February 9, 2022 15:42
@sters と一緒に学んだ符号拡張をコードかする方法
package bit
import (
"math"
"testing"
)
// SignExtend は a の値を bitSize で指定される値を解釈し、変換したものを返します。
// a の値は 32bit 以下の任意のbitSizeの値が入ってくる可能性があります。
// unsignedが入ってくる可能性は考慮されていません。(仕様外)
@Code-Hex
Code-Hex / gcp-roles.js
Last active August 11, 2022 01:02
Get GCP IAM Roles
const cheerio = require('cheerio');
const fetch = require('node-fetch');
const fs = require('fs');
// roles["roles/accesscontextmanager.policyAdmin"]["en"]
const roles = {};
async function makePredefinedRoles(locale) {
const response = await fetch(
`https://cloud.google.com/iam/docs/understanding-roles?hl=${locale}`
module github.com/Code-Hex/gql-filter
go 1.16
require (
github.com/graphql-go/graphql v0.7.9 // indirect
github.com/k0kubun/pp v3.0.1+incompatible // indirect
github.com/mattn/go-colorable v0.1.8 // indirect
)