개발 이론50 [Kotlin] 기초 개념 (1) Kotlin을 공부해야하는 상황이라 부트캠프에 있는 Kotlin 기초개념 중 헷갈리거나 처음본 개념들을 정리할 것이다. 공부하면서 느낀점은 확실히 Java보다 편리한점은 존재하지만 뭔가 헷갈린다고 할까나...??? 그런 부분들 정리할 예정 문자열 템플릿 // kotlin val name = "DalBeen" println("Hello, $name!") println("Hello, ${if(age>26) name else "Dog"}!") // java String name = "DalBeen"; System.out.println("Hello, " + name + "!"); 보통 자바에서는 항상 ""+""을 통해서 변수값을 넣었는데 Kotlin은 위와 같이 편리함을 제공해준다 $+문자열 -> 문자열 리터럴.. 2024. 4. 18. [Spring Batch] 예제만들어보기 이전 블로그에서 간단하게 개념을 살펴보았다. 이번에는 Spring Batch 5 기준 예제를 만들어서 적용해볼 예정이다. 이번 예제는 PayHistory테이블에서 pay_done상태의 데이터를 뽑아 Adjust와 AdjustDetail테이블에 정산하는 것이다. 여기서 주의하실점 PayHistory테이블의 userId는 서비스 수행자의 id라고 가정한다. Tasklet을 이용 일단 나의 로직은 이러하다 PayHistory에서 pay_done인 데이터들 가져와서 -> Adjust에 PayHistory의 userId기준으로 데이터가 있다면 거기다가 값을 더해주고 -> AdjustDetail 데이터도 생성한다. -> 만약 Adjust에 PayHistory의 userId기준으로 데이터가 없다면 Adjust 데이터.. 2024. 2. 29. [mySQL] Explain이 무엇인가? mysql 인덱스 정리하려다가 Explain보는 법? 좀 공부하려고 하다보니... 적어놔야할거같아서... Explain이 뭐냐?? mysql doc에 따르면 "select, delete, insert, replace, update 쿼리에 대해 Mysql이 어떻게 실행했는지 정보를 보여준다" 라고 되어있다. 즉, 데이터베이스가 데이터를 찾아가는 일련의 과정을 보여주는 것이다. explain을 통해 기존의 쿼리 튜닝 뿐만 아니라 성능 분석, 인덱스 전략 수립등을 할 수 있다고 한다. Explain 어떻게 사용하는데? 너무 간단하다. 사용하고자하는 쿼리 맨앞에 "Explain"만 붙이면 끝! Explain select id from user where name = 'test' 그럼 테이블이 이렇게 나온다.(해.. 2024. 2. 29. [Spring Batch] 개념 개인프로젝트때 스프링 배치를 사용했다. 근데 사실 자신감이 없다. 이부분에 대해서는 스프링 배치를 사용해보고 싶어서 , 필요해서 사용한거긴하지만 코드에는 자신이 없었다.. 근데 이걸 멘토님이 보고 알아채셨다.. 혹시 여기 자신없죠? 라고 하셨다... 역시 현업개발자분들의 눈은 못 속이는 군..ㅎㅎㅎ 그래서 정리하는 스프링 배치! 배치란? 배치란 간단하게 일관처리라는 의미이다. 데이터를 실시간으로 처리하는 것이 아니라 일괄적으로 처리하는 작업이다. 근데 왜?? 실시간으로 처리하지 않고 일괄적으로 처리할까?? 예를 들어보자. 대부분의 커머스 사이트에서는 매일 전날의 데이터를 집계한다. 이 집계과정을 어디서 수행해야할까? 1. 매번 검색할때마다 집계를 수행해야할까? -> 그건 좀.. 데이터가 5십만개에서 1억.. 2024. 2. 27. Spring Context는 모든 빈들을 프록시로 만들까??? 내가 얼핏 듣기로는 스프링 컨텍스트가 프록시로 만든다는 말을 들은 적이 있는데.. 확실하지가 않다.. 모든 빈들을 프록시로 만드는 건지.. 그래서 간단하게 테스트 해보았다. @Component public class Service { public void test(){ System.out.println("test"); } } @Configuration public class Config { @Bean public Service service(){ return new Service(); } } public static void main(String[] args) { ApplicationContext applicationContext = new AnnotationConfigApplicationContext(.. 2024. 2. 22. [CS] 소스코드와 명령어 고급언어와 저급언어 고급언어 : 컴퓨터가 아닌 사람을 위한 언어 (프로그래밍 언어) 저급언어 : 컴퓨터가 직접 이해하고 실행할 수 있는 언어 고급언어로 작성된 소스코드 실행시 저급언어(명령어)로 변환되어야함 저급언어에는 기계어와 어셈블리어가 존재한다. 기계어는 오직 컴퓨터만을 위한 언어로 0과 1로 이루어져있고 어셈블리어는 0과1로 표현된 명령어를 읽기 편한 형태로 변역한 언어 컴파일 언어와 인터프리터 언어 고급언어로 작성된 코드를 실행할떄 저급언어로 변환된다고 했는데 이때 크게 컴파일 방식과 인터프리트 방식이 있다. 1. 컴파일 언어 컴파일러에 의해 소스코드 전체가 저급언어로 변환되어 실행하는 고급언어이다. 대표적으로 C언어가 있다. 소스코드를 저급언어로 변환되는 과정을 컴파일이라고 하고 , 컴파일을 .. 2024. 2. 12. 이전 1 2 3 4 5 ··· 9 다음 728x90