profile
πŸ§‘πŸ»β€πŸ’» Hello World!
νƒœκ·Έ λͺ©λ‘
전체보기 (215)TIL(153)Java(76)Spring(37)network(32)CS(30)mysql(15)Database(13)http(11)JPA(11)TROUBLESHOOTING(10)http header(8)JavaScript(7)Spring boot(7)sql(6)IntelliJ(6)container(5)git(5)toString(5)jsp(5)static(5)parameter(4)JOIN(4)annotation(4)gradle(4)aws(4)Polymorphism(4)RDBMS(4)http method(4)getter(4)setter(4)stream(4)interface(4)ORM(4)ec2(4)JDBC(4)spring security(4)Table(4)schema(3)AppConfig(3)HotKey(3)array(3)variable(3)method(3)entity(3)return(3)CREATE(3)COLUMN(3)html(3)show()(3)Controller(3)session(3)TCP/IP(3)github(3)Sort(3)object(3)MVC(3)bean(3)Mac Os(3)Thymeleaf(3)di(3)Overriding(3)function(3)Groovy(3)Casting(3)error(3)stack(3)rds(3)try catch(2)Map(2)Token(2)abstract(2)DTO(2)instance(2)process(2)TDD(2)test(2)collections(2)DIP(2)IoC(2)exception(2)else(2)LomBok(2)fill(2)DROP(2)heap(2)copyOf()(2)stash(2)book(2)packet(2)inheritance(2)static method(2)test code(2)library(2)mapping(2)Singleton(2)Object class(2)Modifier(2)INSERT(2)Cache(2)Spring Core(2)OOP(2)operator(2)argument(2)final(2)conditional(2)ssl(2)shield.io(2)View(2)Build Tool(2)server(2)opentutorials(2)arrays(2)distinct(2)if(2)Template-Engine(2)loop(2)class(2)use(2)while(2)patch(2)SOLID(2)binary_search(2)delete(2)equals(2)API(2)data type(2)XML(2)setting(2)applicationcontext(2)cookie(2)MariaDB(2)public(2)SQL Mapper(2)Generics(2)DESC(2)TreeSet(2)Thread(2)getInstance()(1)semantic version(1)queue(1)agile(1)Datasource(1)Stream.of()(1)ISP(1)Service Layer(1)Child Class(1)StringJoiner(1)REST(1)Travis CI(1)Proxy(1)ResponseEntity(1)removeAttribute(1)DAO(1)double click(1)sourcetree(1)skill badge(1)pom.xml(1)Location(1)INSERT INTO(1)WHERE(1)skip(1)boolean(1)group by(1)jstl(1)junit(1)terminal operation(1)throws(1)Bean Inheritance(1)Domain Model(1)like(1)HTTP API(1)iterator(1)length(1)maven(1)decimal(1)how to use shield.io(1)path(1)Domain Class(1)Index(1)project(1)FK(1)WIP(1)url(1)th(1)DDL(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)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)enumerated(1)IaaS(1)SimpleDateFormat(1)null(1)StringBuilder(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)GetMapping(1)allMatch(1)Spring init(1)OAuth 2.0(1)Blocking(1)TCL(1)Conversion(1)throw(1)Daemon Thread(1)URN(1)JSP Action(1)HTTP message(1)PK(1)AND gate(1)oridinal()(1)for(1)branch(1)Network Layer(1)in(1)@NotBlank(1)linkedlist(1)model(1)safe(1)printf(1)isEqual(1)Spring data(1)&&(1)host(1)JSP Objects(1)Parent Class(1)Start(1)Chained Exception(1)deepToString(1)Int(1)True(1)ip(1)tcp(1)RuntimeException(1)negate(1)RestController(1)implements(1)ComponentScan(1)return-type(1)login(1)eclipse(1)proxy cache(1)git flow(1)Reference Type(1)2d array(1)java.util.Date(1)Variable init(1)hoisting(1)EntityManagerFactory(1)μˆ˜μ •μ‹œκ°„(1)Web request flow(1)Hashing(1)@Temporal(1)Transistor(1)UDP(1)switch(1)DBMS(1)https(1)Databaase(1)Nginx(1)Web Programming(1)JWT(1)json(1)λ¨ΈμŠ€ν…ŒμΉ˜(1)toCharArray()(1)continue(1)WAS(1)http status code(1)Java 11(1)const(1)let(1)var(1)Java Bean(1)replace(1)SELECT * FROM(1)Code area(1)www.google.com(1)format(1)ocp(1)predicate(1)one to one(1)@NotNull(1)Lambda expression(1)filter(1)BeanDefinition(1)default(1)@lob(1)LocalDate(1)JS μŠ€μ½”ν”„(1)aop(1)foreach(1)Content-Length(1)arraycopy(1)cause exception(1)bug(1)build(1)Session Table(1)put(1)Collection(1)copy(1)String(1)config(1)key(1)commit(1)amazon(1)and(1)or(1)homebrew(1)java.util.Calendar(1)Application Layer(1)formatting(1)disabled(1)StringBuffer(1)google login(1)cd(1)printStackTrace()(1)synology(1)this(1)@GenerateValue(1)hash code(1)persistence(1)MVC framework(1)protected(1)JPA Update(1)Enum(1)Size(1)Anonymous Function(1)Web Layer(1)update(1)Session Layer(1)CSS(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)static import(1)tmi(1)script(1)anonymous class(1)erd(1)reduce(1)exception handling(1)FIFO(1)findAny(1)promotion(1)try-with-resources(1)MySQL Workbench(1)HashSet(1)class variable init(1)type(1)log(1)spring-rest-docs(1)abstract method(1)Connect Server(1)core(1)HashMap(1)memory(1)logical error(1)overloading(1)iv(1)valueOf(1)email(1)name(1)version(1)등둝/μˆ˜μ •/μ‚­μ œ(1)priority(1)reverse(1)max(1)spring batch(1)data(1)SemVer(1)DecimalFromat(1)PreparedStatement(1)NoArgsConstructor(1)executeQuery()(1)VARCHAR(1)@EqualsAndHashCode(1)extends(1)super(1)submit(1)user(1)Database language(1)application-oauth.properties(1)anyMatch(1)servlet(1)LIFO(1)parse()(1)pull(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)data modeling(1)Content-Encoding(1)Web Server(1)DCL(1)HTTP BODY(1)Physical Layer(1)sorted(1)setAttribute(1)spring-data-jpa(1)n(1)LIMIT(1)Gradle 7.0(1)NOT gate(1)VO(1)yield(1)spring cloud(1)CRUD(1)transfer-encoding(1)JDBCTemplate(1)Binary Search Tree(1)Internet Protocal(1)HttpSession(1)cannot resolve symbol(1)EL(1)findFirst()(1)Repository Layer(1)HTTP Connectionless(1)resultset(1)HttpEntity(1)Bean Find(1)Multi-core(1)Spring Container(1)Data area(1)inner class(1)λ ˆμ΄μ•„μ›ƒ 방식(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)FuntionalInterface(1).gitignore(1)BaseTimeEntity(1)@MappedSuperclass(1)private(1)RequestEntity(1)component scan(1)Collectors(1)row(1)MyBatis(1)copyOfRange()(1)set(1)multi thread(1)charAt(1)range(1)multi-process(1)java.time(1)Community Version(1)run(1)Stateless(1)vscode(1)runtime error(1)do while(1)google(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)FROM WHERE(1)travis(1)ci(1)deepEquals(1)Format class(1)ant(1)method reference(1)@CreatedDate(1)ORDER BY(1)make(1)SQL Function(1)transport layer(1)etag(1)Presentation Layer(1)badge(1)@EntityListeners(1)substring(1)import(1)package(1)ListIterator(1)Stream Operation(1)AssertJ(1)id(1)intermediate operation(1)Content-Type(1)SRP(1)flush(1)@NonNull(1)Major(1)Spring framwork(1)@Cacheable(1)Wrapper Class(1)indexOf(1)DML(1)S(1)URI(1)header(1)command(1)GET(1)POST(1)Autowired(1)push(1)access(1)μƒμ„±μ‹œκ°„(1)sleep(1)Number class(1)framework(1)field(1)Undifined(1)Visual Studio Code(1)Restful(1)allargsconstructor(1)ProjectBuild(1)Repository method(1)Primitive Type(1)default method(1)Server port(1)List(1)DNS(1)transient(1)NAS(1)Retry-After(1)Enumeration(1)ArrayList(1)Context Switching(1)IntelliJ Plugin(1)stackoverflow(1)

