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