일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- gradle
- c#
- 프로젝트
- 초대장
- 운영체제
- SQL
- resilience4j
- auto configure
- 알고리즘
- MongoDB
- hyperledger
- 리눅스
- 파이썬 소스
- 오라클 디비
- 오라클
- 자바 프로젝트
- JVM
- 학점
- 티스토리
- jsp
- 유사코드
- 백준 알고리즘
- smart cast
- spring
- dynamic query
- oracle
- 파이썬
- 문법 정리
- 자바
- K6
- Today
- Total
목록Programming (156)
모종닷컴
학습목표 팩토리 메소드 패턴에서 템플릿 메소드 패턴의 사용됨을 안다. 팩토리 메소드 패턴에서의 구조와 구현의 분리를 이해하고 구조와 구현의 분리의 장점을 안다. 빨간 구역은 framework 패키지파란 구역은 concrete 패키지입니다. 설명에서도 템플릿 메소드가 나오듯이 두 가지 패턴이 굉장히 헷갈리는 패턴입니다. 강의 외에 두 가지가 차이가 잘 이해가 가지 않아서 좀 더 찾아본 결과 제 결론은 이렇습니다 템플릿 메소드 : 슈퍼클래스에서 로직의 흐름을 정하고, 서브클래스는 상속받은 로직의 흐름을 유지하고 , 기능을 구체화 시킵니다. Ex) 로직의 흐름 : (A에서 B로 갈꺼다) 기능 정의 : C와 D를 거쳐 A에서 B로 간다, C와 E를 거쳐 A에서 B로 간다. 팩토리 메소드 : 서브클래스에서 오브젝..
학습 목표일정한 프로세스를 가진 요구사항을 템플릿 메소드 패턴을 이용하여 구현 탬플릿 메소드 패턴 : 알고리즘의 구조를 메소드에 정의하고 하위 클래스에서 알고리즘 구조의 변경없이 알고리즘을 재정의 하는 패턴. -> 변하지 않는 기능은 슈퍼클래스에서 만들어주고 자주 변경되어 확장할 기능은 서브클래스에서 만든다. 언제 쓰일까? - 구현하려는 알고리즘이 일정한 프로세스가 있다. - 구현하려는 알고리즘이 변경 가능성이 있다. 어떤 단계로 써야 할까? - 알고리즘을 여러 단계로 나눈다. ex) 게임에 접속 시 아이디 비밀번호 로그인 과정, 해당 회원의 등급(회원, 관리자) 확인 과정, 연결 과정 - 나눠진 알고리즘의 단계를 메소드로 선언한다. ex) 위의 로그인 과정, 등급 확인 과정, 연결 과정 들을 각 각 메..
학습 목표알고리즘을 요구사항에 맞게 사용할 수 있다. 상황을 예시로 들자면 "A라는 알고리즘을 돌리게 되면 효율이 매우 떨어진다는 것을 알게 되었고, B라는 알고리즘으로 대체를 하는 상황"이 가장 적절하다고 생각한다. 클래스의 구성은 다음과 같이 되어있다. AdapterImpl.class에서는 sort()라는 메소드안에 Sort.class의 알고리즘을 장착하고, Main.class에서는 이 AdapterImpl.class의 sort 메소드를 사용한다. 1. 버블 소트를 사용하고 있을 때 2. 버블 --> 퀵 다음 사진에서 볼 수 있듯이 Main.class에는 어떠한 변경도 일어나지 않았지만 전혀 다른 알고리즘으로 바꿀 수 있게 되었다. [출처 : https://www.youtube.com/watch?v=..
학습 목표 인터페이스 개념 델리게이트 개념 전략 패턴 이해 인터페이스 : 기능의 선언과 구현으로 분리시킨다. public interface Ainterface { public void funcA();//기능의 선언 } public class AinterfaceImpl implements Ainterface{ //기능의 구현 public void funcA() { System.out.println("A"); } } 델리게이트 : 특정 객체의 기능을 사용하기 위해 다른 객체를 호출하는 것. public class AObj { private Ainterface inter; public AObj() { inter = new AinterfaceImpl(); } public void funcA() { //다른 객체..
Maven이란? Java기반 프로젝트의 *라이프사이클 관리를 목적으로 하는 빌드 도구이다. 컴파일과 빌드를 동시에 수행, 테스트를 병행하거나 서버 측 Deploy 자원을 관리할 수 있는 환경을 제공한다. 또한 라이브러리 관리 기능도 내포하고 있다. Java로 개발하다 보면 다양한 라이브러리를 필요로 하게 되는데, *pom.xml 파일에 필요한 라이브러리만 적으면 Maven이 알아서 다운받고 설치해주고 경로까지 지정해준다. 프로젝트를 진행하다 보면 라이브러리들을 많이 활용하게 됩니다. 점점 많아지는 라이브러리들을 일일히 관리하기 힘들어집니다. 하지만 Maven을 이용하게 된다면 코드 몇줄로 필요한 라이브러리를 작동시키고 그 라이브러리가 필요로 하는 다른 라이브러리(의존 라이브러리)들까지 자동으로 관리해줍니..
졸작을 위해서 리눅스를 설치하고 개발 환경을 설치하던 중에 계속 반복되는 에러가 뜸.. "아카이브를 받을 수 없습니다. 아마도 apt-get update를 실행해야 하거나 --fix-missing 옵션을 줘서 실행해야 할 것입니다." apt-get update 명령어를 실행해도 계속 비슷한 종류의 에러가 뜨길래 찾아보았는데, 아마도 패키지 다운로드 서버의 문제였었던 것 같다. 어떤 이유에서인지는 정확히 모르겠지만 서버를 옮긴 후 위의 문제가 쉽게 해결이 되었다. 1)터미널을 연다 2)su (루트 계정 전환) 3)vi /etc/apt/sources.list (sources.list 편집) 4) :%s/kr.archive.ubuntu.com/ftp.daumkakao.com/g (kr.archive.ubunt..
프로젝트명공모전 도우미 개 발 언 어java, jsp, html, javascript, css프로젝트 종류 개인 프로젝트 개 발 도 구OS : Window10Tool : EclipseDB : MySQL웹 컨테이너 : Tomcat9.0 프로젝트 기간 2017.11.03 ~ 2017.12.15 프로그램 요약◆개발 목적원하는 공모전을 쉽게 찾을 수 없을 뿐더러 참여하는 인원의 구체적인 작업이 없음 또한 대체로 글(네이버카페)로만 되어있어 직접 다 읽어야 하는 귀찮음이 있음. ◆프로그램 설명카테고리를 통해 원하는 공모전을 쉽게 찾을 수 있으며, 공모전 모집 게시판을 따로 만들어 관리할 수 있도록 하였다. 주 요 화 면 1) 팀원 모집 게시판 2) 공모전 정보 게시판3) 글 보기, 글 쓰기 4) 관리자 회원 차단..
매번 form에서 날라오는 파라미터의 인코딩을 위해 다음과 같이 request.setCharacterEncoding("utf-8"); 를 추가해야 할 때 씀. 프로젝트의 WebContent-WEB_INF-web.xml파일을 연다. (web.xml이 보이지 않는다면 프로젝트 폴더(루트폴더)에서 우클릭 -> Java EE Tools -> Generate ~~를 클릭해주세요) 그리고 다음과 같은 화면 밑에 source 탭을 눌러 아래 코드를 추가해준다. mongoweb index.html index.htm index.jsp default.html default.htm default.jsp //////////////////////////////////////이 부분 부터 추가 encoding filters.Se..
◆유저 액세스 제어 1.유저 생성(sys 계정으로 접속) Create user demo identified by demo; 2.권한 부여 grant create session , create table , create sequence ,create view to demo; 권한 부여를 할 때 매번 위와 같이 작성하는 것에 한계를 느낌 3.롤 생성 create role manager; 4.생성 롤에 권한 부여 grant create table, create view to manager; 5.테스트 create user alice identified by alice; grant manager to alice; 6.암호 변경 Alter user demo identified by employ; 7.객체 권한(n..
◆스키마 객체 관리 테이블 컬럼 삭제 alter table dept80 drop column job_id; 테이블 컬럼 변경 alter table dept80 modify last_name varchar2(30); 테이블 컬럼 추가 alter table dept80 add job_id varchar(9); unused : 데이터를 사용하지 않겠다고 설정.: 데이터가 사라지는 것은 아님. 데이터가 엄청 많을 때 지우는 시간동안 서비스가 제대로 이루어 지지 않기 때문에 나중에 삭제하려고 unused체크 alter table dept80 set unused (last_name); unused 체크한 것 삭제하기 alter table dept80 drop unused columns; 테이블 제약 조건 변경 AL..