Travis CI 배포 μžλ™ν™”

이 λ¬Έμ„œλŠ” Travis CIλ₯Ό μ‚¬μš©ν•œ 배포 μžλ™ν™”μ— λŒ€ν•΄ 닀루고 μžˆμŠ΅λ‹ˆλ‹€. CI/CD의 κ°œλ…κ³Ό κ·œμΉ™, 그리고 Travis CIμ™€μ˜ 연동 방법에 λŒ€ν•΄ μ„€λͺ…ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ .travis.yml 파일의 ꡬ성과 각 ν•­λͺ©μ˜ 역할에 λŒ€ν•΄ μžμ„Ένžˆ 닀루고 μžˆμŠ΅λ‹ˆλ‹€.

3일 μ „
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

RDS μ ‘κ·Ό

이 λ¬Έμ„œλŠ” RDS μ ‘κ·Όκ³Ό κ΄€λ ¨λœ λ‚΄μš©μ„ 닀루고 μžˆμŠ΅λ‹ˆλ‹€. RDS ν…Œμ΄λΈ” 생성과 μŠ€ν”„λ§ μ„Έμ…˜ ν…Œμ΄λΈ” schema-mysql.sql RDS에 λ°˜μ˜ν•˜λŠ” 방법, ν”„λ‘œμ νŠΈ μ„€μ • 및 EC2 μ„€μ • 등이 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

