Skip to content

Instantly share code, notes, and snippets.

View moomdate's full-sized avatar
🍋
~/.profile

moomdate moomdate

🍋
~/.profile
  • bangkok
View GitHub Profile
/*
คุณเข้ามารับช่วงต่อโครงการที่มีโค้ดดังนี้ และพบว่ามันไม่มี Unit Test หรือ Documentation
- คุณจะเพิ่ม Code Ownership ให้กับทีมอย่างไร?
- คุณจะเริ่มต้นจัดการกับปัญหานี้อย่างไร?
- ถ้าโค้ดนี้มีบั๊กที่กระทบกับธุรกิจมาก คุณจะมีแนวทางในการแก้ไขที่เหมาะสมอย่างไร?
*/
public class TaxCalculator {
public double calculateTax(double income) {
if (income < 20000) {
return income * 0.1;
@moomdate
moomdate / BankAccount.java
Last active February 10, 2025 03:10
refactor
/**
ออกแบบและพัฒนา คลาส หรือ เซอร์วิส ที่สามารถทำธุรกรรมทางการเงินได้ ซึ่งต้องรองรับ:
- ฝากเงิน (Deposit)
- ถอนเงิน (Withdraw)
- ตรวจสอบยอดคงเหลือ (Check Balance)
** พิจารณาปัญหาของโค้ด ทำการ refactor และอธิบายในแต่ละส่วน
*/
import React, {useState} from "react";
import {useSearchParams} from "react-router-dom";
export interface Props<T> {
data: T;
debugParam: string;
}
export const JsonDebugger = <T extends Record<string, any> | string>({data: obj, debugParam}: Props<T>) => {
const [query] = useSearchParams();
@SneakyThrows
public XadesSigner createXadesSigner(X509Certificate x509Certificate) {
final String PROVIDER_NAME = "LunaProvider";
KeyStoreKeyingDataProvider.SigningCertSelector signingCertSelector = availableCertificates -> x509Certificate;
KeyStoreKeyingDataProvider.KeyStorePasswordProvider password = () -> tokenProperties.getPwd().toCharArray();
KeyingDataProvider kp = new PKCS11KeyStoreKeyingDataProvider(tokenProperties.driverUse, PROVIDER_NAME, Integer.parseInt(tokenProperties.getSlot()), signingCertSelector, password, null, false);
XadesSigningProfile p = new XadesBesSigningProfile(kp).withAlgorithmsProviderEx(new XMLProcess.MyAlgorithmsProviderEx());
return p.newSigner();
}
@moomdate
moomdate / test2.java
Last active September 3, 2023 08:20
wtf test
package org.example;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
@moomdate
moomdate / test.java
Created September 3, 2023 04:27
test.java
package org.example;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
openapi: 3.0.1
info:
title: OpenAPI definition
version: v0
servers:
- url: http://localhost:8080/api
description: Generated server url
paths:
/update-location/{id}:
put:
@Data
@Entity
@Table(name = "student")
public class Student {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
@moomdate
moomdate / studentAuto.java
Created September 11, 2022 05:26
auto id
@Data
@Entity
@Table(name = "student")
public class Student {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
public class StudentService {
@Autowired
StudentRepository studentRepository;
public void saveStudent(){
final Student student = new Student();
student.setName("ABC Name");
student.setAge(15);
studentRepository.save(student);