https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Object_building_practice해당 글에 나와있는 기본 소스를 가지고 실습을 하며 만드는 과정이다.자바스크립트의 클래스는 자바의
https://developer.mozilla.org/ko/docs/Learn/JavaScript/Building_blocks/Image_gallery해당 링크로 들어가서 주어진 내용 대로 구현하면 된다.HTML, CSS 는 수정할 필요 없이 Script 부분
JavaScript에는 '없음'을 나타내는게 2가지가 있는데 null과 undefined이다. 의미는 비슷할지라도 사용되는 목적은 다르다..JavaScript에서는 값이 대입되지 않은 변수 혹은 속성을 사용하려고 하면 undefined 를 반환한다.추가적으로 undef
주제(Subject)가 변경될 때 마다 옵저버들에게 변화를 알려주는 디자인 패턴한 객체의 상태가 바뀌면 객체에 의존하는 다른 객체에게 자동으로 내용이 갱신되는 방법으로 일대다(one-to-many) 의존성을 정의한다.주제(subjet)는 옵저버들이 인터페이스를 구현하는
싱글톤 패턴(Singleton Pattern) 이란? 단 하나의 유일한 객체를 만들어서 사용하는 패턴이며 새로운 인스턴스를 만들지 않기 때문에 메모리 절약적인 측면에서 강점이 있다.싱글톤 패턴을 적용하는 경우로는 객체가 리소스를 많이 차지하는 무거운 역할을 가진 클래스
템플릿 매서드 패턴 특정 작업을 처리하는 일부분을 서브 클래스로 캡슐화하여 전체적인 구조는 바꾸지 않으면서 특정 단계에 수행하는 내용을 바꾸는 패턴이다. 예를들어 HTTP와 SMTP Client 프로그램의 경우, 주고받는 메세지의 내용이 다르지만 둘 다 인터넷 프로토
호환되지 않는 인터페이스를 가진 객체들이 호환될 수 있도록 하는 구조적 디자인 패턴이다.레거시 코드들을 재사용 할 수 있게 해준다.Target: 변화에 대한 요구사항Adaptee: 기존 코드Adapter: 변화에 대한 요구사항을 반영해 구현한 새로운 코드Operatio
스트림(Stream)이란? 스트림은 Java8 버젼에 추가 됐으며 람다(Lambda)를 활용할 수 있는 기술 중 하나이다. Java 8 이전에는 배열 또는 컬렉션의 인스터스를 다루는 방법은 for또는 foreach문을 통해 요소를 하나씩 꺼내는 방법이였다. 이는 복잡해
자바의 바이트 코드란? 자바 바이트코드 (Java bytecode)란 자바 가상 머신(JVM)이 이해할 수 있는 언어로 변환된 자바 소스 코드를 의미한다. 즉 .java 파일을 javac이 .class 파일로 변환해준다. javac(자바 컴파일러)에 의해 변환되는 코드
내부의 모든 메서드는 public abstract로 정의 (default 메서드 제외)내부의 모든 필트는 public static final = 상수클래스에 다중 구현 지원.인터페이스끼리는 다중 상속을 지원인터페이스에도 static, default, private 접근
프로그램에서 오류가 발생할 경우 시스템 레벨에서 프로그램에 문제를 야기하여, 원치않는 버그를 일으키거나, 심할경우 실행 중인 프로그램을 강제로 종료하기도 한다.내부적 요인으로는 프로그램 설계 로직에 문제가 생겨서 그럴 수 있고, 외부적인 요인으로는 프로그램 자체 문제가
OSI 7계층이란? 네트워크 통신이 일어나는 과정을 7단계로 나눈 국제 표준화 기구(ISO)에서 정의한 네트워크 표준 모델 1계층 ~ 7계층 까지 구성되어 있으며, 각 계층을 지날 때 마다. 각 계층에서 Header가 붙고 수신측은 역순으로 헤더를 분석하게 된다. 물
'자바를 실행하기 위한 가상 기계(컴퓨터)' 라고 볼 수 있다.Java는 OS 에 종속적이지 않다는 특징이 있으며, OS에 종속받지 않고 실행이 되기 위해선 OS 위에서 Java를 실행시킬 무언가가 필요하며 그게 JVM이다.정리하면 OS에 종속받지 않고 CPU 가 Ja
GC(Garbage Collection)이란? 가비지컬렉션은 Java의 메모리 관리 방법 중 하나로 JVM의 Heap 영역에서 동적으로 할당됐던 메모리 중 필요없게 된 메모리 객체를 모아서 주기적으로 제거하는 프로세스를 말한다. C 또는 C++ 언어에서는 가비지 컬렉
Trello 서비스를 구현하는 프로젝트필수 작업: 백엔드 로그인 기능, Board CRUD 기능, ColumnList CRUD 기능, Card CRUD기능, CardComment CRUD 기능추가 작업: 프론트엔드 구현백엔드 기능을 구현함에 있어서 엔티티 연관관계에 대
FetchType은 2가지 "LAZY"와 "EAGER"가 있고 각각 즉시로딩과 지연 로딩에 해당된다. 기본 값 즉 디폴트 값으로 @ManyToOne의 경우 EAGER가 설정되어있고, @OneToMany의 경우 LAZY로 설정이 되어 있다.@OneToMany의 경우 Li
1:N (OneToMany) 단방향 관계 외래키의 주인은 음식 Entity이지만 실제 외래키는 고객 Entity가 가지고 있다. 1 : N에서 N 관계의 테이블이 외래 키를 가질 수 있기 때문에 외래 키는 N 관계인 users 테이블에 외래 키 컬럼을 만들어 추가
DB에서는 어떤 테이블을 기준으로 하든 원하는 정보를 JOIN을 사용하여 조회할 수 있다.이처럼 DB 테이블간의 관계에서는 방향의 개념이 없지만, Entity에서는 단방향 또는 양방향 연관관계를 설정하여 조회를 할 수 있거나 하지 못하게 될 수 있다.JPA Entity
Api 명세서와 ERD를 작성하긴 했지만, 각자 작성하다 보니 Entity와 필드명이 각기 다른 Git Pull Request를 요청하고 병합하는 과정에서 매 사람마다 시간 소요 다수 발생 -> 이거에 대한 해결을 추후에 튜터님께 한번 여쭤볼 예정.Git commit
심화주차 팀 프로젝트가 발제되었고, 난이도 (상) 의 쓰레드를 참고한 백엔드 서버를 만들기로 하였다. 필수구현과 추가 구현 리스트는 아래와 같다.필수 구현 기능사용자 인증 기능 (희석님)회원가입로그인로그아웃프로필 관리프로필 수정 (나)게시물 CRUD (인수님)댓글 CR