스파르타코딩

오늘 한 일 오늘은 조건검색기능을 QueryDSL을 이용해서 만들었다. 자바 백엔드 기술은 Spring Boot와 Spring Data JPA를 함께 사용한다. 하지만, 복잡한 쿼리, 동적 쿼리를 구현하는 데 있어 한계가 있다. 이러한 문제점을 해결할 수 있는 것이 QueryDSL이다. QueryDSL이 등장하기 이전에는 Mybatis, JPQL, Criteria 등 문자열 형태로 쿼리문을 작성하여 컴파일 시에 오류를 발견하는 것이 불가능했다. 하지만, QueryDSL은 자바 코드로 SQL 문을 작성할 수 있어 컴파일 시에 오류를 발생하여 잘못된 쿼리가 실행되는 것을 방지할 수 있다. 난 이 자바코드로 써서 코드에서 에러를 바로 찾아주는 부분이 정말 신세계 였다. 먼저 QueryDSL을 사용하기 위해서는..
오늘부터는 미니프로젝트가 끝난 뒤, java문법 기초강의가 시작했다. 처음 배운 내용은 컴퓨터 언어의 역사 java언어가 생기게 된 이유인데, 여기서 예전에 배웠던 C언어가 왜 C언어인지도 알 수 있었다. 처음엔 A언어가 시작이었으면 기능이 추가되어서 Bell사에서 만들어서 B언어가 탄생, 그 뒤 B언어보다 나은 기능이라는 의미에서 B다음 알파벳인 C언어가 되었다. C언어에서 공통실행환경이 생기고 객체지향 개념이 들어간 JAVA언어가 탄생했다. JVM JVM은 무엇일까? JVM은 JavaVirtualMachine의 약자로 여러 OS위에 JAVA프로그램을 실행 시킬 수 있는 가상의 기기를 만들어주는 장치이다. 바이트 코드 내가 작성한 .java코드를 운영체제가 읽을 수 있는 .class코드로 변환한 코드 ..
이번엔 객체지향에 대해 공부한걸 정리하겠다. JAVA가 객체지향 언어이기 때문에 우린 객체지향을 이해할 필요가 있다. 객체지향은 현실을 프로그램화해서 컴퓨터 내에 그대로 존재하게 만들려는 발상에서 시작했다. 객체 객체지향을 이해하려면 일단 객체에 대해 이해해야한다. 수업에서는 객체에대해 이해하려 하지말고 프로그램상 객체에대해서만 이해하면 공부하다보면 알아서 객체가 이해된다고 설명한다.(바로 객체를 이해할려는 행동은 안 좋다는 뜻) 그럼 프로그램에서 객체는 뭘까 우린 객체를 만들기 위해 클래스 라는것을 사용합니다. 클래스는 무엇일까? 클래스 : 객체를 정의해 놓은 것, 객체를 생성할 때 사용한다. 객체 : 실제로 존재하는 사물 또는 개념 그렇다면 클래스는 실제로 존재하는 사물 또는 개념을 프로그램상에 정의..
1. 다음은 배열을 선언하거나 초기화한 것이다. 잘못된 것을 고르고 그 이유를 설명하세요. int[] arr[];//자료형 뒤나 변수명 뒤중 한곳만 []를 붙여준다. 틀린문법. int[] arr = {1,2,3,};//옳은 문법 int[] arr = new int[5];//옳은 문법 int[] arr = new int[5]{1,2,3,4,5};//값을 선언해줄 때 크기를 지정해주는 5를 지워줘야한다. int arr[5];//선언만 하면서 크기를 지정할 수 없다. int arr[] = new int[5]가 맞는 문법 int[] arr[] = new int[3][];//1번과 같은 이유 + 1차원배열을 선언하고 2차원배열의 공간을 만드는 것 x 2.다음과 같은 배열이 있을 때, arr[3].length의 값..
2일차에 배운 내용의 과제풀이 이다. 1. 여러가지 조건식 표현법 //int형 변수 x가 10보다 크고 20보다 작을 때 true인 조건식 int x; if(x>10&&x=0&&ch 64&&ch96&&ch
앞선 글의 내용의 다음이다. 이번에 배워볼 내용은 배열이었다. 배열. 선언 방법은 헷갈리지 않게 아래 방법 두가지를 모두 지원한다. int[] age; int age[]; 개인적으로 C++과 C#을 모두 배워 봤을 때, 두가지 방법으로 나누어져 사용해서 C++에서 C#으로 넘어갈 때, 헷갈렸던 기억이 있는데 이런부분은 정말 편하게 만들어둔것 같다. 배열은 기본적으로 위 그림과같이 박스들이(메모리) 이어 붙어있는 모양새다. 그 큰 박스에 이름을 붙이고 순서대로 번호를 지정해주는데, 이번호는 0번부터 시작한다. 그러므로 10가지면 9번까지만 존재한다. class Arrays1_1 { public static void main(String[] args) { // int[] age; // 참조변수 베열 age..
스파르타 내일배움캠프 사전캠프 2일차 내용이다. 이번 자바 기본문법은 조건문, 반복문 그리고 배열에 대한것들을 배웠다. 조건문은 기본적으로 알고있던 if문에관한 내용이었는데, 기본 형식은 아래와 같았다. if. if(/*조건식*/){ //조건식이 참일경우 실행될 코드 } else if(조건식){ //위 조건식이 아니고 이 조건식이 참일경우 실행될 코드 } else{ //위 조건식들이 모두 거짓일경우 실행할 코드 } if문의 기본적이 틀은 다른 언어들과 크게 다르지 않았다. 새롭게 배운부분은 이부분이었는데, 문자열을 비교할때 위와같이 equals함수를 이용해 비교를하고, 대소문자를 구분하지 않는 구별을 할땐 equalsIgnoreCase를 이용해야 한다는 것이다. 문자열은 참 언제나 복잡하다. Switch..
스파르타 해적단 웹트랙 Lv.2 4주차 개발일지다. 저번 수업에서는 그리드를 이용하여 캘린더를 만들고 Date라이브러리를 이용해 날짜세는 법, 칸을 누를때 강조효과 같은 것들을 만들었는데, 이제 그 뒤로 2주차에했던 해야할일을 데이터베이스에 추가하고 삭제하던 것들을 날자별로 연동하는 작업을 진행했다.+서버 아래는 완성된 작업물이다. 이번 수업내용은 내용이 복잡해진건지 사전캠프를 시작하고 자바를 공부하다와서 헷갈리는 건지 모르겠지만 이미 배운 내용이지만 3주차 내용보다 어려운 느낌이었다.(아마도 후자인듯하다...) 그렇기에 이렇게 개발일지를 쓰며 한번 더 공부하고 정리하는게 더욱 의미가 있다. 저번 수업은 html즉 프론트를 완성하는데 주력인 수업이었다면 이번주차 수업은 백엔드를 완성하는 서버에 관련한 수..
나모_
'스파르타코딩' 태그의 글 목록