일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- nodejs
- HTTP
- github
- socket
- Java
- redis
- network
- spring
- mongodb
- reactor
- 데이터통신
- Elk
- effective
- 네트워크
- Static
- Linux
- mybatis
- r
- VCS
- ajax
- reactive
- Heap
- git
- AWS
- NoSQL
- cache
- html
- libuv
- javascript
- Lombok
- Today
- Total
목록2018/04 (8)
빨간색코딩
참조문서https://github.com/nodejs/nodehttps://nodejs.org/ko/docs/guides/event-loop-timers-and-nexttick/https://medium.com/the-node-js-collection/what-you-should-know-to-really-understand-the-node-js-event-loop-and-its-metrics-c4907b19da4c이벤트루프는 nodejs 의 핵심개념인데, 열심히 파헤쳐보자. 먼저 구글에 널려있는 많은 아키텍처들은 전부 틀렸다고 한다. 이 말은 libuv의 핵심 개발자 Bert Belder 등이 했다고 참조문서에서 말한다. 아무튼 그래서 구글링을 열심히해봐도 공식문서에 부합하는 아키텍쳐 그림이 없었다. ..
참조문서http://d2.naver.com/helloworld/5102792https://www.holaxprogramming.com/2013/01/10/devops-how-to-manage-dbcp/ 1. DBCP 란?Database Connection Pool 의 약자이다. 요청이 올때마다 Connection 객체를 얻는 것이 아닌, 미리 일정 갯수 찍어내서 Connection Pool 로 관리하는 것이다. DBCP를 사용치 않으면 아래와 같은 과정을 거친다.DB 서버 접속을 위해 JDBC 드라이버를 로드한다.DB 접속 정보와 DriverManager.getConnection() Method를 통해 DB Connection 객체를 얻는다.Connection 객체로 부터 쿼리를 수행하기 위한 Prepa..
1. JDBC 란?Java Database Connectivity 의 약자이다. java에서 DB에 접속할 수 있도록 하는 API이다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다. 패키지는 java.sql와 javax.sql에 있다.2. ODBC 와 차이ODBC는 Open Database Connectivity 의 약자이다. ODBC는 모든 응용 프로그램(프로그래밍 언어 무관)에서 모든 데이터베이스 시스템과 통신하는 데 사용할 수있는 개방형 인터페이스이다. 즉, JDBC가 java만 지원하는 것과 다르게 ODBC는 언어와 독립적이다.3. JDBC 아키텍처 JDBC 드라이버매니저는 DB에 맞는 드라이버를 load하여 JDBC를 초기화한다.JDBC 드라이버들은 자바 어플리케이션..
커밋을 잘못했고 푸쉬까지 했을때 복구git reset --hard HEAD^ git push -u origin +master git pull 파일 이름변경작업 디렉토리에 있는 파일의 이름을 변경 할 때는 git mv 명령어를 사용git mv 원래이름 바꿀이름 git 사용도중에 gitignore 설정중간에 gitignore 파일을 설정하면 git status 해도 여전히 남아있는데, 이럴 때 다음과 같이 실행하면 적용된다.git rm -r --cached . git add . git commit git push 원격저장소 브랜치 가져오기git clone을 통해 로컬로 가져오면 master 브랜치만 가져오는 듯. 협업을 위해 개발브랜치를 가져와야한다면..!!클론할 때 브랜치명으로 따오기 : git clone..
일반클래스는 Package member class 라고들 하며, 아래 항목에서 제외했다. 구글링해보면 클래스간에 관계나 큰 틀에서의 구조를 안잡고 나열하는 식이 많은 것 같다ㅋㅋ1. 중첩 클래스는 왜 쓰는가?클래스들의 논리적인 그룹을 나타낼 때 쓴다. 주로 model 객체에서 상위모델과 하위모델이 있을 때 쓰는 것 같다. (Static Nested Class 를 많이 씀)향상된 캡슐화좋은 가독성과 유지보수성2. 중첩 클래스의 종류3. 내부클래스 (Inner Class)내부클래스로서 일반클래스 내부에 생성된다. Non-Static Nested Class 라고도 불린다.밖에 있는 클래스는 내부클래스를 멤버변수처럼 사용할 수 있다. 사용하려면 new로 인스턴스를 만들어야한다.내부클래스는 자신의 밖에 있는 클래..
1. Object 클래스java의 모든 클래스의 최상위 부모이다. 자동으로 java.lang.Object 클래스를 상속받으므로 extends 역시 필요 없다.2. 주요 메소드반환형메소드명설명booleanequals(Object o)객체 간에 동일여부를 나타냄inthashCode()객체의 해쉬값StringtoString()객체를 string으로 나타냄, 기본적으로 클래스명@16진수hashCode값Objectclone()객체를 복사해서 리턴voidfinalize()객체가 GC처리 되기전에 호출ClassgetClass()객체의 runtime class를 리턴instanceof 연산자와 getClass() : instanceof 연산자는 상위 부모클래스에도 true가 된다. if문으로 분기처리할 경우 getCl..
컨트롤러에서 request 들을 다양한 타입으로 받을 수 있다.1. Servlet APIServletRequest, ServletResponseHttpServletRequest, HttpServletResponse : 위에꺼를 상속받음HttpServletRequest.getInputStream() : InputStream, Reader 등을 얻을 수 있다.HttpServletResponse.getOutputStream() : OutputStream, Writer 등을 얻을 수 있다.HttpSession : HttpServletRequest 에서 세션관련한 것들만 있음2. Spring APIWebRequest : HttpServletRequest 와 비슷하지만 Servlet 과 의존성이 없다org.spri..
1. 문제상황HTTP 메소드 DELETE로 request body를 이용하여 spring 컨트롤러에 요청을 쐈는데, 파라미터가 전부 null 로 넘어가는 것이 아닌가?? 띠용? 2. 문제점참조문서 : https://stackoverflow.com/questions/25375046/passing-data-in-the-body-of-a-delete-requesttomcat의 문제라고 한다. tomcat은 request body를 POST 일때만 파싱하고 있었다.코드까보기톰캣버전 : 8.0.48 (로컬 윈도우에 깔린거)경로 : org.apache.catalina.connector.Connector.java관련 코드76라인 : 생성자호출에서 this.parseBodyMethods = "POST";196~212라..