팩토리 패턴 (factory pattern) 객체를 사용하는 코드에서 객체 생성 부분을 따로 떼어내어 추상화한 패턴이자, 상속관계에 있는 상위 클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 대한 구체적인 내용을 결정하는 패턴이다. 상위 클래스와 하위 클래스가 분리되어 많은 유연성을 갖게 되고, 유지 보수성이 좋다. 면접을 위한 cs 전공 지식 노트 예제에서는 하위 클래스를 바리스타 공장으로, 상위 클래스를 레시피로 정의하여 예시를 보여주었다. /* 면접을 위한 cs 전공 지식 노트 예제 2. Factory pattern 상위 클래스인 객체 생성 부분을 추상화하고, 하위 클래스에서 객체 생성에 대한 구체적인 내용을 결정하는 패턴이다. 상위 클래스와 하위 클래스가 분리되어 많은 유연성을 갖게..
vscode에서 java project 생성하기 (Mac기준) 1. vscode를 실행한 후 project를 만들 폴더로 들어간다. 2. command + shift + p 를 누르면 아래와 같이 vscode 검색창이 뜨는데, java를 입력하고 그중 Java Create Project 선택 3. xoxowo는 단순히 java 언어 공부를 하기위한 파일 생성을 원하기 때문에 No build tools 선택 4. 생성할 프로젝트 이름 기입한다. 5. 생성하면 아래와 같이 project가 생성된다.
오늘의 일기 "장고 튜토리얼을 공부할 때 MVC 패턴에 대해서 짧게 배웠는데, 이게 뭘 어떻게 한다는 건지 대충 넘어갔었.... 다.... 그래도 다시 공부하는 겸.. 꼼꼼히 살펴봐야겠다...🙄" 프로그램을 설계할 때 발생하는 문제를 객체 간의 상호관계 등을 이용하여 해결할 수 있도록 형식화된 규약?이라고한다. 싱글톤 패턴 (singleton pattern)부터 MVVM 패턴까지 10가지의 패턴들이 있다. 싱글톤 패턴 (singleton pattern) 싱글톤 패턴은 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴, 데이터 베이스 연결 모듈에 많이 사용된다. (데이터베이스 연결 모듈이라고 하니까 확 와닿았다. 감을 잡..았달까나..?) → Django에서 데이터베이스 연결 예시 DATABASES = ..
오늘의 일기 : 언어를 공부하면서 느낀 점은 비슷한 기능이지만 부르는 이름(?)이 달라서 각 공부하면서 개념을 정확하게 이해하는 것이 중요한 것 같다... 변수 (Variable) 변수는 클래스 변수, 인스턴스 변수, 지역 변수 세 종류가 있다. 변수가 어디에 선언됐는지 선언 위치에 따라 결정지어진다. 클래스 영역에 선언되는 변수는 클래스 변수와 인스턴스 변수가 있고 클래스 이외의 영역에 선언되는 변수는 지역변수가 있다. 클래스 변수와 인스턴스 변수를 구분하는 방법은 쉽게 변수 앞에 static이 붙어있으면 클래스 변수, 붙어있지 않은 변수는 인스턴스 변수다. 클래스 변수는 모든 인스턴스가 공통된 변수(저장공간)를 공유하게 된다. 따라서 모든 인스턴스들이 공통적인 값을 유지하거나 공유해야 할 속성의 경우..
배열 (Array) 같은 자료형의 데이터들을 연속적으로 메모리에 저장하는 자료 구조이다. (정적 배열) 서로 다른 타입의 변수들을 배열로 만들 수 없다. (python의 list와 비슷하다.) 선언과 생성 타입[] 변수이름; → 배열을 선언하는 것은 단순히 생성된 배열을 다루기 위한 참조 변수를 위한 공간이 만들어지며, int 타입일 경우 배열안의 값은 자동적으로 int의 기본값(default)인 '0'으로 초기화된다. 변수이름 = new 타입[길이]; → 연산자'new'에 의해 메모리의 빈 공간에 지정한 길이까지 데이터를 저장할 수 있는 공간이 생성(?)된다. // 타입[] 변수이름 = new 타입[길이]; int[] score = new int[5]; // 5개의 int 타입의 값을 저장할 수 있는 ..
먼저 배웠던 파이썬과 다르게 자바는 변수 선언 시 변수에 저장할 값이 어떤 타입인지 변수 타입을 변수 앞에 지정해주어야 한다. 정수형 변수 타입 4개의 자료형이 있으며 각 자료형이 저장할 수 있는 값의 범위가 서로 다르며, 일반적으로 int를 사용하는 편이 더 효율적이다. int의 범위 (약 -+20억)을 넘어서는 수를 다뤄야 할 때는 long 타입을 사용한다. int month = 9; // int 타입 int date = 17; byte b = 1; // byte 타입 short s = 2; // short 타입 long l = 3; // long 타입 실수형 변수 타입 실수형 정밀도에 따라 타입이 나뉜다. float타입보다 double타입이 약 2배 높은 정밀도를 가지고 있다. float f = 3..
약 한 달 동안 기업 협업으로 가게 된 곳은 산업 현장과 관련된 근로자 안전, 공정률 예측 등 loT를 이용한 플랫폼을 제공하는 기업이었고, 프론트2명 백앤드 2명 총 4명이 기업 협업 프로젝트인 Project - Earth를 약 4주 동안 진행하게 되었다. Project - Earth 산업 현장에 설치된 CCTV 영상 및 영상분석 정보 수집 Pipeline 해당 정보를 토대로 현황 모니터링 및 공정률 분석이 가능한 플랫폼 개발 기업 협업 팀 사전에 소개된 기업 소개서 설명에서 프론트와 백엔드 구성으로 된 팀으로 프로젝트 진행하는 것이 기재되어있지만 인원수는 기재되어있지 않았다. 마찬가지로 임의로 프로젝트 팀이 정해져서 우리는 프론트 2명과 백엔드 2명으로 구성되어있었고 다른 기업협업팀은 적으면 2명 많..
이전 포스팅에서 작성했던 방법은 선택 항목이 늘어날수록 코드를 재수정해야 한다는 점 때문에 이번 3차 프로젝트에는 코드 리팩터링을 하다 Q객체를 이용하여 query string을 좀 더 확장성 있게 구현해 보기로 했다. 처음 equipment list url로 들어왔을 때 등록된 모든 장비 항목이 보여야 된다. 그 후 선택(옵션) 값을 Query string으로 값을 받아서 필터링으로 값을 빼와서 결괏값을 다시 전달해주면 된다. 마찬가지로 list를 보는 페이지는 equipment/list로 끝나게끔 url 주소를 정의했다. # equipment/urls.py 파일 from django.urls import path from equipment.views import EquipmonetListView, E..
- Total
- Today
- Yesterday
- Python
- django
- musma
- 톰캣
- 한글 형태소 분석기
- 혼자 공부하는 파이썬
- error: failed to push some refs to 'https://github.com/
- Magazine K
- path variable
- 커맨드 객체
- Java
- 웹페이지
- API
- 회원가입
- authenticate()
- 검색 결과 내 페이지네이션
- git
- Spring
- 환경 변수 설정
- django-environ
- git 공부
- python3
- git공부
- django.contrib.auth
- Django tutorial
- 디자인 패턴
- 암호화
- 회원 로그인
- 배열
- 면접을 위한 CS 전공 지식 노트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |