개발일지 (47) 썸네일형 리스트형 스프링부트 개념정리 with JPA 3강 - 스프링부트 동작원리 메타코딩 - 스프링부트 개념 정리 with JPA를 기반으로 작성된 글입니다. 1. 스프링부트 동작 원리 (1) 내장 톰켓을 가진다. 톰켓을 따로 설치할 필요 없이 바로 실행 가능하다. Socket : 운영체제가 가직고 있는 것! -- 소켓통신 A가 5000번 포트에 소켓을 오픈한다. B가 ip주소와 포트번호 5000으로 A와 통신 이때, ip5000번은 B가 쓰고 있으므로 C는 A와 통신이 불가능하다. 그래서 A의 5000번 포트는 연결의 용도로만 사용 후 연결이 되는 순간 새로운 소캣(5001)을 생성하고 연결을 끊는다. B는 5000번 포트와 연결이 끊기고 5001번을 통해 A와 통신을 진행한다. 하지만 CPU는 5001번에서 자원을 모두 사용 중이라 C의 통신을 받을 수가 없다. 따라서 새로운 포.. 스프링부트 개념정리 with JPA 2강 - JPA개념 잡기 메타코딩 - 스프링부트 개념 정리 with JPA를 기반으로 작성된 글입니다. 1.JPA란? Java Persistence API Persistence(영속성)이란 : 프로그램이 종료되더라도 생성한 데이터가 사라지지 않는 특성. Java는 DBMS(Database Management System)로 데이터를 관리 한다. API(Application Programming Interface)란 : 어플리케이션(A) : 프로그램 프로그래밍(P) : 프로그램을 만들기 위한 방법↖ 인터페이스(I) : 프로그래밍을 하기 위한 약속 및 규칙↖ !주의 프로토콜 | 인터페이스 :약속 :약속 동등한 약속 |상하 관계가 존재하는 약속 JPA란 : 자바 프로그래밍을 할 때 영구적으로 데이터를 저장하기 위해서 필요한 인터페이스.. 스프링부트 개념정리 with JPA 1강 - 스프링 개념잡기 메타코딩 - 스프링부트 개념정리 with JPA 를 기반으로 작성된 글입니다. 스프링이란? 1.스프링은 Framework이다. frame(틀) + work(동작하다) 틀에서 벗어나지 않는 개발을 위한 도구. 2.스프링은 오픈소스이다. 소스 코드가 공개되어 있다.(내부) -> 무료, 소스를 수정(기여) 할 수 있다. 3.스프링은 IoC컨테이너를 가진다. IoC 스프링의 핵심! (Inversion of Control) : 제어의 역전, 주도권이 스프링에게 있다. Class, Object, instance Class = 설계도 (class, abstract class...) Object = 실체화가 가능 한 것! instance = 실체화 된 것! (추상 클래스는 실체화가 불가능 하다.) ex) 가구(추상) .. SQL 기본문법 정리 SELECT문 기본 구조 SELECT 필드이름 FROM 테이블 모든 테이블 보기 SHOW TABLES 여러 필드를 조회하는 경우 SELECT 필드이름1, 필드이름2 FROM 테이블 모든 필드를 조회하는 경우 SELECT * FROM 테이블 중복된 데이터를 없애고 조회하는 경우 SELECT DISTINCT 필드이름 FROM 테이블 조건식을 적용하는 경우 SELECT * FROM 테이블 WHERE 필드이름 = 0(또는 '문자열') 여러 조건식을 적용하는 경우 SELECT * FROM 테이블 WHERE 필드이름 = 0(또는 '문자열') AND 필드이름2 = 0(또는 '문자열') OR 필드이름3 = 0(또는 '문자열') 조건식의 종류 (범위 지정 A~B 사이) (NOT 구문은 반대) WHERE 필드이름 BETW.. Java: 아스키 코드,Char,String 변환 아스키 코드란? 미국정보교환표준부호(영어: American Standard Code for Information Interchange), 또는 줄여서 ASCII는 영문 알파벳을 사용하는 대표적인 문자 인코딩이다. 아스키는 컴퓨터와 통신 장비를 비롯한 문자를 사용하는 많은 장치에서 사용되며, 대부분의 문자 인코딩이 아스키에 기초를 두고 있다. 여기서 문자열은 Char로 쪼갤 수 있고 각각의 Char은 아스키 코드로 변환 가능하다. int char String 으로의 형변환에 대해 알아보자. public class Main { public static void main(String[] args) throws Exception { int a = 65; System.out.println("Integer to C.. 행해 99 마지막 회고록 및 후기 드디어 99일의 항해 일정이 마무리가 되었다. 처음 시작할 때는 여름이라 엄청 더웠는데 벌써 날이 꽤 쌀쌀해진 가을이 되었다. '매일 10시간을 어떻게 공부를 하지?'라는 생각으로 시작했지만 시간이 지날수록 프로젝트와 공부에 쏟는 시간은 10시간도 부족했다. 정말 많은 일들이 훅하고 지나간 것 같다. 3개월을 돌아보며 끝날 것 같지 않았던 여정의 후기를 남겨볼까 한다. 비전공자로 시작해 혼자 막연히 공부를 하다 국비지원, 부트캠프 등등을 알아보다 좋은 기회로 항해99에 지원하게 되었다. 게더라는 매타버스 시스템에서 간단히 면접을 본 후 입학시험을 풀었던 기억이 난다. 혹시나 떨어지지나 않을까 마음 졸이며 기다렸지만 문제는 생각보다 간단해서 쉽게 풀 수 있었다. 항해99의 커리큘럼은 아래와 같이 진행되었다.. 항해99 개발자가 되기 위한 9주 차 벌써 항해를 시작한 지 9주 차가 되었다. 사실 저번 주차에 마지막 프로젝트인 실전 프로젝트를 들어갔고 기획하는 데만 한주의 시간을 쏟았던 것 같다. 그만큼 기획은 어렵고 중요한 부분이며, 팀장님의 주도 하에 간접적으로 나마 실무 기획과 유사하게 진행해 볼 수 있었다. 처음 든 생각으로는 "그냥 정해진 대로 코드를 짜고 구현하면 되는 거 아닌가?"라는 의문이 들었는데 기획을 하면 할수록 내가 생각한 것과 다른 사람들이 생각한 것들 및 동작하는 방향이 상당히 차이가 난다는 것을 알 수 있었다. 그 간격을 좁히는 데 기획이 아주 큰 역할을 한 것 같다. 구현 시작은 이번 주 차부터 시작했다. 역할을 나누고 서로가 맡은 부분을 구현하기 시작했다. 하지만 디자인이 완성되지 않은 부분도 있었고, API 명세서도 .. 항해99 개발자가 되기 위한 7주 차 이번 주는 특정 웹 사이트를 클론코딩 하는 주였다. 우리 팀은 중국 웹 사이트 weibo를 클론 코딩 해보기로 하였다. 프론트 분들이 기본적인 틀을 잘 잡아주시고 할 수 있는 기능들을 먼저 추려서 넣고 나머지 부가 기능들은 시간이 나면 추후 구현 해 보는 걸로 먼저 설계를 했다. 백엔드 쪽은 서로가 구현한 범위가 달라 저번 주 구현과 거의 비슷했지만, 자신이 해보지 않았던 부분을 구현 하는 쪽으로 기본을 더 탄탄하게 가지고 가자는 취지로 설계를 시작했다. 내가 맡은 부분은 S3를 이용한 이미지 업로드 부분이었다. 원래의 목표는 다중 이미지 업로드 였으나... 구현이 생각보다 너무 늦어져서 하나 밖에 업로드를 하지 못하여서 아쉬웠다. 그래도 팀원들중 내가 구현해야할 부분들을 미리 경험해본팀원의 조언을 얻을.. 이전 1 2 3 4 5 6 다음 목록 더보기