profile
🧑🏻‍💻 Hello World!
태그 목록
전체보기 (254)TIL(153)Java(77)Spring(42)CS(33)network(32)mysql(15)TROUBLESHOOTING(13)Database(13)JPA(11)http(11)Spring boot(9)IntelliJ(8)container(8)http header(8)JavaScript(7)sql(7)aws(6)ec2(6)git(6)docker(6)function(5)static(5)CREATE(5)jsp(5)toString(5)setter(4)getter(4)class(4)variable(4)parameter(4)spring security(4)ORM(4)http method(4)Table(4)gradle(4)annotation(4)Visual Studio Code(4)JDBC(4)JOIN(4)Polymorphism(4)Controller(4)stream(4)TDD(4)RDBMS(4)interface(4)github(4)data type(3)method(3)COLUMN(3)html(3)OS(3)docker-image(3)bean(3)final(3)inheritance(3)error(3)rds(3)AppConfig(3)TCP/IP(3)Overriding(3)var(3)dart(3)HotKey(3)object(3)return(3)schema(3)array(3)Thread(3)stack(3)test(3)pull(3)show()(3)Thymeleaf(3)process(3)run(3)DTO(3)flutter(3)Mac Os(3)di(3)entity(3)Groovy(3)session(3)Casting(3)Sort(3)MVC(3)opentutorials(2)test code(2)TreeSet(2)LomBok(2)Cache(2)distinct(2)heap(2)static method(2)abstract(2)DESC(2)conditional(2)@WebMvcTest(2)host(2)copyOf()(2)Modifier(2)google(2)book(2)while(2)fill(2)docker engine(2)loop(2)Widget(2)Generics(2)use(2)SOLID(2)plug in(2)mapping(2)OOP(2)Start(2)tcp(2)vscode(2)instance(2)try catch(2)build(2)DROP(2)Map(2)delete(2)INSERT(2)push(2)argument(2)XML(2)library(2)String(2)collections(2)Token(2)@SpringBootTest(2)packet(2)setting(2)eclipse(2)bool(2)DIP(2)context(2)stash(2)applicationcontext(2)IoC(2)cookie(2)exception(2)dockerfile(2)MariaDB(2)List(2)Spring Core(2)memory(2)json(2)else(2)View(2)Template-Engine(2)patch(2)Nginx(2)vm(2)shield.io(2)SQL Mapper(2)const(2)Object class(2)Singleton(2)&&(2)docker container(2)ssl(2)if(2)Int(2)binary_search(2)server(2)Build Tool(2)arrays(2)operator(2)API(2)equals(2)public(2)semantic version(1)queue(1)agile(1)Datasource(1)Stream.of()(1)MaterialApp(1)data class(1)ISP(1)Service Layer(1)Mockito(1)Child Class(1)StringJoiner(1)REST(1)Travis CI(1)Proxy(1)ResponseEntity(1)removeAttribute(1)DAO(1)null safety(1)image(1)double click(1)sourcetree(1)mac(1)skill badge(1)pom.xml(1)Location(1)FROM(1)INSERT INTO(1)WHERE(1)skip(1)AWS Summit Seoul 2023(1)boolean(1)group by(1)named parameters(1)QQ equals(1)jstl(1)junit(1)mockMvc(1)terminal operation(1)throws(1)Bean Inheritance(1)Domain Model(1)Optional Positional Parameters(1)like(1)swap(1)HTTP API(1)iterator(1)length(1)maven(1)decimal(1)Host OS(1)how to use shield.io(1)path(1)volume(1)Domain Class(1)Index(1)DEFINED_PORT(1)project(1)FK(1)WIP(1)url(1)th(1)DDL(1)registry(1)false(1)custom exception(1)PORT(1)X-Frame-Options(1)EntityManager(1)many to many(1)noneMatch(1)auditing(1)OSI 7 Layer(1)React(1)@WithMockUser(roles=”USER”)(1)instanceof(1)lambda(1)aws rds(1)database model(1)Manifesto(1)call stack(1)instance variable init(1)auto boxing(1)reference(1)RDS Parameter(1)Allow(1)Content-Range(1)ASC(1)Interrupt(1)Idempotent(1)csrf(1)linux server(1)Constructors(1)enumerated(1)IaaS(1)SimpleDateFormat(1)null(1)oracle(1)StringBuilder(1)localhost(1)one to many(1)append(1)executeUpdate()(1)binary tree(1)Data Link Layer(1)@NotEmpty(1)LEFT JOIN(1)INNER JOIN(1)RIGHT JOIN(1)H2(1)Springboot(1)MIME type(1)RAC(1)GetMapping(1)Collection if(1)allMatch(1)Spring init(1)late(1)bit(1)OAuth 2.0(1)dr(1)Blocking(1)TCL(1)abstract class(1)Conversion(1)Container Widget(1)spy(1)throw(1)Daemon Thread(1)URN(1)JSP Action(1)HTTP message(1)PK(1)AND gate(1)oridinal()(1)for(1)@Transcational(1)branch(1)Network Layer(1)in(1)@NotBlank(1)linkedlist(1)Coding conventions(1)MIME(1)model(1)windows(1)safe(1)cmd(1)printf(1)isEqual(1)Spring data(1)day-1(1)JSP Objects(1)Parent Class(1)Chained Exception(1)deepToString(1)Double(1)True(1)ip(1)RuntimeException(1)negate(1)RestController(1)gson(1)implements(1)ComponentScan(1)return-type(1)login(1)proxy cache(1)git flow(1)Reference Type(1)getContentType()(1)expose(1)2d array(1)Google Java Style Guide(1)TRUNCATE(1)java.util.Date(1)Variable init(1)hoisting(1)EntityManagerFactory(1)수정시간(1)Web request flow(1)Hashing(1)@Temporal(1)Transistor(1)CI/CD(1)가상 머신(1)Fat Arrow Syntax(1)any(1)UDP(1)cli(1)switch(1)@InjectMocks(1)DBMS(1)https(1)Databaase(1)Cascade Notation(1)Web Programming(1)JWT(1)머스테치(1)toCharArray()(1)opensource(1)continue(1)WAS(1)http status code(1)Java 11(1)let(1)Java Bean(1)Extract Widget(1)replace(1)SELECT * FROM(1)Code area(1)www.google.com(1)format(1)seoul(1)ocp(1)predicate(1)one to one(1)@NotNull(1)Lambda expression(1)sts(1)filter(1)bootstrap(1)BeanDefinition(1)interrupts(1)default(1)@lob(1)LocalDate(1)JS 스코프(1)aop(1)foreach(1)ROOT 인증서(1)Content-Length(1)github actions(1)arraycopy(1)Turing(1)cause exception(1)bug(1)Session Table(1)put(1)Collection(1)copy(1)Named Constructor(1)config(1)nginx.conf(1)key(1)commit(1)amazon(1)CLEAN CODE(1)and(1)or(1)homebrew(1)java.util.Calendar(1)Application Layer(1)formatting(1)disabled(1)JIT(1)StringBuffer(1)google login(1)cd(1)State(1)printStackTrace()(1)synology(1)this(1)CupertinoApp(1)@GenerateValue(1)hash code(1)persistence(1)MVC framework(1)QQ assignment operator(1)protected(1)JPA Update(1)Enum(1)Size(1)Anonymous Function(1)Collection for[](1)Web Layer(1)update(1)Session Layer(1)CSS(1)프리티어(1)forEachOrdered()(1)Layered architecture pattern(1)Constructor(1)LSP(1)repository(1)The method is ambiguous(1)@Target(ElementType.PARAMETER)(1)new operator(1)Bean Balidation(1)@property(1)finally block(1)MultipartFile(1)static import(1)tmi(1)script(1)anonymous class(1)erd(1)reduce(1)exception handling(1)FIFO(1)findAny(1)docker hub(1)promotion(1)try-with-resources(1)MySQL Workbench(1)HashSet(1)class variable init(1)Named Constructor Parameters(1)type(1)log(1)logging(1)spring-rest-docs(1)abstract method(1)Connect Server(1)record class(1)cpu(1)core(1)HashMap(1)2023(1)logical error(1)overloading(1)iv(1)valueOf(1)email(1)name(1)RANDOM_PORT(1)version(1)inspect(1)등록/수정/삭제(1)priority(1)reverse(1)max(1)spring batch(1)dynamic(1)load(1)data(1)SemVer(1)DecimalFromat(1)webhook(1)PreparedStatement(1)svn(1)NoArgsConstructor(1)executeQuery()(1).dockerignore(1)mock(1)VARCHAR(1)Context Switch(1)@EqualsAndHashCode(1)AOT(1)application.properties(1)revision(1)10.0.2.2(1)label(1)extends(1)super(1)submit(1)user(1)Database language(1)application-oauth.properties(1)anyMatch(1)servlet(1)LIFO(1)parse()(1)unboxing(1)Configuration(1)hashCode()(1)Minor(1)nosql(1)instance method(1)JDK 1.8(1)d(1)Lamda(1)Calendar class(1)Test Security(1)@RequiredArgsConstructor(1)AWS summit(1)db(1)data modeling(1)curl(1)Content-Encoding(1)Web Server(1)CodeMetrics(1)Java 10(1)DCL(1)Bridge(1)Java 16(1)HTTP BODY(1)Physical Layer(1)attach(1)sorted(1)setAttribute(1)spring-data-jpa(1)n(1)LIMIT(1)t2.micro(1)Gradle 7.0(1)IR(1)NOT gate(1)VO(1)go(1)yield(1)workdir(1)spring cloud(1)CRUD(1)transfer-encoding(1)JDBCTemplate(1)Binary Search Tree(1)Internet Protocal(1)HttpSession(1)string interpolation(1)cannot resolve symbol(1)EL(1)QQ Operator(1)findFirst()(1)detect(1)Repository Layer(1)HTTP Connectionless(1)resultset(1)HttpEntity(1)Bean Find(1)Multi-core(1)Spring Container(1)none(1)Data area(1)inner class(1)e2e(1)레이아웃 방식(1)docker network(1)enums(1)min(1)override(1)persistent(1)calendar(1)time(1)datetime(1)Date(1)Stateful(1).ignore(1)JavaServer Pages(1)dependencies(1)optional(1)default constructor(1)REST-Assured(1)FuntionalInterface(1).gitignore(1)BaseTimeEntity(1)@MappedSuperclass(1)private(1)RequestEntity(1)Scaffold Class(1)component scan(1)Collectors(1)row(1)MyBatis(1)Program(1)copyOfRange()(1)set(1)add(1)multi thread(1)save(1)android(1)mixins(1)charAt(1)Instruction Register(1)range(1)multi-process(1)java.time(1)Community Version(1)Stateless(1)runtime error(1)do while(1)trunk(1)DELETE FROM(1)compile-time error(1)scope(1)call(1)CV(1)getMessage()(1)Composite(1)Welcome page(1)deleteCharAt()(1)re-throwing(1)GITHUB-FLOW(1)encapsulation(1)collect(1)SpringDataJpa(1)search(1)FROM WHERE(1)tag(1)VIP(1)travis(1)ci(1)deepEquals(1)Format class(1)ant(1)method reference(1)images(1)@CreatedDate(1)Java 14(1)ORDER BY(1)make(1)SQL Function(1)transport layer(1)etag(1)Kernel(1)Presentation Layer(1)badge(1)@EntityListeners(1)summit(1)substring(1)typedef(1)Sets(1)transactional(1)import(1)package(1)ListIterator(1)Stream Operation(1)compiler(1)record(1)AssertJ(1)id(1)google-java-format(1)intermediate operation(1)Content-Type(1)SRP(1)flush(1)@NonNull(1)Major(1)Spring framwork(1)@Cacheable(1)Wrapper Class(1)Apache Tika(1)indexOf(1)DML(1)S(1)MAINTAINER(1)URI(1)header(1)command(1)GET(1)POST(1)Autowired(1)access(1)SMP(1)생성시간(1)Maps(1)sleep(1)Number class(1)jenkins(1)framework(1)field(1)Undifined(1)num(1)Restful(1)allargsconstructor(1)ProjectBuild(1)Repository method(1)Primitive Type(1)default method(1)restful api(1)TransactionManager(1)Server port(1)DNS(1)transient(1)NAS(1)linux(1)Retry-After(1)Enumeration(1)ArrayList(1)Nullable(1)PCB(1)Context Switching(1)IntelliJ Plugin(1)stackoverflow(1)getInstance()(1)