3일 μ „
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

EC2 Server 배포

이 λ¬Έμ„œλŠ” EC2 μ„œλ²„μ— ν”„λ‘œμ νŠΈλ₯Ό λ°°ν¬ν•˜λŠ” 방법을 μ„€λͺ…ν•©λ‹ˆλ‹€. ν”„λ‘œμ νŠΈλ₯Ό ν΄λ‘ ν•˜κ³ , 배포 슀크립트λ₯Ό λ§Œλ“€κ³ , μ™ΈλΆ€ Security νŒŒμΌμ„ λ“±λ‘ν•˜λŠ” 과정을 λ‹€λ£Ήλ‹ˆλ‹€.

3일 μ „
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

AWS RDS

이 λ¬Έμ„œλŠ” AWS RDSλ₯Ό μ‚¬μš©ν•˜λŠ” 방법에 λŒ€ν•΄ μ„€λͺ…ν•©λ‹ˆλ‹€. RDS μΈμŠ€ν„΄μŠ€λ₯Ό μƒμ„±ν•˜κ³ , νŒŒλΌλ―Έν„°λ₯Ό μ„€μ •ν•˜κ³ , μ ‘μ†ν•˜λŠ” 방법 등이 ν¬ν•¨λ©λ‹ˆλ‹€.

3일 μ „
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

AWS Server EC2

이 λ¬Έμ„œλŠ” AWS EC2 μ„œλ²„λ₯Ό μ„€μ •ν•˜λŠ” 방법을 μ„€λͺ…ν•©λ‹ˆλ‹€. EC2λŠ” IaaS의 ν•œ μ’…λ₯˜λ‘œ, 가상머신, μŠ€ν† λ¦¬μ§€, λ„€νŠΈμ›Œν¬, 운영체제 λ“±μ˜ IT 인프라λ₯Ό λŒ€μ—¬ν•©λ‹ˆλ‹€. EC2 μΈμŠ€ν„΄μŠ€, pem ν‚€, SSH 접속 방법, Linux Server의 ν•„μˆ˜ 섀정을 λ‹€λ£Ήλ‹ˆλ‹€.

3일 μ „
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

Session μ €μž₯μ†Œλ‘œ DB μ‚¬μš© / κΈ°μ‘΄ ν…ŒμŠ€νŠΈμ— μ‹œνλ¦¬ν‹° 적용

이 λ¬Έμ„œλŠ” Spring Bootμ—μ„œ μ„Έμ…˜ μ €μž₯μ†Œλ‘œ DBλ₯Ό μ‚¬μš©ν•˜λŠ” 방법과 JDBCλ₯Ό μ‚¬μš©ν•˜λŠ” 방법을 λ‹€λ£Ήλ‹ˆλ‹€. μ‹œνλ¦¬ν‹°λ₯Ό κΈ°μ‘΄ API ν…ŒμŠ€νŠΈμ— μ μš©ν•˜λŠ” 방법에 λŒ€ν•΄ μ„€λͺ…ν•©λ‹ˆλ‹€. κΈ°μ‘΄ API ν…ŒμŠ€νŠΈμ—μ„œ λ°œμƒν•˜λŠ” 문제점과 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ 방법에 λŒ€ν•΄ λ‹€λ£Ήλ‹ˆλ‹€.

3일 μ „
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

Annotation 으둜 κ°œμ„ 

