Skip to content

Instantly share code, notes, and snippets.

@AtsushiSuzuki
AtsushiSuzuki / Dockerfile
Last active June 25, 2021 15:25
small footprint poetry workflow Dockerfile without multi-stage build
FROM python:3.9.5-slim
RUN --mount=type=cache,target=/root/.cache/pip \
PYTHONDONTWRITEBYTECODE=1 \
pip install pipx
WORKDIR /app
ADD pyproject.toml poetry.lock ./
RUN --mount=type=cache,target=/root/.cache/pip \
--mount=type=cache,target=/root/.local/pipx \
--mount=type=cache,target=/root/.cache/pypoetry \
--mount=type=cache,target=/root/.local/share/virtualenv \
@AtsushiSuzuki
AtsushiSuzuki / test.ts
Created April 13, 2018 11:28
util.promisifyにカスタムの型情報を与える
function fn(a: number, b: number, done: (err: Error, sum: number) => void) {
done(null, a + b);
}
declare namespace fn {
function __promisify__(a: number, b: number): Promise<number>
}
import {promisify as p} from "util";
import tensorflow as tf
import numpy as np
x = np.array([1., 2., 3., 4.])
y = np.array([0., -1., -2, -3])
fn = tf.estimator.inputs.numpy_input_fn(
{"x": x}, y, batch_size=4, num_epochs=None, shuffle=True)
sess = tf.Session()
import Foundation
import PromiseKit
/// serialize async task execution
class TaskQueue {
private let queue = DispatchQueue(label: "jp.digital-sensation.TaskQueue")
private var tasks: [() -> Promise<Void>] = []
private var running = false
@AtsushiSuzuki
AtsushiSuzuki / readme.md
Created June 8, 2017 06:42
Visual Studio 2017でPrivate Accessorの生成に失敗するときの対処法

Visual Studio 2017でテストプロジェクトのビルドに失敗する。 Private Accessorの生成のMSBuild Task ("BuildShadowTask") が失敗する。

該当タスクの参照アセンブリが足りないため。

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dllC:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\VisualStudio\v15.0\TeamTest にコピーする。

@AtsushiSuzuki
AtsushiSuzuki / WebHostBuilderExtensions.cs
Created February 13, 2017 17:55
ASP.net core: replace DI services after Startup.
using System;
using System.Linq;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
namespace Tests
{
public static class WebHostBuilderExtensions
@AtsushiSuzuki
AtsushiSuzuki / SequentialExecutorService.kt
Created December 19, 2016 17:03
SequentialExecutorService: java.util.concurrent.ExecutorService implementation which delegates task execution on other ExecutorService sequentially.
import java.util.concurrent.*
import java.util.concurrent.locks.ReentrantLock
import kotlin.concurrent.withLock
class SequentialExecutorService(executor: ExecutorService = ForkJoinPool.commonPool(), queue: BlockingQueue<Runnable> = LinkedBlockingQueue<Runnable>()) : AbstractExecutorService() {
val tasks = queue
val backingExecutor = executor
var count = 0
var terminating = false
val terminated = CountDownLatch(1)
@AtsushiSuzuki
AtsushiSuzuki / promisify.d.ts
Created October 11, 2016 08:37
TypeScript definition for promisify function
export function promisify(fn: (callback: (err: Error) => any) => any, thisArg?: any): () => Promise<void>;
export function promisify<R1>(fn: (callback: (err: Error, res1: R1) => any) => any, thisArg?: any): () => Promise<R1>;
export function promisify<R1, R2>(fn: (callback: (err: Error, res1: R1, res2: R2) => any) => any, thisArg?: any): () => Promise<[R1, R2]>;
export function promisify<R1, R2, R3>(fn: (callback: (err: Error, res1: R1, res2: R2, res3: R3) => any) => any, thisArg?: any): () => Promise<[R1, R2, R3]>;
export function promisify<R1, R2, R3, R4>(fn: (callback: (err: Error, res1: R1, res2: R2, res3: R3, res4: R4) => any) => any, thisArg?: any): () => Promise<[R1, R2, R3, R4]>;
export function promisify<T1>(fn: (arg1: T1, callback: (err: Error) => any) => any, thisArg?: any): (arg1: T1) => Promise<void>;
export function promisify<T1, R1>(fn: (arg1: T1, callback: (err: Error, res1: R1) => any) => any, thisArg?: any): (arg1: T1) => Promise<R1>;
export function promisify<T1, R1, R2>(fn: (arg1: T1, call
@AtsushiSuzuki
AtsushiSuzuki / results.txt
Created October 8, 2016 12:19
TypeScript 2.0.3 possible bug?
test1.ts(8,12): error TS1005: '=' expected.
test1.ts(9,27): error TS1005: ')' expected.
test1.ts(9,39): error TS1005: ';' expected.
test1.ts(9,41): error TS1005: '=>' expected.
test1.ts(11,6): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected.
test1.ts(13,1): error TS1128: Declaration or statement expected.
@AtsushiSuzuki
AtsushiSuzuki / Vagrantfile
Last active September 28, 2016 13:22
delayded windows file sharing server
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network "private_network", type: "dhcp"
config.vm.provision "shell", inline: <<-SCRIPT
apt-get update
apt-get upgrade -y
apt-get install -y samba
cat <<-EOS >> /etc/samba/smb.conf
[Shared]