Oracle RAC 환경 2VIP 세팅 값 공유

2023년 10월 24일 테스트 후 접속 성공 확인구글링해도 저마다 세팅 순서가 다르기에 저도 소신껏 접속 성공한 jdbc URL 공유합니다.

2024년 1월 9일
·
0개의 댓글
·
post-thumbnail

프로세스의 이해

프로세스는 실행 중인 프로그램으로, 운영체제의 주요 작업 단위이며 프로세스 관리는 운영체제의 가장 기본적인 역할입니다. 프로세스의 메모리 레이아웃은 텍스트 세션, 데이터 세션, 힙 영역 세션, 그리고 스택 영역 세션으로 구성됩니다.

2023년 7월 23일
·
1개의 댓글
·
post-thumbnail

운영체제의 개념과 구조

운영체제는 컴퓨터 시스템의 핵심으로, CPU와 디바이스 컨트롤러 등으로 구성된 전통적인 컴퓨터 시스템을 제어합니다. 컴퓨터 부팅 시 OS를 로드하는 Bootstrap 프로그램과 CPU와 I/O 디바이스 통신을 가능케 하는 Interrupts 등이 중요한 구성 요소입니다

2023년 7월 23일
·
1개의 댓글
·
post-thumbnail

운영체제란?

운영체제는 컴퓨터 시스템을 운영하고 관리하는 소프트웨어로, 컴퓨터에서 항상 실행되는 프로그램입니다. 어플리케이션 프로그램 대신 하드웨어에 접근하여 시스템 서비스를 제공하며, 프로세스 관리 등 다양한 기능을 수행합니다.