이 λ¬Έμ„œλŠ” μžλ°” μ½”λ“œμ—μ„œ λ°˜λ³΅λ˜λŠ” μ„Έμ…˜ 값을 κ°œμ„ ν•˜κΈ° μœ„ν•΄ Annotation을 μ‚¬μš©ν•˜λŠ” 방법을 μ„€λͺ…ν•©λ‹ˆλ‹€. @LoginUser μ–΄λ…Έν…Œμ΄μ…˜μ„ λ§Œλ“€μ–΄ λ©”μ†Œλ“œ 인자둜 μ„Έμ…˜ 값을 λ°”λ‘œ 받을 수 있게 λ³€κ²½ν•©λ‹ˆλ‹€.

3일 μ „
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

Spring Security & OAuth 2.0

이 λ¬Έμ„œλŠ” Spring Security와 OAuth 2.0에 λŒ€ν•œ λ‚΄μš©μ„ λ‹€λ£Ήλ‹ˆλ‹€. ꡬ글 μ„œλΉ„μŠ€ 등둝 방법과 Google 둜그인 연동 방법, 그리고 Spring Security μ„€μ • 방법 등에 λŒ€ν•΄ μ„€λͺ…ν•©λ‹ˆλ‹€.

3일 μ „
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

λ¨ΈμŠ€ν…ŒμΉ˜

이 λ¬Έμ„œλŠ” λ¨ΈμŠ€ν…ŒμΉ˜λ₯Ό μ‚¬μš©ν•˜λŠ” 방법과 λ ˆμ΄μ•„μ›ƒ 방식, JS μŠ€μ½”ν”„, SpringDataJpaμ—μ„œ μ œκ³΅ν•˜μ§€ μ•ŠλŠ” λ©”μ†Œλ“œ μ‚¬μš©, 규λͺ¨κ°€ μžˆλŠ” ν”„λ‘œμ νŠΈ 데이터 쑰회 등에 λŒ€ν•΄ μ„€λͺ…ν•˜κ³  μžˆλ‹€.

3일 μ „
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

JPA Auditing μƒμ„±μ‹œκ°„/μˆ˜μ •μ‹œκ°„ μžλ™ν™”

이 λ¬Έμ„œλŠ” JPA Auditing을 μ‚¬μš©ν•˜μ—¬ μƒμ„±μ‹œκ°„κ³Ό μˆ˜μ •μ‹œκ°„μ„ μžλ™μœΌλ‘œ λ“±λ‘ν•˜λŠ” 방법을 μ„€λͺ…ν•©λ‹ˆλ‹€. BaseTimeEntity 클래슀λ₯Ό λ§Œλ“€μ–΄μ„œ Entity ν΄λž˜μŠ€λ“€μ΄ 상속받도둝 ν•˜κ³ , JPA Auditing μ–΄λ…Έν…Œμ΄μ…˜μ„ ν™œμ„±ν™”ν•˜μ—¬ μžλ™μœΌλ‘œ μ‹œκ°„μ„ λ“±λ‘ν•©λ‹ˆλ‹€.

3일 μ „
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

JPA의 Update κΈ°λŠ₯

이 λ¬Έμ„œλŠ” JPA의 Update κΈ°λŠ₯에 λŒ€ν•΄ 닀루고 μžˆμŠ΅λ‹ˆλ‹€. JPA의 μ˜μ†μ„± μ»¨ν…μŠ€νŠΈλ₯Ό μ΄μš©ν•˜λ©΄ λ°μ΄ν„°λ² μ΄μŠ€μ— 쿼리λ₯Ό 날리지 μ•Šκ³ λ„ Entity 객체의 값을 λ³€κ²½ν•  수 있으며, 이λ₯Ό 더티 체킹이라고 ν•©λ‹ˆλ‹€.

3일 μ „
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

등둝/μˆ˜μ •/쑰회 API

이 λ¬Έμ„œλŠ” 등둝/μˆ˜μ •/쑰회 APIλ₯Ό κ΅¬ν˜„ν•˜λŠ” 방법에 λŒ€ν•΄ μ„€λͺ…ν•©λ‹ˆλ‹€. APIλ₯Ό μœ„ν•œ 3개의 클래슀, Bean μ£Όμž… 방식, 등둝/쑰회 DTO 클래슀, 등둝 ν…ŒμŠ€νŠΈ μ½”λ“œ 등에 λŒ€ν•΄ λ‹€λ£Ήλ‹ˆλ‹€.

3일 μ „
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

