목록항해 (9)
거누의 개발노트
JPA에서는 데이터를 조회할 때 즉시 로딩(EAGER)과 지연 로딩(LAZY) 두 가지 방식이 있다. 이 두 가지 방식을 간단하게 설명하면 즉시 로딩은 데이터를 조회할 때 연관된 데이터까지 한 번에 불러오는 것이고, 지연 로딩은 필요한 시점에 연관된 데이터를 불러오는 것이라고 할 수 있다. 즉시로딩(EAGAL) @Entity public class Member { @Id @GeneratedValue private Long id; private String username; @ManyToOne(fetch = FetchType.EAGER) //Team, 즉시로딩 @JoinColumn(name = "team_id") Team team; } 여기서 Member 객체를 조회한다면, //멤버를 조회하는 쿼리 se..
Spring Boot 셋팅부터 강의까지 많은것들을 배웠다. 먼저 빌드도구에 대해서 정리했다. https://geonoo.tistory.com/145 [Spring] 빌드? 빌드도구? - gradle, maven 빌드? 프로그래머가 작성한 소스 코드를 실행할 수 있는 독립적인 형태(.war, .jar)로 변환하는 과정 및 결과를 말한다. 변환하는 과정에는 컴파일 과정도 포함이 된다. 예를 들어 개발자가 이클립 geonoo.tistory.com 그런다음 Spring Boot 셋팅하는 방법을 배웠고 https://geonoo.tistory.com/146 Spring Boot 셋팅 - IntelliJ IDEA IDE : IntelliJ IDEA Spring Boot 환경 구성하기 1. new Project - ..
1일차 회고 항해가 시작되었다. 웹개발 종합반에서 배운 python, flask, dbmongo, aws 로 미니 프로젝트를 진행하는 Chapter 이다. 4명의 팀으로 구성해서 협업으로 프로젝트를 진행한다. 처음에 간략히 인사를 나누고 어떤 아이디어로 웹 프로젝트를 만들지 정했다. 우리 팀은 주식관련 웹 프로젝트로 결정되었다. 팀장 분이 사전에 혼자서 작업하던 작업물이 있어서 그 작업물을 기준으로 깃에 올리기로 했다. 처음에는 내가 레포지토리를 올려서 팀원들을 초대해 주었다. ( 초대하는 기능 있겠거니 했는데 써보는건 처음 인 것 같다. ) 하다보니 branch, Pull Request, Merge.. 등 깃에 대해 모르는 부분이 많았다. 팀원중 한분이 이미 Git도 그렇고 CI/CD 등 아는 부분이 ..
항해가 시작되었다. 1일차는 좀 힘들었다. 훈련소를 온 기분이었다. 흐어어어엉 2일차가 되니까 벌써 적응된 것 같다. 다시 배웠던걸 쓰자.. 1. 도메인 가비아에서 도메인을 샀다. 의외로 간단하고 저렴했다. 선택해서 구매만 하면된다. 2. AWS AWS에서 서버를 구매 [Ubuntu Server 18.04 또는 20.04 버전을 구매] 여기까지 구매하는 방법 이다. 구매하고 중요한점은 테스트 할 때 구매 해놓고 인스턴스 상태를 중지 또는 종료 하지 않으면 (무료기간 1년 후) 과금이 생길 수 있다는 점을 주의 해야한다. 그리고 마지막에 Key 파일을 하나 받는데 이걸로 바로 내 터미널에서 내 서버를 접근할 수 있는 키 이다. 3. AWS - Flask 서버 셋팅 #내 터미널에서 서버 접근(맥 기준) ss..
1. Flask 패키지 설치 -> Flask 기본코드 app.py from flask import Flask app = Flask(__name__) @app.route('/') def home(): return 'This is Home!' if __name__ == '__main__': app.run('0.0.0.0',port=5000,debug=True) * 프로젝트안에 static, templates 디렉토리 생성 2. API 와 클라이언트 연결 기본예제 app.py from flask import Flask, render_template, request, jsonify app = Flask(__name__) from pymongo import MongoClient client = MongoClien..
1. Python 기초 변수 & 기본연산 자료형 숫자, 문자형 리스트 형 (Javascript의 배열형과 동일) -> ['val1', 'val2' ...] Dictionary 형 (Javascript의 dictionary형과 동일) -> {'id', 'value', ...} 함수 def sum_all(a,b,c): return a+b+c def mul(a,b): return a*b result = sum_all(1,2,3) + mul(10,10) 조건문 def is_adult(age): if age > 20: print('성인입니다') # 조건이 참이면 성인입니다를 출력 else: print('청소년이에요') # 조건이 거짓이면 청소년이에요를 출력 is_adult(30) # 무엇이 출력될까요? 반복문 d..
1. JQuery JQuery는 간단히 Javascript를 미리 작성해둔 것이라고 생각하면된다. (라이브러리!) document.getElementById("element").style.display = "none"; 위 와같은 자바스크립트 코드를 간단하게 사용 할 수 있게 도와준다. $('#element').hide(); JQuery를 사용하려면 안에 임포트를 시켜주어야 한다. 라이브러리는 모두 외워서 사용 할 필요없고 필요한 부분을 찾아서 사용하면된다. https://api.jquery.com/ jQuery API Documentation jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML do..
항해를 시작하면서 사전에 필수로 들어야할 교육이 있다고 한다. 스파르타코딩클럽에서 제공해주는 웹개발 종합반 2회독 하고 사전테스트를 통과해야 본격적으로 배에 승선할 수 있다고 한다. 강의를 시작하기 앞서 이런 화면을 보여준다. 동료들과 함께하고 있다는 느낌과 빨리 끝내고 싶은 생각을 갖게 해준다. 산뜻한 마음으로 입장해 보자. 첫 강의는 서버/클라이언트/웹의 동작 개념에 대한 내용이었다. 웹 브라우저가 하는 일 요청을 보내기 받은 HTML 파일을 그려주는 일 내 컴퓨터에 있는 공간에 HTML을 받기 때문에 내가 보는 화면을 수정한다고 해서 요청한 서버의 HTML이 바뀌는것은 아니다. 항상 HTML만 내려주는것은 아니다. 이렇게 서버에서 데이터도 내려받을 수 있고, CSS파일도 내려 받을 수 있다. 간략하..