2023년 7월 23일
·
1개의 댓글
·
post-thumbnail

STS 단축키 정리

이 문서는 STS에서 코딩 및 디버깅에 유용한 단축키 목록을 제공합니다. 코드 편집 및 디버깅에 대한 다양한 기능이 포함되어 있으며 초보자부터 숙련된 프로그래머까지 시간을 절약하고 생산성을 높일 수 있는 단축키를 제공합니다.

2023년 6월 22일
·
0개의 댓글
·
post-thumbnail

Git vs. SVN

Git과 SVN의 차이점과 각각의 특징을 소개하고, SVN의 용어와 명령어를 설명하고 있다. SVN은 Client/Server 타입 형상 관리 툴, Git은 분산 저장소 타입 형상 관리 툴이다.

2023년 6월 21일
·
0개의 댓글
·
post-thumbnail

자주 사용하는 리눅스 명령어

리눅스 명령어에 대한 요약문입니다. ls, cd, cat, vi, ps, ifconfig, ping, ssh, grep 등 여러 명령어에 대한 간단한 설명이 있습니다. 새로운 디렉토리 생성, 파일 삭제, 프로세스 관리, 네트워크 관리 등 다양한 기능이 소개되어 있습니다

2023년 6월 6일
·
0개의 댓글
·
post-thumbnail

