Justin의 개발 로그
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
Java로 DSL 개발 #2

[프로젝트 구성] 새 프로젝트 생성 IntelliJ -> File -> New Project Gradle, Java Name 셋팅 완료 plugins { id 'java' } group 'org.example' version '1.0-SNAPSHOT' repositories { mavenCentral() } dependencies { testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0' } test { useJUnitPlatform() } Gradle 업데이트 ./gradlew wrapper --gradle-version 8.1.1 작..

Java로 DSL(Domain Specific Language) 개발

DSL(Domain Specific Language) 개요 도메인 전용 언어 : 특정 비즈니스 도메인의 문제를 해결하려고 만든 언어 특정 비지니스의 문제를 어떻게 해결할지에만 집중 특정 비지니스의 복잡성을 더 잘 다룰 수 있다. 저수준 구현의 세부사항을 숨기고 사용자가 비지니스 문제에 집중할 수 있게 한다. DSL의 필요성 의사 소통 : 코드(Language)의 의도가 명확히 전달되어야 하며, 프로그래머가 아닌 사람도 이해할 수 있어야 한다. 가독성 : 한 번 코드를 구현하지만, 반복적으로 사용하며, 여러 번 코드를 읽는다. 즉, 코드의 가독성이 중요한 비즈니스 로직이다. DSL 장점 간결함 가독성 유지보수 높은 추상화 집중(생산성) : 비즈니스 도메인의 규칙을 표현할 목적으로 설계된 언어라서 프로그래머..

ThreadPool로 초당 API 호출 건수 제한 - ExecutorService

https://github.com/Justin-ad-Park/fastcampus-mysql/tree/init/project GitHub - Justin-ad-Park/fastcampus-mysql Contribute to Justin-ad-Park/fastcampus-mysql development by creating an account on GitHub. github.com [샘플 구동용 Gradle 설정] plugins { id 'org.springframework.boot' version '2.7.2' id 'io.spring.dependency-management' version '1.0.12.RELEASE' id 'java' } group = 'com.example' version = '0.0..

article thumbnail
Flowable.crete 구조 파악

메인 코드 public class L11_FlowableSample2Simple { @Test void flowableTest() throws InterruptedException { // 1. 람다 메소드 방식 */ Flowable flowable = Flowable.create(stringFlowable, BackpressureStrategy.BUFFER); // 2. 인스턴스 생성 방식 */ // Flowable flowable = Flowable.create(new StringFlowable(), BackpressureStrategy.BUFFER); flowable.observeOn(Schedulers.computation()) .subscribe(new StringSubscriber()); Th..

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
article thumbnail
스태프 엔지니어(Staff Engineer)란 무엇인가?
프로그래밍 2023. 6. 23. 11:37

스태프 엔지니어(Staff Engineer)란 무엇인가? 시니어 엔지니어는 "최종 직급"이 아니며, 관련 역량이나 스킬을 더 이상 개발하지 않아도 되는 직급이 아니다. 시니어 단계에 이르더라도 꾸준히 자기 계발을 지속하면 "기술 전문 리더십" 수준에 도달할 수 있다. "기술 전문 리더십" 단계에 도달한 사람을 주로 "스태프 엔지니어"라고 부른다. 매니저의 역할이 관리 중심의 리더십 역량이 중요하다면, "스태프 엔지니어"는 기술 중심의 리더십 역량이 중요하다. 스태프 엔지니어 매니저 시니어 엔지니어 요약 기술 전문 리더십 매니저 도메인 전문 리더십 핵심 관리 항목 기술 관리 *넓은 커버리지의 S/W 구조 설계 *특정 분야의 전문가 수준의 지식 사람, 프로젝트 관리 *관리 능력(프로젝트, 위기, 사람 ....

article thumbnail
MSA의 성공 기준
프로그래밍/MSA 2023. 5. 19. 11:26

https://waspro.tistory.com/718 RESTFul API가 적용된 프로젝트 독립적인 배포가 가능하도록 결합도를 낮춘 프로젝트 클라우드가 적용된 확장성, 가용성이 확보된 프로젝트 자동화된 배포 체계가 갖추어진 프로젝트 DevOps 조직 체계를 적용한 프로젝트 "마이크로서비스 아키텍처는 그간 IT를 이끌어온 아키텍처 사상들의 Pain Point들을 수집하고 이를 어떻게 해소해 낼 것인가에 집중한 아키텍처 사상이며, 고객의 니즈를 신속하게 적용하기 위해 여러 기술셋들을 선택적으로 적용한 아키텍처이다. 성공적으로 전환한 프로젝트는 바로 이를 달성한 프로젝트라 할 수 있다." 여기서 주목해야 하는 점은 기술 적용이 아니라... Pain Point를 해소하기 위한 기술셋들을 선택적으로 적용한이다..