목록전체 글 (296)
[꼼꼼한 개발자] 꼼코더
📦 SQL 쿼리란? SQL 쿼리는 Structured Query Language (구조화된 질의 언어)의 약어로 데이터베이스에서 데이터를 검색하거나 조작하기 위해 사용하는 언어. SQL 쿼리를 사용하면 데이터베이스에서 데이터를 추가, 삭제, 수정, 검색 등의 작업을 수행할 수 있다. 🏄🏻♂️ SQL 쿼리의 종류 SQL 쿼리는 다양한 종류가 있다. SELECT 쿼리 : 데이터베이스에서 데이터를 검색할 때 사용. INSERT 쿼리 : 데이터베이스에 새로운 데이터를 추가할 때 사용 DELETE 쿼리 : 데이터베이스에서 데이터를 삭제할 때 사용. UPDATE 쿼리 : 데이터베이스에 있는 데이터를 수정할 때 사용합니다. 🎭 마무리 SQL 쿼리는 일반적으로 데이터베이스에서 데이터를 검색하거나 조작할 때 사용되지만..
🧑🏻🏫 간단 정리 JPA는 자바의 ORM기술을 쉽게 구현하도록 도와주는 API이다. JpaRepository를 상속하는 인터페이스에 메서드 이름만 적어놓으면 알아서 다 처리(구현체 생성, 쿼리문 구현 등)해주는 좋은 ORM이다. 메소드 이름은 findby(필드명), deleteby(필드명)처럼 메소드 명칭만 적어주면 개발자는 SQL을 작성하지 않아도 쿼리문을 만들어준다. 이때 엔티티라는 클래스를 이용하는데 객체를 이용하여 매핑을 처리하는 것이다. 어렵다면 엔티는 == 테이블 or 레코드라고 생각해 보자! 자세한 건 아래 글을 읽어 보도록 하자. 🧐JPA(Java Persistence API)란? 자바에서 객체를 데이터베이스에 저장하고 관리하기 위한 인터페이스와 기능을 제공하는 API. JPA를 사용하면..
🧹 간단 정리 MyBatis를 사용하면 DB를 쉽게 다룰 수 있다. 예시) preparedstatement처럼 쿼리문을 복잡하게 입력하지 않고 실제 쿼리문과 유사하게 작성할 수 있다. preparedstatement : "UPDATE users SET name =?, email =? WHERE id =?" MyBatis : UPDATE users SET name = #{name}, email = #{email} WHERE id = #{id} MyBatis의 또 하나의 장점은 동적 쿼리 작성이 가능하다. MyBatis 사용 방법순서 : 의존성 설정 -> DB 설정 -> MyBatis 설정 -> Mapper 인터페이스 작성 -> XML 작성 -> MyBatis 사용 아래글을 보고나면 이해가 훨씬 더 잘 될 ..
😮 디자인 패턴(Design pattern)이란? 소프트웨어 개발 과정에서 자주 발생하는 문제들을 해결하기 위해 공통적으로 사용되는 설계 방법을 정리한 것이다. 디자인 패턴을 사용하면 개발자들은 이미 검증된 해결책을 활용하여 소프트웨어 시스템을 더욱 효율적이고 유연하게 구현할 수 있다. 📚 디자인 패턴의 대표 3가지 디자인 패턴은 크게 3가지 카테고리로 분류할 수 있다. 생성 패턴(Creational Pattern) 객체 생성에 관련된 패턴. 객체를 생성하는 방법과 객체의 유형을 결정하는 방법에 대한 문제를 해결한다. 구조 패턴(Structural Pattern) 클래스와 객체를 조합하여 더 큰 구조를 만들 수 있는 패턴. 객체 간의 관계를 구성하는 방법에 대한 문제를 해결한다. 행동 패턴(Behavio..
🎭 형변환의 의미 Java에서 형변환이란 변수의 자료형을 다른 자료형으로 변환하는 것을 의미한다. 😮 명시적 형변환 연산 (Casting) 변수의 자료형을 강제로 변환하는 연산 강제로 형변환을 수행하기 때문에, 데이터의 손실이 발생할 수 있음 👨🏻💻 예제 코드 (변환할 자료형) 변수이름 double a = 3.14; int b = (int) a; // double 타입 변수 a를 int 타입으로 변환하여 변수 b에 대입 😷 암묵적 형변환(Promotion) 자료형의 크기가 작은 자료형에서 큰 자료형으로 자동 변환하는 것 데이터의 손실이 발생하지 않음 👨🏻💻 예제 코드 자료형 크기가 작은 변수이름 = 자료형 크기가 큰 값; int a = 10; double b = a; // int 타입 변수 a의 값을..
📚 Optional에 대하여 Java 8부터 도입된 Optional은 값이 없는 경우를 표현하기 위한 클래스이다. Optional 클래스는 제네릭을 사용하여 어떤 타입의 객체도 감싸서 담을 수 있다. Optional 객체는 값이 존재할 수도 있고, 없을 수도 있다. 이는 NullPointerException 예외를 방지할 수 있고, 코드의 안정성을 높이며 가독성을 향상시킨다. 🥜 Optional 객체 생성(이론) Optional 객체를 생성하려면, of(), ofNullable(), empty() 등의 정적 팩토리 메서드를 사용할 수 있다. of() 메서드 : 값이 null이 아닌 경우에만 Optional 객체를 생성 ofNullable() 메서드 : 값이 null인 경우에도 Optional 객체를 생성..
📚 공부 백엔드(팀장) 친구가 준 자료들로 자바 공부를 진행하였다 상속, 오버라이딩, 인터페이스, 추상화 정도를 마치고 Servlet을 강의로 배웠었다. 웹이 어떻게 동작하는지, 동적 페이지, 정적 페이지, 세션 쿠키.. 등 그렇게 3월이 됐다...... 응..?? 너무 느린 거 아닌가? 맞다 지금 생각해도 너무 느리다 이유는 자바에서 1달 정도 걸렸다(처음부터 다시 공부했기 때문) 또한 Servlet 강의가 엄청 많은데 그걸 다 일일이 듣고 있었다 자바 기본은 중요하다 하여 예제를 하나하나 전부 타이핑하고 단원별 문제도 하나하나 다 풀었었다 서블릿 강의도 하나하나 전부 다 따라 타이핑하고 강의를 꼼꼼히 들었었다 + 추가로 모든 공부 내용을 매우매우 꼼꼼하게 개인 블로그(노션)에 작성했었다. 여기서 문제..
🤔 기획 아이디어를 회의를 통해 많은 아이디어가 나왔었다. 나는 거기서 3가지 정도의 기획안을 준비하였고 팀에서 총 10~11개 정도의 아이디어가 나왔었다 하지만 추후 팀장(백엔드) 친구가 새로운 아이디어를 가져왔고 팀원들 모두 동의하여 최종결정 되었다. 나는 거기서 한 일은 그 서비스의 이름을 정했었다.(그 외 문서 정리정도..?) (@Service 아님, 서비스 클래스 이름 정하기 아님, 카카오 or 당근마켓 과 같은 서비스 이름 맞음..ㄸㄹㄹ) 👀 준비(내가 해야할 것) 각자 회의를 통하여 3월 정도에 개발을 시작하기로 하였고(당시 1학년 마치고 2학년 겨울방학) 나의 상태는 백엔드 기준 java 상속, 오버라이딩 정도가 다였다.. 심지어 그 마저도 개념적으로 많이 헷갈려했었다. 백엔드 a(팀장) ..