개발자가 오픈소스를 읽는 방법(Git log)
개발자가 오픈소스를 읽는 방법(Git project Reading Skill)
- 오픈소스개발자입장에서 프로젝트 내용 확인해보려고하는 명령어들
- 프로젝트를 볼때 커밋히스토리를 기준으로 소스코드리딩하면 훨씬 전략적으로 읽을 수 있다.
1 | <img src="http://via.placeholder.com/가로길이x세로길이/바탕색코드/글자색코드?text=이미지안글자" /> |
선택자는 기본선택자와 가상선택자가 있다 그 중 기본선택자를 보자.
홈페이지 용도별 태그명이 다르다.
속성은 크게 두가지 그룹이 있다
그 중 폰트속성 먼저 알아보면 아래와 같다.
font 속성종류 | 특징 |
---|---|
font-size | 글자 크기 |
font-weight | 글자 두께 |
font-style | 글자 기울기 |
font-family | 글자(서체) 지정 |
다양한 단위가 있다.
실무에서 주로 쓰이는 단위는 px, pt(포인트)이다.
한글 본문은 고민하지말고 맑은 고딕으로 쓰면 된다.
웹폰트 사용법은 간단하다.
1 | public static void main(String[] args) { |
1 | ArrayList list = new ArrayList(); |
1 | System.out.println("ㅡㅡㅡㅡㅡfor문"); |
1 | System.out.println("ㅡㅡㅡㅡㅡindexof 사용"); |
1 | //내코드 |
1 | //강사님코드 |
1 | //list객체를 반복할 수 있도록 iterator 객체로 변환 |
Vector : 자동으로 길이가 늘어나는 가변list
ArrayList - 동기화 기능 X : 상대적으로 클라이언트측에서 많이 사용함
Vector - 동기화 기능 O : 상대적으로 서버측에서 많이 사용함
거의 대부분이 ArrayList를 쓰는 상황이다. 주니어레벨에서는 잘 모르겠다싶으면 ArrayList를 사용하면 됨.
1 | //1. Vector 생성 |
1 | System.out.println("ㅡㅡㅡㅡㅡ 배열생성"); |
1 | double[] arr = new double[]{1.1,1.2,1.3,1.4,1.5,1.6,1.7}; |
1 | System.out.println("ㅡㅡㅡㅡㅡ요소검색"); |
기본형데이터타입 | Wrapper클래스(참조형데이터타입) |
---|---|
byte | Byte |
short | Short |
int | Integer |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
기본적인 박싱과 언박싱이 있던 개념이지만 JDK6이후로 오토박싱과 오토언박싱이 가능해졌음
이건 새로운 개념이며 형변환개념과 다르다.
박싱 : 값 형식의 데이터(기본형데이터타입)를 참조형데이터타입인 Wrapper클래스로 변환하는 것
언박싱 : Wrapper클래스를 기본형데이터타입으로 변환하는 것
예시
1 | int num01 = 100; |
접근제어자(Access Modifier) public
진짜 딱 하나만 사용가능할까?
1 | class a{ |
클래스명에서 아래 키보드를 누르면 상속관계(hierarchy)를 확인할 수 있다.
관리자만 확인할 수 있는 회원목록페이지만들어보자.
1 | <%//1.한글처리, 파라미터 |
이때 관리자메뉴확인 if조건문을 아래 한줄짜리 코드로 바꿔보자
1 | <!-- 관리자일때만 메뉴확인가능 --> |
NOPE : 코드는 왼쪽에서부터 순서대로 실행되기때문
아래코드처럼 순서만 바꾼다면 잘 실행될까?
1 | <!-- 관리자일때만 메뉴확인가능 --> |
DB에서 모든 회원의 정보를 가져와서 페이지에 출력한다
이때, 관리자는 목록에 제외되어야한다.
순서
1 | <% |
1 | public ArrayList getMemberList(){ |
필요한 데이터를 키-값 쌍으로 저장해서 필요시마다 키를 사용하여 값을 가져오는 방법
예시 :
사용법
그렇다면 커넥션풀이 뭘까?
DB연결을 하기위한 객체
효율적인 데이터 처리 가능
도입된 배경 : 빈번한 디비연결/호출로 인해서 메모리낭비(누수)발생을 줄이고자 도입되었다.
사용법 :
작동방식 :
커넥션풀을 사용하기 위해선 라이브러리를 다운받아야 한다.
라이브러리 다운로드 주소 : Apache Commons
zip파일 다운로드 3가지
위의 세가지를 차례대로 다운받으면 된다.
먼저 collections zip파일다운로드
그다음 dbcp zip파일다운로드
마지막 pool zip파일다운로드
D:\workspace_jsp7\JSP7\WebContent\WEB-INF\lib
경로에 아래 세가지 파일을 복붙commons-collections4-4.4.jar
commons-dbcp2-2.7.0.jar
commons-pool2-2.8.0.jar
META-INF
폴더에 Context.xml
생성1 | <Context> |
web.xml
파일에서 아래 코드 작성1 | <resource-ref> |
memberDAO.java
파일로 이동해서 getCon()메서드를 커넥션풀을 사용한 아래 코드로 변경해준다.
InitialContext클래스는 Context클래스를 재구현한 클래스이고 Object를 상속받았다
1 | public class InitialContext |
DataSource ds = (DataSource) init.lookup(“java:comp/env/jdbc/context파일의 name값그대로 입력”);
1 | //드라이버로드 디비연결 : 커넥션 풀 사용 |