Apache Tika와 MultipartFile

Tika를 사용하면 MIME Type을 정확하게 확인할 수 있지만, 파일 이름에 확장자가 없을 때에만 정확한 결과를 반환합니다. MultipartFile의 getContentType() 메서드를 사용하면 기본적인 파일 유형 확인이 가능하며, 사용이 간편합니다.

2023년 5월 27일
·
0개의 댓글
·
post-thumbnail

Google Java Style Guide 코딩 컨벤션

Google Java Style Guide 코딩 컨벤션, Plug-in을 통해 Google Java Style Guide 포맷팅을 적용하는 방법, Github Actions를 이용한 저장소 레벨 포맷팅 적용 방법 등에 대한 가이드입니다.

2023년 5월 16일
·
0개의 댓글
·
post-thumbnail

CodeMetrics Plug-in

CodeMetrics는 코드 복잡도 확인 플러그인으로, 대략적인 코드 품질 확인이 가능합니다. 복잡도 레벨은 Extreme, High, Normal, Low로 구분되며, 복잡도 점수를 낮추기 위해서는 if 절 단순화, return, throw 개수 감소 등의 방법 사용

2023년 5월 16일
·
0개의 댓글
·
post-thumbnail

var - Java

Java 10부터 도입된 var 키워드는 지역 변수에서만 사용되며, 컴파일러가 타입을 추론한다. 초기화 필요하며, null로 초기화 불가능하고, 배열과 람다에서는 사용할 수 없다. 하지만, 어노테이션을 사용하거나 반복문에서는 사용 가능하다.

