본문 바로가기

개발일지

(47)
JPA JPA란? 👉JPA는, SQL을 쓰지 않고 데이터를 생성, 조회, 수정, 삭제할 수 있도록 해주는 번역기이다. JPA가 없다면? https://www.baeldung.com/spring-jdbc-jdbctemplate 자바 짜다가 갑자기 SQL 짜고, 그걸 잘 맞추어 넣어야 한다. 작업 과정이 복잡하고 불편하며 두 가지 언어를 사용해야 한다. JPA가 있다면? https://spring.io/guides/gs/accessing-data-jpa/ 아래의 설정 추가. (build.gradle) implementation 'org.springframework.boot:spring-boot-starter-data-jpa' 명령도 바로 자바로 사용 가능하다. 👉프로잭트를 시작 할 때 JPA를 설치 했기 때문에, ..
Getter, Setter의 이해 클래스의 모든 정보를 손쉽게 바꿀수 있으면 곤란하다. 왜냐하면 클래스는 고객의 비밀먼호/ 결제정보와 같이 민감한 정보들도 담고 있기 때문이다. 그래서 자바의 클래스는, 밖에 드러내도 되는 것들을 public, 함부로 바꾸면 안되는 것들을 private등으로 구분해서 나타낸다. 정보를 가져오는 메소드를 Getter, 정보를 바꾸는 메소드를 Setter라고 부른다. Getter,Setter 예시) public class User { private Long id; private String title; private String name; public User() {} //기본 생성자 User(String title, String name){ this.name = name; this.title = title;..
객체지향 복습 객체지향언어 클래스,인스턴스,메소드 1.클래스(Class)란? 클래스는 표현하고자 하는 대상의 공통 속석을 한 군데에 정의해 놓은 것이라고 할 수 있다. 즉, 클래스는 객체의 속성을 정의해 놓은 것. 또한 클래스 내부의 정보를 맴버 변수라고 한다. 붕어빵을 예로 들면 붕어빵을 만드는 틀이 곧 클래스가 되며 붕어빵 틀로부터 만들어진 붕어빵이 곧 인스턴스가 되는것이다. 인스턴스(Instance)란? 어떠한 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 한다. 2.메소드(method) 메소드는 어떠한 작업을 수행하는 코드를 하나로 묶어놓은 것. 메소드가 필요한 이유 재사용성 - 메소드를 만들어 놓으면 이후 반복적으로 재사용이 가능. 물론, 다른 프로그램에서도 사용이 가능. 중복된 코드 제거 - 프로그램..
테스트의 필요성 '버그' 란? 소프트웨어가 예상하지 못한 결과를 내는 것 버그는 '소스 코드'나 '설계과정에서의 오류' 때문에 발생함 현업에서 '버그'란? 1.사용자들에게 불편을 줌 일부 기능이 동작하지 않음(이커머스 사이트에서 '주문'만 안됨) 일부 기능이 의도와 다르게 동작(10만원 결제 -> 100만원 결제) 잘못된 동작에 대한 고객 보상 및 데이터 보정 작업이 추가로 필요 전체 기능 동작하지 않음( 서비스 접속 불가) 2.회사에 악영향 매출 감소 신뢰도 감소 필요할 때 내 곁에 없는 회사.. 회사정보, 개인정보 유출 가능성 3. "저녁 없는 삶, 주말 없는 삶, 휴가 없는 삶.."의 원인 버그는 시간을 가려서 발생하지 않음 소프트웨어는 스스로 치유되는 능력이 없음 개발 코드 배포 전, 버그를(최대한 많이) 찾아내..
항해99 개발자가 되기 위한 3주 차. 웹 개발의 봄, Spring~ 이번 주는 주특기 입문 과정의 첫 주이다. 이번 주는 특히나 더 힘들었던 것 같다. 강의 내용이 이해가 잘 되지 않아 이해하는 데 많은 시간이 걸렸고, 과제도 빠듯했다. 용어가 낯설고 유기적인 관계를 이해하는 것이 많이 힘들었던 것 같다. 전체적으로는 스프링을 구동시켜 보고 스프링을 어떻게 쓰는지에 대한 강의였다. 개인 과제와 팀 과제가 주어졌는데, 한분이 팀 과제를 모두 해결해 버려서 개인 과제에만 집중할 수 있었다. 대신 대화가 단절되어 버렸지만... 꾸역꾸역 서버는 돌아가지만 복습을 해도 이해하지 못하는 부분들이 많았다. 점점 한주에 소화해야 할 양이 많아지는 느낌이다. 다음 주는 더 걱정이다... 스프링을 이해하기 위해 더 공부해야 할 것들이 많았다. IOC, DI,..
항해99 개발자가 되기 위한 2주 차. 알고리즘!! 이번 주의 주제는 바로바로 알고리즘이다. 전공자와 비 전공자의 가장 두드러지는 차이점이 알고리즘에서 나타난다고 어디선가 들었다. 실력에 따라 걷기 반과 달리기 반으로 나누어 진행이 되었다. Java문법에 자신이 없었기 때문에 걷기반에서 기초를 다지며 해보자고 생각했다. 알고리즘 문제를 처음 대면했을 때는 당황스러웠다. "어떻게 풀어야 하지?" 그저 막막했다. 그리고 "이렇게 풀 수 있을까?"라는 생각을 하더라도 문법에 막혔다. 그래서 한 문제 진행자체가 엄청 더디게 느껴졌다. 알고리즘 주차에서 가장 큰 수확은 공부하는 방향성을 잡은 것이 제일 큰 것 같다. 여태껏 문과식의 나의 공부 방식은 기본적인 적의, 개념, 함수 등등을 달달달 외워 그것을 서술하는 데에 익숙해져 있었지만, 개발 공부는 ..
항해99 개발자가 되기 위한 첫 주. 개발자가 되기 위하여 항해99 일정을 시작하고 드디어 첫 주가 지났다. 생각보다 시간이 빠르게 흘러갔고 많은 것들이 머릿속을 한번 휩쓸고 지나갔다. 1주 차 조별과제 mini-fullstack. 간단한 오티 후에 배정받은 각 조로 가서 프로젝트를 시작했다. 1주 차에는 입학시험을 기반으로 제공된 웹서비스의 전반적인 구현을 목표로 한 것이었다. 우리 조에는 전공자 분이 있어 첫날의 진도는 상당히 빨랐다. 제공된 아이디어를 모아서 채택하고 전반적인 틀을 잡고 바로바로 페이지들이 뚝딱뚝딱 만들어졌다. 갑작스럽게 프로젝트에 던져졌기 때문에 나는 입학시험 때 공부했던 웹 개발 종합반과 추가로 지급된 플러스 강의들을 보며 천천히 진행해 나갔다. 내가 적은 코딩 첫날은 아주 빠르게 휙 하고 지나가 벼려 눈 떠보니 시..