Skip to content

Instantly share code, notes, and snippets.

View axmad386's full-sized avatar
🚀
working hard

Akhmad Salafudin axmad386

🚀
working hard
View GitHub Profile
@axmad386
axmad386 / reset_all_sequences.md
Created November 19, 2023 03:11
Postgre - Restore Auto Increment
CREATE OR REPLACE FUNCTION reset_all_sequences()
RETURNS VOID AS $$
DECLARE
    table_name_var TEXT;
    column_name TEXT;
BEGIN
    -- Loop through all tables in the database
    FOR table_name_var IN (SELECT table_name FROM information_schema.tables WHERE table_schema = 'public' AND table_type = 'BASE TABLE') LOOP
 -- Find the name of the sequence associated with the auto-increment column
@axmad386
axmad386 / wifi-connect.md
Created October 1, 2023 10:52
Connect wifi via terminal
  1. List all available wifi, you will see all available wifi with SSID and signal strength
nmcli dev wifi
  1. Connect to wifi:
nmcli dev wifi connect "SSID name" password "wifi password"
@axmad386
axmad386 / sites-available-domain.conf
Created September 21, 2023 04:07
Dynamic Subdomain Proxied to sub path with nginx
server {
listen 80;
server_name ~^(?<subdomain>.+)\.domain\.com domain.com;
# Location block for path that threated as assets
location ~* ^/(?<asset>image|css|js|fonts|@vite|node_modules)/(.*) {
proxy_pass http://127.0.0.1:3000/$asset/$2;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
@axmad386
axmad386 / s3.md
Created August 1, 2023 08:29
Get S3 public url without s3 sdk
public getUrl(location: string): string {
  const {
    endpoint: configEndpoint,
    bucket,
    forcePathStyle,
    region,
  } = this.$config;
  const awsHost = region ? `s3.${region}.amazonaws.com` : "s3.amazonaws.com";
let endpoint = (configEndpoint as string) || `https:${awsHost}`;
@axmad386
axmad386 / Dockerfile
Created April 17, 2023 04:06
Dockerfile example for optimized nodejs production
FROM alpine:edge AS base
# install node
RUN apk add --no-cache nodejs npm tini
# set working directory
WORKDIR /var/www
#install pnpm
RUN npm install -g pnpm
# Set tini as entrypoint
ENTRYPOINT ["/sbin/tini", "--"]
# copy project file
@axmad386
axmad386 / tauri-deb.md
Created August 9, 2022 02:43
Persiapan Build Tauri Debian
  • Pastikan rust dan dependencynya sudah terinstall
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
  • Jika keluar No package dbus-1 found install package tersebut
    sudo apt install libdbus-1-dev pkg-config
    
  • Jika keluar error terkait openssl install package berikut
@axmad386
axmad386 / init.vim.md
Last active August 25, 2022 05:55
Neovim Config

buat atau copy kode di bawah di file ~/.config/nvim/init.vim

lua require('plugins')

call plug#begin('~/.vim/plugged')

Plug 'preservim/nerdtree'

Plug 'junegunn/limelight.vim'
@axmad386
axmad386 / belajar-vim.md
Last active July 6, 2022 03:30
Improve Koding Skill dengan VIM

Basic

Pendahuluan

Part ini wajib dipahami dan dicoba hingga lancar sebelum melangkah ke part yang lain.

Keluar dari VIM

Catatan ini saya taruh di atas untuk pemula yang kadang bingung untuk keluar dari VIM.

  • :q untuk keluar dari VIM jika belum melakukan perubahan. Jika sudah melakukan perubahan maka akan terjadi error. Kita harus melakukan save dokument dulu dengan :w.
  • :q! jika kita ingin keluar tanpa save. ! artinya ignore. Semacam force quit
  • :wq kombinasi dari :w dan :q, artinya save dan exit.

VIM Mode

@axmad386
axmad386 / share-dockerd.md
Created March 24, 2022 07:24
Docker di Android

Share Docker Daemon dari Laptop ke Android

Agar android bisa menjalankan docker daemon, diperlukan akses root. Solusi lain selain root adalah dengan cara share docker daemon dari laptop agar bisa diakses di android. Berikut caranya

sudo dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock 

kemudian di android tinggal jalankan docker dengan host ip laptop kitl, misal

docker -H 172.16.10.80 {perintah docker}
@axmad386
axmad386 / API.ts
Last active September 3, 2021 03:26
API wrapper for Svelte
// src/lib/Support/Http/API.ts
import Axios from 'axios'
import {get} from "svelte/store"
import {Errors$} from "$lib/Support/Store/Error"
import { Auth$ } from '$lib/Support/Store/Auth'
import type {TApiCall} from "$lib/Contract/Http"
import {BASE_API} from "$lib/Env"
import {goto} from "$app/navigation"
import Toast from "$lib/Support/Store/Toast"