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๊ฐœ์˜ ๋Œ“๊ธ€
ยท

Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.0.2.

๋ฒ„์ „ ์˜ค๋ฅ˜

3์ผ ์ „
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

MyBatis - has an unsupported return type:

JDBC Template ์—์„œ MyBatis ๋กœ ๋งˆ์ด๊ทธ๋ž˜์ด์…˜ ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋งŒ๋‚œ ์—๋Ÿฌ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฆฌํ„ด ํƒ€์ž…

2022๋…„ 10์›” 11์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท