Skip to content

Instantly share code, notes, and snippets.

@akira345
akira345 / CloudFrontFunctions.js
Last active July 24, 2024 03:02
CloudFrontKeyValueStoreをつかったリダイレクト設定ラムダ
import cf from 'cloudfront';
const kvsId = '<CloudFrontKeyValueStoreのID>';
// This fails if the key value store is not associated with the function
const kvsHandle = cf.kvs(kvsId);
// async functionになるので注意!
async function handler(event) {
// CloudFrontから渡ってくるヘッダからホスト名取得
@akira345
akira345 / mutex.js
Created November 11, 2020 15:12
mutexが必要??
'use strict';
const { Mutex } = require( 'await-semaphore' );
/**
* スリープ
*/
const _sleep = ( waitSec ) => {
return new Promise( function ( resolve ) {
setTimeout( function () { resolve(); }, waitSec );
} );
@akira345
akira345 / example.com.conf
Last active September 29, 2020 14:19
SSL Offload by Apache2.4.44
#
# この設定を有効化するには、mod_proxyとmod_proxy_httpが必要です。
#
ProxyRequests Off
ProxyPreserveHost On
Listen 8000
<VirtualHost *:8000>
ServerName example.com
ProxyPass / http://192.168.XXX.XXX:8000/
# ポートベースのProxyなので、Reverseの設定は不要(転送前後でパスが変わらないので)
@akira345
akira345 / ec2Backup.js
Created July 13, 2020 15:45
EC2バックアップラムダのnodeJS版
'use strict';
const AWS = require( 'aws-sdk' );
AWS.config.update( { region: 'ap-northeast-1' } );
const ec2 = new AWS.EC2();
const moment = require( 'moment-timezone' );
/**
* 起動しているEC2インスタンスIDを返します。
*/
@akira345
akira345 / test.js
Created March 3, 2020 11:15
nodeJS Promise.All挙動確認
'use strict';
/**
* 指定した秒数ウエイトします。
* @param {number} waitSec 秒数(ms)
*/
const _sleep = ( waitSec ) => {
return new Promise( function ( resolve ) {
setTimeout( function () { resolve(); }, waitSec );
} );
@akira345
akira345 / Gemfile
Last active October 6, 2019 23:00
ラムダでエラーが発生した場合、CloudWatchLogsを検索してSNSに通知する。(要AWS SDK for Ruby V3)
# frozen_string_literal: true
source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
# gem "rails"
gem 'aws-sdk', '~> 3'
gem "activesupport"
@akira345
akira345 / .gitlab-ci.yml
Created August 3, 2019 12:29
GitLab CI でRenovateを動かす
# Setting for job sequence.
# List up for jpb groups.
stages:
- check_version
- test
# Jobs
testjob:
stage: test
@akira345
akira345 / action_menu_gerber_zip.py
Created July 3, 2019 08:23
KiCad5でガーバデータ出力するスクリプト。FusionPCB向けに改造。
# file : action_menu_gerber_zip.py
#
# (gerber_zip)
#
# Copyright (C) 2018 g200kg
# Released under MIT License
#
import pcbnew
from pcbnew import *
@akira345
akira345 / docker-compose_backup.sh
Last active June 14, 2023 15:18
Docker-Composeで作成したコンテナのボリューム、DBをバックアップするシェルスクリプト。DBのコンテナ名は命名規則を適用する前提
#/bin/bash
#
# Cronで動かすときはPATHを設定すること。
# 例:)PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
get_contenner_service_name(){
echo $1 | cut -d"_" -f2- | rev | cut -c 3- | rev
}
mysql_contenner_backup(){
target_contenner=$1
@akira345
akira345 / docker-compose.yml
Created July 2, 2019 12:59
Dockerでknowledgeを動かすdocker-composeサンプル。jwilder/nginx-proxyを使用。VIRTUAL_HOSTは適宜変えること。
version: '2'
volumes:
knowledge_pgsql_data:
driver: local
knowledge_data:
driver: local
services:
# knowledge_pgsql
knowledge_pgsql:
restart: always