본문 바로가기
  • soobinhand의 기술 블로그
728x90

전체 글119

백엔드 개발자 면접 준비 하루에 하나 이상의 지식들을 공부하고 기록할 예정!! CS 면접 준비 https://github.com/Soobinhand/CS_STUDY JAVA 면접 준비 https://github.com/Soobinhand/JAVA_STUDY 이외에도 여러 코드 및 글들을 공유합니다. https://github.com/Soobinhand 2022. 3. 30.
[JAVA] JPA와 Hibernate JPA가 무엇일까? 현재 자바의 ORM 기술 표준으로 사용되는 인터페이스 모음이다. 실제적으로 구현된 것이 아니라 구현된 클래스와 매핑을 해주기 위해 사용되는 것이다. JPA를 사용하는 이유는 무엇일까? SQL문이 아닌 메소드를 통해 DB를 조작할 수 있다. 물론 내부적으로 DB를 조작함. 근데 개발자가 이를 신경쓰지 않아도 된다. 객체지향적 코드 가능. 반복적인 CRUD를 처리해준다. 그래도 JPA를 사용해서 얻는 가장 큰 이득은 SQL이 아닌 객체 중심으로 개발할 수 있다는 것임. JPA 동작 방식 JPA는 어플리케이션과 JDBC 사이에서 동작함. 개발자가 JPA를 사용하면, JPA 내부에서 JDBC API를 사용해서 DB와 통신한다. 즉, 개발자가 직접 JDBC를 사용하는 것이 아니다. Hibern.. 2022. 3. 5.
[JAVA] 추상 클래스 클래스 : 완성된 설계도 추상 클래스 : 미완성 설계도 (미완성 메소드를 포함하고 있다는 뜻) 추상 클래스로는 인스턴스 생성이 불가능하다. 상속을 통해서 자손 클래스에 의해서만 완성될 수 있다. 추상 클래스 자체로는 클래스의 역할을 못한다. 하지만 새로운 클래스를 작성하는데 있어서 바탕이 되는 조상 클래스로서 중요한 의미를 갖는다. 어느 정도 틀을 갖추게 해주기 때문이다. 키워드 abstract만 붙이면 된다. 추상 클래스는 추상 메소드를 포함하고 있다는 것 말고는 클래스와 다른게 없다. 추상 메소드는 선언부만 작성하고 구현부는 작성하지 않은 채로 남겨 둔 것이다. 메서드를 미완성 상태로 남겨 놓는 이유는 메소드의 내용이 상속받는 클래스에 따라 달라질 수 있기 때문에 조상 클래스에서는 선언부만 작성하고,.. 2022. 2. 21.
[JAVA] 인터페이스 인터페이스를 이해하기 전에 예를 들어보자. 이번 베이징 올림픽에서 스키점프를 하는데 A선수는 부스터가 달린 스키. B선수는 그냥 스키. C선수는 상당히 무거운 스키.... 이런 식으로 시합을 하면 평가 자체가 불가능하지 않나싶다. 모든 선수의 스키가 개성이 넘친다. 왜 이런 문제가 발생하는지? 바로 규격, 표준이 없어서 나타나는 상황이다. 따라서 올림픽 위원회는 다시 말을 한다. "부스터가 달리지 않은, 길이 n 무게 m인 스키만 가지고 오세요" 감이 온다. 팀 프로젝트를 할 때에 클래스를 모두 처음부터 구현하게 된다면 코드의 가독성도 떨어지고 시간도 오래걸린다. 다들 다른 메소드 이름, 필드 데이터 이름을 사용하기에 일관성도 떨어지고 읽기도 쉽지 않다. 아까 스키와 같은 상황이 발생한다. 누구 코드가 .. 2022. 2. 19.
[JAVA] 클래스 메서드, 인스턴스 메서드 변수와 마찬가지로 인스턴스 메서드에 static을 붙이면 클래스 메서드이다. 인스턴스 메서드는 인스턴스 변수와 관련된 작업을 하는, 즉 메서드의 작업을 수행하는 데 인스턴스 변수를 필요로 하는 메서드이다. 인스턴스 메서드는 인스턴스를 생성해야만 호출할 수 있다. 인스턴스 변수나 인스턴스 메서드를 사용하지 않는 메서드를 클래스 메서드라고 한다. 자바의 정석에 따르면 4가지 정리가 있다. 클래스를 설계할 때, 멤버변수 중 모든 인스턴스에 공통으로 사용하는 것에 static을 붙인다. 인스턴스 변수는 독립 저장 공간이 있기에 서로 다른 값을 유지한다. 하지만 모든 인스턴스에서 같은 값이 유지되어야 하는 변수는 static을 붙여서 클래스 변수로 선언한다. 클래스 변수는 인스턴스를 생성하지 않아도 사용 가능하다.. 2022. 2. 4.
[JAVA] 클래스 변수, 인스턴스 변수, 지역 변수 자바에서 변수와 메서드는 나에겐 아직 복잡한 개념이라 다시 한 번 공부하며 기록한다. 선언 위치에 따른 변수 종류 사실 크게 보면 변수는 멤버 변수와 지역 변수, 딱 두 가지 뿐이다. 더 작게 들어가면 멤버 변수엔 클래스 변수와 인스턴스 변수로 나눠진다. 물론 이전에 멤버 변수와 지역 변수가 선언되는 위치가 다르다. 클래스 영역에 선언되면 멤버 변수, 메서드 영역이나 매개변수에 선언된 것은 지역 변수이다. 그리고 멤버 변수 중에 static이 붙으면 클래스 변수고 안 붙으면 인스턴스 변수이다. 나는 아래와 같이 코드를 짜본다. class Variables{ // 클래스 영역 int instanceVariable; // 인스턴스 변수 static int classVariable; // 클래스 변수, sta.. 2022. 2. 4.
[캡스톤 디자인] DataGrip DataGrip이란? DB 개발과 관리를 용이하게 해주는 GUI 개발 도구다. 나는 이걸 처음 접한 후, 상당히 편리한 프로그램이라는 걸 단박에 느꼈다. 직접 MySQL workbench나 다른 툴들바께 안 사용해봤으면 이걸 꼭 사용해보길 강력 추천한다. 사실 SQL 쿼리문을 조금은 알아야 한다. 사실 중급 정도의 SQL 처리가 가능하다면 이걸 사용하는 걸 강력 추천하지만 SQL문을 잘 모른 상태에서 사용하는 건 비추한다. SQL문을 먼저 알고 쓰는게 좋다. 데이터 베이스 프로젝트 생성 그렇게 어렵진 않다. 그냥 처음 들어가서 시작하기 한다. Name, Comment, Host, User, Password, Port, URL이 나와있을 것이다. Name은 그냥 아무거나 본인이 원하는 이름 적으면 된다. .. 2022. 2. 2.
[캡스톤 디자인] EC2와 RDS ( AWS ) EC2란? Amazon Elastic Compute Cloud(Amazon EC2)는 Amazon Web Services(AWS) 클라우드에서 확장 가능 컴퓨팅 용량을 제공합니다. Amazon EC2를 사용하면 하드웨어에 선투자할 필요가 없어 더 빠르게 애플리케이션을 개발하고 배포할 수 있습니다. Amazon EC2를 사용하여 원하는 수의 가상 서버를 구축하고 보안 및 네트워킹을 구성하며 스토리지를 관리할 수 있습니다. Amazon EC2에서는 확장 또는 축소를 통해 요구 사항 변경 또는 사용량 스파이크를 처리할 수 있으므로 트래픽을 예측할 필요성이 줄어듭니다. 실제로 AWS 홈페이지에서 그대로 가져온 내용이다. EC2는 AWS에서 제공하는 클라우드 컴퓨팅 서비스다. 이 서비스를 통해 아마존이 각 세계에.. 2022. 2. 2.
[캡스톤 디자인] dbdiagram dbdiagram이란? 쿼리문을 작성하면 자동으로 ERD를 만들어주는 프로그램이다. 프로젝트를 시작하기에 앞서 ERD를 만들고 싶어서 알아본 결과 dbdiagram이라는 사이트가 있었다. 해당 사이트는 회원 가입만 하면 편리하게 사용할 수 있는 것 같았다. 출처 https://dbdiagram.io/home dbdiagram.io - Database Relationship Diagrams Design Tool dbdiagram.io 위처럼 내가 왼쪽에 쿼리문을 작성하면 알아서 ERD를 생성해준다. 자동 정렬, PDF로 내보내기, MySQL로 내보내기 등 상당히 유용한 기능들이 존재한다. (사실 귀찮은 걸 좀 많이 도와주는 느낌) 물론 이 기능을 사용하기 전에, SQL 쿼리문을 학습하고 오는 것이 2억배 .. 2022. 2. 2.
[캡스톤 디자인] AllClass 꽤 많은 공부가 될 것 같아서, 캡스톤 디자인을 진행하는 동안 알게된 지식을 기록하려 한다. 인터넷 강의 커리큘럼 공유 사이트 https://github.com/Soobinhand/AllClass GitHub - Soobinhand/AllClass: 📕 2021-2022 캡스톤 디자인 졸업작품 📕 2021-2022 캡스톤 디자인 졸업작품. Contribute to Soobinhand/AllClass development by creating an account on GitHub. github.com 2022. 2. 2.
728x90