Skip to content

Instantly share code, notes, and snippets.

@hayajo
hayajo / fabfile.py
Last active December 9, 2020 05:04
Fabricでステージごとにenvを切り替える
# -*- coding: utf-8 -*-
from fabric.api import task
from fabric.api import env
# コマンドラインから`stage.production`ではなく`production`と指定できるように関数をインポートする
from stage import production, integration, staging, testing, development
import myapp # アプリケーションごとにモジュールをわける
# import myapp2
@hayajo
hayajo / Dockerfile
Last active January 18, 2018 10:20
Linuxコマンドのソースコードを取得するDockerイメージ
FROM ubuntu
RUN apt-get update && apt-get install -y dpkg-dev
RUN echo "#!/bin/sh \n\
set -eu \n\
CMD_PATH=\$(which \$1) \n\
PACKAGE=\$(dpkg --search \$CMD_PATH | cut -d ':' -f 1 | sed 's/\s//g') \n\
echo \$1 in \$PACKAGE \n\
apt-get source \$PACKAGE \n\
@hayajo
hayajo / playbook.yml
Created August 19, 2016 04:59
AnsibleでAnsible-Vaultで暗号化したバイナリファイルの内容を利用する
---
- hosts: all
connection: local
gather_facts: no
sudo: no
vars:
# インベントリに指定するディレクトリでステージごとにファイルを切り替える。他にもinventory_hostnameやgroup_nameなどのマジック変数を利用してファイルを切り替える。
- decrypted: "{{ lookup('pipe', 'ansible-vault view --vault-password-file=/path/to/password/file /path/to/secret/{{ inventory_dir | default(\".\", true) | basename }}/file') }}"
tasks:
- debug: >
@hayajo
hayajo / 03.md
Last active June 24, 2019 07:24
Rust超入門 #オンシャヘイシャ
@hayajo
hayajo / main.rs
Last active January 1, 2017 07:53
Rustでコマンド実行
use std::process::Command;
fn prepare_cmd(cmd: &str, args: &[&str]) -> Command {
let mut cmd = Command::new(cmd);
for arg in args {
cmd.arg(arg);
}
cmd
}
@hayajo
hayajo / main.rs
Created July 20, 2016 08:10
Rustで自身のPIDを取得する
extern crate libc;
use libc::pid_t;
fn pid() -> pid_t {
unsafe { libc::getpid() }
}
fn main() {
println!("{}", pid());
@hayajo
hayajo / My Terminal.terminal
Last active July 14, 2016 03:02
Terminal.app profile
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ANSIBlueColor</key>
<data>
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NIMCAw
LjIgMQAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2Jq
ZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2JrbW90f4iQ
@hayajo
hayajo / README.md
Last active July 13, 2016 08:40
「Rustを30分で紹介する(訳)」のコードを1.9.0で書いてみるとこんな感じ?
@hayajo
hayajo / Vagrantfile
Last active July 13, 2016 04:41
clone(2)でPID_NAMESPACEを利用する
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure(2) do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
@hayajo
hayajo / myapp
Last active July 11, 2016 00:19
Mojoliciousでcp932
#!/usr/bin/env perl
use Mojolicious::Lite;
app->hook(before_dispatch => sub {
my $c = shift;
# Mojo::Message::Requestのdefault_charsetを指定することで、
# 自動的に指定された文字エンコーディングでパラメータがデコードされる(デフォルトはUTF-8)。
$c->req->default_charset('cp932');
});