μŠ€ν”„λ§ λΆ€νŠΈμ—μ„œ JPA둜 λ°μ΄ν„°λ² μ΄μŠ€ λ‹€λ€„λ³΄μž

이 λ¬Έμ„œλŠ” μŠ€ν”„λ§ λΆ€νŠΈμ—μ„œ JPAλ₯Ό μ‚¬μš©ν•˜μ—¬ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό λ‹€λ£¨λŠ” 방법에 λŒ€ν•΄ μ„€λͺ…ν•©λ‹ˆλ‹€. Spring Data JPAλ₯Ό μ‚¬μš©ν•˜λ©΄ κ΅¬ν˜„μ²΄ ꡐ체와 μ €μž₯μ†Œ ꡐ체가 쉽고, Entity ν΄λž˜μŠ€μ—μ„œλŠ” Setter λ©”μ†Œλ“œλ₯Ό λ§Œλ“€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

3일 μ „
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

둬볡 Lombok

이 λ¬Έμ„œλŠ” 둬볡(Lombok)에 λŒ€ν•œ λ‚΄μš©μ„ 닀루고 있으며, μ–΄λ…Έν…Œμ΄μ…˜μ„ μ‚¬μš©ν•˜μ—¬ Getter, Setter, κΈ°λ³Έ μƒμ„±μž, toString 등을 μžλ™ μƒμ„±ν•˜λŠ” 방법을 μ„€λͺ…ν•©λ‹ˆλ‹€. λ˜ν•œ, 둬볡을 μ‚¬μš©ν•˜μ—¬ μž‘μ„±ν•œ μ½”λ“œλ₯Ό ν…ŒμŠ€νŠΈν•˜λŠ” 방법을 λ‹€λ£Ήλ‹ˆλ‹€.

3일 μ „
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

μŠ€ν”„λ§ λΆ€νŠΈμ—μ„œ ν…ŒμŠ€νŠΈ μ½”λ“œλ₯Ό μž‘μ„±ν•˜μž

이 λ¬Έμ„œλŠ” μŠ€ν”„λ§ λΆ€νŠΈμ—μ„œ ν…ŒμŠ€νŠΈ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” 방법에 λŒ€ν•΄ λ‹€λ£Ήλ‹ˆλ‹€. TDD, λ ˆλ“œ κ·Έλ¦° 사이클, λ‹¨μœ„ ν…ŒμŠ€νŠΈμ˜ 이점, 메인 클래슀 μž‘μ„±, API μž‘μ„±, WAS λŒ€μ‹  ν…ŒμŠ€νŠΈ μ½”λ“œλ‘œ 검증, ν…ŒμŠ€νŠΈ μ½”λ“œμ˜ μ€‘μš”μ„± 등에 λŒ€ν•΄ μ„€λͺ…ν•©λ‹ˆλ‹€.

3일 μ „
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

μΈν…”λ¦¬μ œμ΄λ‘œ μŠ€ν”„λ§ λΆ€νŠΈ μ‹œμž‘ν•˜κΈ°

이 λ¬Έμ„œλŠ” μΈν…”λ¦¬μ œμ΄λ₯Ό μ‚¬μš©ν•˜μ—¬ μŠ€ν”„λ§ λΆ€νŠΈλ₯Ό μ‹œμž‘ν•˜λŠ” 방법에 λŒ€ν•΄ μ„€λͺ…ν•©λ‹ˆλ‹€. μΈν…”λ¦¬μ œμ΄μ˜ μž₯점, ν”„λ‘œμ νŠΈ 생성, build.gradle 파일의 ꡬ성, 그리고 GitHub 연동에 λŒ€ν•΄ λ‹€λ£Ήλ‹ˆλ‹€.

3일 μ „
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

Spring Security ν™˜κ²½μ—μ„œ H2 μ‚¬μš©ν•˜κΈ°

Spring Security, H2 μ—°λ™ν–ˆμ„ λ•Œ 문제 ν•΄κ²°

3일 μ „
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

MyBatis - has an unsupported return type:

JDBC Template μ—μ„œ MyBatis 둜 λ§ˆμ΄κ·Έλž˜μ΄μ…˜ ν•˜λŠ” κ³Όμ •μ—μ„œ λ§Œλ‚œ μ—λŸ¬ μ§€μ›ν•˜μ§€ μ•ŠλŠ” 리턴 νƒ€μž…

2022λ…„ 10μ›” 11일
Β·
0개의 λŒ“κΈ€
Β·