Skip to content

Instantly share code, notes, and snippets.

@krdlab
krdlab / test-loop-index.j2
Created August 3, 2023 03:27
Ansible のテンプレートでループインデックスを使う
{% for t in xs %}
{{ loop.index }} - {{ t }}
{% endfor %}
@krdlab
krdlab / install.sh
Last active February 23, 2023 04:54
Minecraft server on Ubuntu server
# https://zenn.dev/de_teiu_tkg/articles/1b9025d3a6db71
sudo apt-get install openjdk-17-jdk-headless tmux
sudo timedatectl set-timezone Asia/Tokyo
# https://www.minecraft.net/ja-jp/download/server
wget https://piston-data.mojang.com/v1/objects/c9df48efed58511cdd0213c56b9013a7b5c9ac1f/server.jar
sudo mkdir /opt/minecraft-server
sudo mv server.jar /opt/minecraft-server/
@krdlab
krdlab / .vimrc
Created January 7, 2023 11:43
vim の設定
set virtualedit=onemore
set showmatch
set incsearch
set hlsearch
set ignorecase
set smartcase
set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab
@krdlab
krdlab / test-when.yml
Created November 4, 2022 11:22
Ansible の when で not と default の組み合わせ
- hosts: localhost
connection: local
gather_facts: no
vars:
enabled: yes
tasks:
- debug:
msg: enabled!
when:
- "{{ enabled | default(false) }}"
@krdlab
krdlab / main.js
Created September 30, 2022 06:48
date-fns で日時文字列をパース & フォーマット
const { parse, format } = require('date-fns');
const { utcToZonedTime } = require('date-fns-tz');
function formatDateString(s) {
const date = parse(s, 'EEE, dd MMM yyyy HH:mm:ss xx', new Date());
return format(utcToZonedTime(date, 'Asia/Tokyo'), 'yyyy/MM/dd');
}
@krdlab
krdlab / main.rs
Created September 26, 2022 12:16
struct フィールドを &mut で返す実験
struct Element {
value: i32,
}
impl Element {
pub fn change_to(&mut self, val: i32) {
self.value = val;
}
pub fn run(&self) {
println!("done {}", self.value);
}
@krdlab
krdlab / lib.rs
Created June 13, 2022 14:05
Rust custom error
pub mod custom {
use thiserror::Error;
#[derive(Debug, Error)]
#[error("{message:} ({line:}, {column:})")]
pub struct JsonError {
pub message: String,
pub line: usize,
pub column: usize,
}
@krdlab
krdlab / App.java
Created May 2, 2022 14:23
AWS の parameter store を Java から利用する
package test.aws.ssm;
import com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagement;
import com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder;
import com.amazonaws.services.simplesystemsmanagement.model.GetParameterRequest;
import com.amazonaws.services.simplesystemsmanagement.model.GetParameterResult;
public class App {
public static void main(String[] args) {
final AWSSimpleSystemsManagement ssm = AWSSimpleSystemsManagementClientBuilder.defaultClient();
@krdlab
krdlab / sub.yml
Created May 2, 2022 09:44
Ansible で差集合を作る
- hosts: localhost
connection: local
gather_facts: false
vars_files:
- group_vars/{{ stage }}/all.yml
- group_vars/{{ stage }}/aws.yml
tasks:
- set_fact:
r5: "{{ aws.ec2.searches | selectattr('instance_type', 'match', '^r5\\..+') | list }}"
@krdlab
krdlab / test.yml
Created February 12, 2021 11:58
Ansible で var から comma separated value を作成
- hosts: localhost
gather_facts: false
vars:
db:
replicas:
- id: 1
dns_record: host1
- id: 2
dns_record: host2