Skip to content

Instantly share code, notes, and snippets.

@terut
terut / slogexmaple.go
Created September 7, 2023 15:39
slog example
func logRun() {
//ctx := context.Background()
replace := func(groups []string, a slog.Attr) slog.Attr {
switch {
case a.Key == slog.MessageKey:
return slog.Attr{Key: "message", Value: a.Value}
case a.Key == slog.LevelKey:
if l := a.Value.Any().(slog.Level); l == slog.LevelWarn {
return slog.String("severity", "WARNING")
}
version: '3'
services:
# Spanner
spanner-emulator:
image: gcr.io/cloud-spanner-emulator/emulator
ports:
- "9010:9010"
- "9020:9020"
@terut
terut / cmd.md
Last active August 15, 2020 07:53
React minimum environment
$ npm init
$ npm i --no-optional -D webpack webpack-cli typescript ts-loader
$ npm i -S react react-dom @types/react @types/react-dom

Add webpack config to scripts of package.json.

{
@terut
terut / main.dart
Created November 10, 2016 09:08
Create list with Flutter.
import 'dart:io';
import 'dart:async';
import 'dart:convert';
import 'package:csv/csv.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart' show rootBundle;
class Product {
const Product({this.name});
final String name;
@terut
terut / gist:5401613
Last active December 16, 2015 07:49
Extend capybara for printing inner html.
# Put spec/support/capybara-finders_tap.rb
# Target: capybara 2.0.3
module Capybara
module Node
module Finders
# Usage:
# find('div.foo1'){|x| puts x.to_s }
#
def find_with_tap(*args)
if block_given?
@terut
terut / gist:4174526
Created November 30, 2012 08:30
UIButton background for state
- (void)setBackgroundColor:(UIColor *)backgroundColor forState:(UIControlState)state
{
CGRect rect = CGRectMake(0, 0, 1, 1);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, backgroundColor.CGColor);
CGContextFillRect(context, rect);
UIImage *backgroundImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
@terut
terut / unicorn
Created September 6, 2012 11:09
Unicorn multi init.
#!/bin/sh
#
# chkconfig: - 88 12
#
# init.d script for single or multiple unicorn installations. Expects at least one .env
# file in /etc/unicorn
#
## A sample /etc/unicorn/production.env
##
## RAILS_ENV=production
@terut
terut / monit.md
Last active October 9, 2015 05:27
monit on aws.

monit on aws

AWSにmonitを使いましょうね

おおまかな流れ

$ sudo yum install monit
$ sudo vim /etc/monit.conf
$ sudo vim /etc/monit.d/sshd.monit
$ sudo vim /etc/monit.d/nginx.monit

$ suod vim /etc/init.d/monit restart

@terut
terut / nginx_update.sh
Created January 7, 2012 06:34
The way to update nginx with passenger.
# check passenger.
$ gem list | grep passenger
# if it is missing, install.
$ gem install passenger
# download new version nginx.
$ wget http://nginx.org/download/nginx-1.0.11.tar.gz
$ tar -zxf nginx-1.0.11.tar.gz
@terut
terut / delayed_job_config.rb
Created December 6, 2011 04:35
Customize DelayedJob's logger.
# if you wanna use syslog, you can rewrite by syslogger.
if Rails.env.production?
module Delayed::Backend::ActiveRecord
class Job
class << self
def after_fork
logger = Syslogger.new("#{Rails.env}.delayed_job", Syslog::LOG_PID, Syslog::LOG_LOCAL2)
Rails.logger = logger
Delayed::Worker.logger = logger
# can't call super