Skip to content

Instantly share code, notes, and snippets.

View akimabs's full-sized avatar
👋
Supp bro

Abdul Hakim akimabs

👋
Supp bro
View GitHub Profile

Benchmark: Spring WebFlux vs Spring MVC

Konfigurasi Test

Load Pattern:

  • Ramp up: 15s → 50 users
  • Hold: 30s → 100 users
  • Peak: 15s → 150 users
  • Ramp down: 30s → 0 users
  • Total: ~90 detik per service
@akimabs
akimabs / bench.md
Last active November 2, 2025 17:09
benchmark

Hasil Benchmark: WebFlux vs Spring MVC + Virtual Thread

Tanggal: 2 November 2025 Durasi Test: ~3 menit 27 detik Tool: k6 (Concurrent Load Test)


Ringkasan Eksekutif

@akimabs
akimabs / reactive.md
Created November 1, 2025 16:56
reactive

🚀 Reactive Programming Guide (Project Reactor)

Panduan belajar Reactive Programming dengan contoh-contoh nyata dari codebase CIAM Service.


📚 Table of Contents

  1. Konsep Dasar
  2. Mono vs Flux
@akimabs
akimabs / ngetes.md
Last active October 26, 2025 17:20
benchmark

🚀 Analisis Benchmark: WebFlux vs Spring MVC

📊 UPDATE: Dokumen ini telah diupdate dengan data aktual dari monitoring real-time!
Hasil benchmark include resource monitoring (CPU, Memory, Threads) menggunakan script test/run-benchmark-with-monitoring.sh
Tanggal update: 26 Oktober 2025 | Data 100% real measurements ✅

📊 Ringkasan Eksekutif

Hasil benchmark dengan 150 pengguna konkuren pada operasi database murni:

@akimabs
akimabs / location.ts
Created September 25, 2024 19:56
location
export const indonesianCuisine = [
{
name: "Balique Restaurant",
address: "Uluwatu St No.39, Jimbaran, South Kuta, Badung Regency, Bali 80361",
phone: "(0361) 704945",
mapLink: "https://maps.app.goo.gl/m7QLELYdeDMdAerT6",
isHalal: false,
image: "https://cdn.jsdelivr.net/gh/akimabs/asset/Nearby/Resto/Balique.jpg",
distance: "280 m",
},
@akimabs
akimabs / test.tsx
Created September 25, 2024 13:48
RecycleList
import React from "react";
import { Dimensions, StyleSheet, View, Text } from "react-native";
import { RecyclerListView, DataProvider, LayoutProvider } from "recyclerlistview";
// Screen width
const { width } = Dimensions.get("window");
// Define the data provider with a rowHasChanged method to optimize the list rendering
const dataProvider = new DataProvider((r1, r2) => r1 !== r2);
@akimabs
akimabs / images.service.ts
Created February 21, 2023 04:16
ocr tesseract
import { HttpStatus, Injectable } from '@nestjs/common';
import { StatusMessage } from 'src/filters/message.constant';
import { Response } from 'src/models/response.model';
import { createWorker } from 'tesseract.js';
import { ResultFindTotalPrice } from './images';
import * as fs from 'fs';
require('dotenv').config();
@Injectable()
@akimabs
akimabs / base.test.tsx
Created October 25, 2021 08:47
test mock axios
import axios, { AxiosResponse } from 'axios';
import { BaseRequest, ResultType } from 'types';
import { BASE_URL } from 'env';
/**
* Request helper for HTTPRequest
* @param params must receive Object
* @param id must receive String or Number
* @param headers must receive Object
* @param body must receive Object
export const AdjustEventTrackerProperties = ({ event, parameter }: PropsAdjustEventParameter) => {
const adjustEventCode = AdjustEnum.properties[event]?.code ?? '';
// console.log('event :', event)
// console.log('event code :', adjustEventCode)
let adjustEvent = new AdjustEvent(adjustEventCode);
parameter?.map(item => {
// console.log('event parameter key :', item.key)
// console.log('event parameter value :', item.value)
adjustEvent.addCallbackParameter(item.key, item.value);
});
@akimabs
akimabs / button-test.tsx
Created September 29, 2021 09:31
button unit testing
/**
* @format
*/
import 'react-native';
import React from 'react';
// Note: test renderer must be required after react-native.
import renderer from 'react-test-renderer';