항해 (10) 썸네일형 리스트형 ORM(객체 관계 맵핑, Object-Relational Mapping) 객체 지향 프로그래밍 언어와 관계형 데이터베이스 간 데이터변환을 자동화하기 위한 프로그래밍 기술 및 도구 집합 ORM 은 객체 지향언어(ex. java, python, c#)와 관계형 DB(ex. MySQL, Oracle, PostgreSQL)사이에서 데이터를 주고 받는데 사용된다! ORM 대표 예시 Hibernate(Java), Entity Framework(C#), Django ORM(Python), SQLAlchemy(Python) 등 ✔️ORM의 주요 기능 객체와 테이블 맵핑 : 객체 지향 프로그래밍에서 사용되는 클래스와 관계형 DB의 테이블 간 맵핑을 제공한다. 각 클래스는 DB테이블과 연결되고 클래스의 속성은 테이블에 열에 대응되게 된다. ex. SELECT * FROM user; 라는 que.. WIL : HTTP, MVC 패턴 ✔️HTTP ▸ 웹 브라우저와 웹 서버 간 데이터를 주고 받기 위한 통신 프로토콜. ▸ 웹페이지를 요청하고 응답하는데 사용 ▸ Client - Server 모델을 기반으로 동작 ▸ 요청 메서드(GET, POST 등) & 응답 코드(200 OK, 404 Not Found 등)을 사용하여 데이터를 주고받음 HTTP 에는 언제나 Request, Response 개념 존재 Client(사용자, 자료에 접근할 수 있는 프로그램)가 브라우저를 통해 서비스를 request하면 Server(자료에 대한 접근을 관리하는 시스템)에서 해당 요청에 맞는 결과를 Client에 response로 동작 request : client → server response : server → client 클라이언트에서 메뉴를 주문하면, .. Parameter와 Argument의 차이 Parameter와 Argument의 차이 Parameter와 Argument는 프로그래밍에서 함수나 메소드를 정의하고 호출할 때 사용되는 용어 메소드를 호출할 때 메소드에 필요한 인자(argument)를 전달하게 되는데, 이 때 전달된 인자(argument)는 메소드 내부에서 매개변수(parameter)로 사용 Parameter 함수나 메소드를 정의할 때 필요한 값을 받기위한 변수 → 선언되는 변수 public int add(int a, int b) { return a + b; } //"a"와 "b"가 parameter 파라미터가 많아질 경우 코딩 법? Argument 함수나 메소드를 호출할 때 해당 합수나 메소드가 필요로 하는 값 → parameter에 전달되는 실제 값 int result = add.. 프로그래머스 문제 풀이_푸드파이트 대회 문제 설명 수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일 오른쪽에 있는 음식부터 왼쪽으로 순서대로 먹는 방식으로 진행됩니다. 중앙에는 물을 배치하고, 물을 먼저 먹는 선수가 승리하게 됩니다. 이때, 대회의 공정성을 위해 두 선수가 먹는 음식의 종류와 양이 같아야 하며, 음식을 먹는 순서도 같아야 합니다. 또한, 이번 대회부터는 칼로리가 낮은 음식을 먼저 먹을 수 있게 배치하여 선수들이 음식을 더 잘 먹을 수 있게 하려고 합니다. 이번 대회를 위해 수웅이는 음식을 주문했는데, 대회의 조건.. 모듈화가 필요한 이유 자바의 버전 공부...자바 8과 11의 차이점! 여러 개선 사항 중 모듈화라는 것을 알게 됨 ✔️모듈시스템 도입 모듈화를 통해... 자바 클래스와 패키지를 더 체계적으로 구조화, 관리 모듈 간 의존성을 더욱 명확하게 관리 이렇다고 한다. ✔️모듈화의 장점? 💡 모듈화란? ▸ 소프트웨어를 작은 단위인 모듈로 분리하여 개발하는 방법 ▸ 모듈은 특정 기능을 수행하는 작은 코드 블록이며 모듈끼리 상호작용하면서 전체 소프트웨어 시스템을 구축함 재사용성 향상 : 모듈은 독립적으로 개발되며 재사용 가능한 단위로 설계되기 때문에 다른 프로젝트나 부분에서도 활용할 수 있다. ->개발 속도를 높이고 비용을 절감할 수 있다. ㅁ 유지보수 용이성 : 각 모듈이 독립적이기 때문에 변경이나 수정이 필요한 경우 해당 모듈만 수정하.. WIL : JVM이란 무엇인가? ✔️자바 프로그램 자바 프로그램 개발을 위해서는 파일의 확장명이 .java인 텍스트파일을 생성하고 자바언어로 코드를 작성하게 된다. 이렇게 만들어진 자바 소스파일을 컴파일러가 javac 명령어로 컴파일하게 되고, 컴파일이 성공하게 되면 확장명이 .class인 바이트 코드 파일이 된다. ✔️바이트 코드 파일 바이트 코드 파일은 완전한 기계어가 아니므로 바로 실행할 수 있는 파일이 아님 -> 바이트 코드파일을 완전한 기계어로 번역해서 실행하기 위해서는 java 명령어를 사용해야 한다. 바이트코드 파일과 자바 프로그램 자바 프로그램은 완전한 기계어가 아닌, 바이트코드파일(.class)로 구성되어있다. 바이트코드파일은 운영체제에서 바로 실행할 수 없기 때문에 JVM(: Java Virtual Machin, 자바.. JAVA_형변환(casting) 정리! 자바에서 형변환은 데이터타입을 다른 데이터타입으로 변환하는 과정!! ▸ 기본 데이터 타입(primitive data type) ▸ 참조 데이터 타입(reference data type) ✔️ 기본 데이터 타입의 형변환 기본 데이터 타입은 서로 다른 데이터 타입 간 형변환 가능 → 데이터 타입의 크기와 범위에 따라 자동 혹은 강제로 이루어진다. 자동 형변환(묵시적 형변환) : - 데이터 손실 없이 더 작은 데이터 타입에서 큰 데이터 타입으로 변환할 때 발생 ㅁ - 자동 형변환 규칙 : ▹ 'byte' → 'short' → 'int' → 'long' → 'float' → 'double' ▹ 'char'은 'int'로 변환 ▹ ex. int numInt = 5; double numDouble = numInt;.. 트러블슈팅 Set 자료구조 사용_순서 관련 문제 자바의 collection 관련 공부 레시피 메모장을 만들면서 생긴 의문점 -> 다른 자료구조 List, Map은 잘 작동하는데 Set이 값을 넣은 순서대로 출력하지 않고 있다는 것을 확인할 수 있었다. 이렇게 넣어준 순서대로가 아니게 값이 출력되는 것을 확인할 수 있었다. Set은 순서가 보장되지않는 자료구조라 입력한 순서대로 저장되지 않을 수 있다. 만약 입력한 순서대로 저장되어야 한다면 HashSet 대신 LinkedHashSet을 사용! → LinkedHashSet은 입력한 순서대로 요소가 저장되는 Set의 종류 아래와 같이 코드를 수정하여 LinkedHashSet을 사용하였다. 위 코드에서 Set strSet = new LinkedHashSet(); 부분을 사용하여 LinkedHashSet을 생.. 이전 1 2 다음