Skip to content

Instantly share code, notes, and snippets.

View dimasmiftah's full-sized avatar
💡

Dimas Miftahul Huda dimasmiftah

💡
View GitHub Profile

Arcanist diff dependent on another diff

Simulation

1. Create branch for part1 (on top of master branch)

git checkout master
git checkout -b part1
echo "some changes" >> part1.txt
git add -A
git commit -m 'part 1'
@dimasmiftah
dimasmiftah / .zshrc
Created November 30, 2022 14:07
my zsh config
# Fig pre block. Keep at the top of this file.
[[ -f "$HOME/.fig/shell/zshrc.pre.zsh" ]] && builtin source "$HOME/.fig/shell/zshrc.pre.zsh"
cd Riset/
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
export PATH=/opt/homebrew/bin:$PATH
export PNPM_HOME="/Users/dimasmiftah/Library/pnpm"
export PATH="$PNPM_HOME:$PATH"
@dimasmiftah
dimasmiftah / App.java
Created August 4, 2022 20:55
CCDP - Template Method Pattern
import channel.Email;
import channel.Channel;
import channel.WhatsApp;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class App {
public static void main(String[] args) throws IOException {
@dimasmiftah
dimasmiftah / App.js
Created August 4, 2022 19:34
CCDP - Bridge Pattern
import fakultas.Pascasarjana;
import fakultas.Sarjana;
import prodi.Prodi;
import prodi.TeknikInformatika;
import prodi.IlmuKomunikasi;
public class App {
public static void main(String[] args) {
testProdi(new IlmuKomunikasi());
testProdi(new TeknikInformatika());
@dimasmiftah
dimasmiftah / App.java
Created August 4, 2022 16:24
CCDP - Prototype Pattern
import java.util.ArrayList;
import java.util.List;
public class App {
public static void main(String[] args) {
List<Mahasiswa> mahasiswas = new ArrayList<>();
List<Mahasiswa> mahasiswasCopy = new ArrayList<>();
Karyawan karyawan = new Karyawan();
karyawan.NIM = "10118080";
@dimasmiftah
dimasmiftah / sortRoman.js
Created August 11, 2021 16:59
sortRoman Hackerrank
// Complete the sortRoman function below.
function sortRoman(names) {
const namesObj = names.reduce((sum, curr) => {
const currentSum = sum;
const [name, order] = curr.split(' ');
if (!currentSum[name]) {
currentSum[name] = [];
}
currentSum[name].push(curr);
currentSum[name] = sortByRomanNumerals(currentSum[name]);
@dimasmiftah
dimasmiftah / settings.json
Created July 1, 2021 10:29
my windows terminal settings
{
"$schema": "https://aka.ms/terminal-profiles-schema",
"copyFormatting": "none",
"copyOnSelect": true,
"defaultProfile": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
"experimental.rendering.forceFullRepaint": true,
"experimental.rendering.software": true,
"initialCols": 110,
"initialPosition": "230,140",
"initialRows": 20,
// Kloning array
let nomor = [1, 2, 3]
let klonNomor = JSON.parse(JSON.stringify(nomor))
console.log(klonNomor)
// [1, 2, 3]
// Kloning object
let binatang = {kucing: '🐱', tikus: '🐭'}
let binatang = {kucing: '🐱', tikus: '🐭'}
let klonBinatang = Object.assign({}, binatang)
console.log(klonBinatang)
// {kucing: '🐱', tikus: '🐭'}
let nomor = [1, 2, 3]
let klonNomor = Array.from(nomor)
console.log(klonNomor)
// [1, 2, 3]