2023년 5월 11일
·
0개의 댓글
·
post-thumbnail

Mockito 기반의 Controller 단위 테스트

이 문서는 Mockito를 사용한 Controller 단위 테스트에 대한 설명과 예시 코드가 포함되어 있습니다. Mockito 어노테이션 종류와 메서드, 그리고 단위 테스트 작성 방법에 대한 내용이 다루어지며, @WebMvcTest를 사용한 방법도 소개됩니다.

2023년 5월 10일
·
0개의 댓글
·
post-thumbnail

MockMvc, Rest Assured 차이

MockMvc와 Rest Assured는 테스트 방법에 차이가 있다. MockMvc는 컨트롤러 단위 테스트에 사용되며, 가짜 객체를 만들어 처리한다. Rest Assured는 End-to-End Test 전 구간 테스트에 사용되며, 실제 요청으로 처리한다.

2023년 5월 10일
·
1개의 댓글
·
post-thumbnail

SpringBoot 테스트를 위한 DB 격리

이 문서는 SpringBoot 테스트 시 발생하는 DB 격리 문제와 이를 해결하기 위한 방법을 다룹니다. `@Transactional` 어노테이션으로는 해결이 불가능한 `@SpringBootTest`에서의 문제점을 다양한 방법으로 해결하는 방법을 제시합니다.

2023년 5월 10일
·
0개의 댓글
·
post-thumbnail

AWS EC2 프리티어에서 Jenkins 배포시 중단 해결

AWS EC2 프리티어 t2.micro 유형에서 Jenkins를 배포하면 서버가 중단될 수 있다. RAM 용량이 부족한 문제는 swap 파일을 만들어 해결할 수 있다.

2023년 5월 8일
·
0개의 댓글
·
post-thumbnail

@Transactional

Spring의 @Transactional 어노테이션은, AOP를 이용하여 비즈니스 로직과 트랜잭션 코드를 분리하는 방법입니다. 이를 통해 비즈니스 로직에만 집중할 수 있으며, 롤백 처리를 자동으로 해주는 등의 부가 기능을 제공합니다.

2023년 5월 8일
·
0개의 댓글
·
post-thumbnail

Java - record class

Java 14의 record class는 DTO 클래스를 만드는 데 유용하며, 불필요한 코드를 줄이고 간결한 코드 작성을 가능하게 합니다. 생성자, 데이터 필드, getter 메서드, equals(), hashCode(), toString() 메서드를 자동 생성합니다.

2023년 5월 8일
·
0개의 댓글
·
post-thumbnail

AWS Summit Seoul 2023 후기

AWS Summit Seoul 2023 후기: 수많은 기업들이 사용하는 AWS에 대한 컨퍼런스. 발표는 다양한 세션으로 구성되어 있었고, 개발자와 비개발자 모두에게 흥미로운 내용이었다. 대표적인 세션으로는 카카오의 AWS 글로벌 채팅 서비스와 쿠팡의 대규모 데이터 활용

2023년 5월 3일
·
0개의 댓글
·
post-thumbnail

Dockerfile 빌드

Dockerfile로 이미지를 생성하는 방법과, 생성된 이미지로 컨테이너를 실행하는 방법, 그리고 빌드 컨텍스트와 .dockerignore 파일에 대한 설명이 담긴 문서입니다.

2023년 5월 2일
·
0개의 댓글
·
post-thumbnail

Dockerfile

Dockerfile은 컨테이너에 설치해야 하는 패키지, 소스코드, 명령어, 셸 스크립트 등을 하나의 파일에 기록해 빌드 및 배포를 자동화하는 도구이다. Dockerfile의 명령어는 FROM, LABEL, RUN, ADD, WORKDIR, EXPOSE, CMD 가 있다

2023년 5월 1일
·
0개의 댓글
·