//
Search
🎏

송용호 0720

<중간 시험 리뷰>
3번 문제
자바에서의 큰 수 활용법을 몰라서 틀림.
Bigintiger 안 쓰고 long숫자값에 L 만 붙이면 되네..?
4번 문제
스트링 형변환 빠른 방법 :String noStr = no + “”;
<JAVA>
모든 메소드에 public 아니면 private 를 붙인다고 생각하면 편하다.
변수의 값이 직접 바뀌는 set 류 메소드들은 멀티스레딩 환경에서 위험하다. 반면 get 함수들은 안전하다.
싱글톤 패턴
class singleton{ private static singleton instance; private singleton() {} singleton getInstence(){ if(instance == null) instance = new singleton(); return instance; } }
JavaScript
복사
자기자신 객체를 내부에 private 에 가지고, 생성자를 막아놓는다.
별도 정적 메소드로 생성자를 대신한다.
정적 변수의 경우static {unm = 0;} 식으로 따로 초기화
동시에 정해진 개수의 객체만 만들어질 수 있다. 일반적으로 1개.
객체의 개수를 시스템에서 제어할 필요가 있을때 쓰인드. 반드시 하나만 있어야 하는건 아니다!
팩토리 패턴
객체 ‘공장’ 을 만들어서 비슷한 객체들을 레시피에 따라 조립해서 배급하는 패턴
공장에선 조립 대상 객체에 부품 객체들을 장착한다. (포함 객체로)
기능 변경이 필요할 때 부품만 갈아 끼우면 되어서 편리하다.
객체 레시피에 대한 중복을 없앨 수 있다.
자세한 내막이 가려진다. (가독성 X)
개발에서 통제는 좋은 것, 팩토리 패턴은 통제를 용이하게 한다.
<서블릿>
HelloServlet.java 로부터 변경점 바로 반영하기
파일 - 설정 - 고급설정 - 컴파일러 - 오토메이크
파일 - 설정 - 빌드 - 컴파일러 -자동프로젝트빌드
C:\work\apache-tomcat-10.0.22\conf\context.xml
설정파일 context.xml <context reloadable =”true”>
일반 프로젝트 vs 웹앱 프로젝트
일반프로젝트는 public static void main(String args){} 가 존재한다.
웹앱 프로젝트에는 메인 메소드가 없는 이유는?
웹사이트를 구현하는데 있어서 톰캣이 우리에게 제공해주는 기능은?
웹사이트를 만든다면,
1.
통신
2.
스케줄링
3.
로직
통신 스케줄링은 항상 똑같다.
로직 부분만 빈칸채우기로 만들면 됨.
그렇게 제공되는 부분이 프레임워크(스프링)
톰캣도 프레임워크
모든 프로그램을 만들때, 인프라 부분을 직접 만들면 엄청난 시간이 소요됨, 그래서 만들어진걸 쓴다.
우리는 톰캣을 다룰때 빈칸을 채우는 역할이기 때문에, 규칙을 맞춰 줘야함.
정적 vs 동적 웹서버
정적웹서버는 document root을 가진다
웹서버는 root dir 에 있는 내용을 웹에 뿌려주는 것 뿐
있으면 뿌려주고 없으면 404 에러
톰캣 vs 스프링
톰캣은 요리도구세트 스프링은 밀키트
아파치 웹서버 만으로 게시판을 구현할 수 있을까? 모든 렌더를 서버에서 한다는 가정하에.
가능은 한데, 현실적으로 불가능
서블릿 : 파일 하나
정적웹 동적웹
정적웹 : 마크업 그대로 나타냄
편의점에 모든 음식을 미리 가져다 둔다.
동적웹 : DB 프로그래밍 언어 등등을 이어서
요리사와 요리 재료만 가져다두고 유동적으로
CRUD 프로젝트 하는것처럼, 브라우저,아파치, 코드, DB 순서대로 요청과 응답이 나와서 작동함.
JSP vs 서블릿
서블릿 : 그냥 자바
JSP : 프로그래밍 세계에서 HTML 을 만듦, 기본 문법이 HTML 기반. 가볍게 쓰기 좋다.