Skip to content

Instantly share code, notes, and snippets.

View tkgstrator's full-sized avatar
🌍
Working from home

tkgstrator tkgstrator

🌍
Working from home
View GitHub Profile
@tkgstrator
tkgstrator / Makefile
Created October 13, 2020 20:32
C++ Library in Swift
.PHONY = clean
CC = `xcrun -find clang++`
CFLAGS = -Wall -O3 -fembed-bitcode -isysroot `xcrun -sdk iphonesimulator --show-sdk-path`
# iOS13以降のみをサポート
CFLAGS += -mios-simulator-version-min=13.0 -mios-version-min=13.0
SOURCES = $(wildcard *.cpp)
UNIVERSAL_OBJECTS = $(SOURCES:%.cpp=%.o)
@tkgstrator
tkgstrator / Dockerfile
Last active February 3, 2021 17:29
debkitA64
FROM ubuntu:18.04
MAINTAINER @tkgling
# Environment
ENV USER devkit
ENV SHELL /bin/bash
ENV HOME /home/${USER}/devkita64
ENV DEVKITPRO=/opt/devkitpro
ENV PATH=${DEVKITPRO}/tools/bin:$PATH
@tkgstrator
tkgstrator / Salmonia2.js
Last active February 4, 2021 11:14
Salmonia for GAS
function Salmonia() {
const iksmSessions= JSON.parse(PropertiesService.getScriptProperties().getProperty('IKSM_SESSION'))
const apiToken = PropertiesService.getScriptProperties().getProperty('API_TOKEN')
let jobNum = JSON.parse(PropertiesService.getScriptProperties().getProperty('JOB_NUM'))
iksmSessions.forEach(function(iksm_session, index) {
const present = getJobNumFromSplatNet2(iksm_session)
const preview = Math.max(parseInt(jobNum[index]), present - 49)
Logger.log(iksm_session, present, preview)
@tkgstrator
tkgstrator / genHash32.py
Created February 28, 2021 11:06
パラメータをハッシュに変換したり、XMLをJSONに置換したりするコード
import zlib
with open("params-filter-nodup.txt", mode="r") as f:
with open("param.csv", mode="w") as w:
for line in f:
param = line.strip()
hash = format(zlib.crc32(param.encode("ascii")) & 0xFFFFFFFF, "x")
param = param.split(".")
w.write(f"{hash},{param[0]}\n")
@tkgstrator
tkgstrator / callback.php
Last active March 18, 2021 10:49
Twitter OAuth
<?php
require "vendor/autoload.php";
use Abraham\TwitterOAuth\TwitterOAuth;
session_start();
$CONSUMER_KEY = "";
$CONSUMER_KEY_SECRET = "";
@tkgstrator
tkgstrator / coop.json
Last active May 12, 2021 02:01
Salmon Run Schedule for Google Calendar API
[
{
"end_time": 1500696000,
"rare_weapon": 20000,
"stage_id": 5000,
"start_time": 1500616800,
"weapon_list": [
10,
5010,
1010,
@tkgstrator
tkgstrator / product.py
Last active August 9, 2021 22:46
Amazonのカテゴリ別上位50件を取得する
from glob import escape
from optparse import Option
from urllib import request
import requests
from bs4 import BeautifulSoup
import re
import time
import json
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
<?php
try {
$dbh = new PDO("mysql:host=localhost:3306;dbname=DBNAME;", "root", "PASSWORD");
$sql = "SELECT * FROM DBNAME.TABLENAME WHERE name = :name";
$stmt = $dbh->prepare($sql);
$lose_name = "tkgling";
$stmt->bindParam(":name", $lose_name);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
var_dump($result);
@tkgstrator
tkgstrator / PullToRefresh.swift
Last active August 23, 2021 07:54
SwiftUI for iOS14でPullToRefreshを実装
private struct PullToRefresh: UIViewRepresentable {
@Binding var isShowing: Bool
public init(
isShowing: Binding<Bool>
) {
self._isShowing = isShowing
}
public class Coordinator {
@tkgstrator
tkgstrator / Popover.swift
Last active August 30, 2021 06:13
Modal.swift
import SwiftUI
struct Modal<Content>: UIViewControllerRepresentable where Content: View {
@Binding var isPresented: Bool
let content: () -> Content
let transitionStyle: ModalTransitionStyle
let presentationStyle: ModalPresentationStyle
let isModalInPresentation: Bool
let contentSize: CGSize?