본문 바로가기

👨‍🏫일문일답40

Github는 main, Git은 master를 쓰는 이유 Git에서 저장소를 만들 경우 기본 브랜치 이름이 master가 되고, Github에서 저장소를 만들 경우 main이 된다. 나는 이게 단순히 개발 주체의 차이 때문에 다른 거라고 생각하고 있었는데 그 이유를 최근에 알게 되었다. 바로 미국에서 Black Lives Matter(BLM) 운동이 한창일 때, Github에서 master라는 용어가 '노예 제도'를 연상시킨다는 이유로 master라는 이름을 main으로 변경했기 때문이다. GitHub to replace "master" with alternative term to avoid slavery references GitHub getting on board legitimizes movement aimed at removing racially-char.. 2023. 10. 22.
URL 인코딩과 HTML 인코딩 인코딩 자체는 정보를 표준화, 보안, 처리 속도 향상, 저장공간 절약 등의 목적으로 다른 형태나 형식으로 변환하는 것을 말한다. 그러다 보니 수많은 종류의 인코딩 방식이 존재한다. 대표적인 게 ASCII, UTF-8 등이고, 이 글에서 다룰 URL 인코딩과 HTML 인코딩이다. 웹 개발을 하는 사람이라면 두 인코딩에 대해 이해해둘 필요가 있다. 인간의 문자는 컴퓨터가 이해할 수 없다. 따라서 컴퓨터는 각 문자를 숫자에 대응시켜서 데이터를 저장하거나 처리하는 데 사용한다. 컴퓨터 발전 초기에는 알파벳과 특수 기호들을 숫자에 대응시키는 아스키(ASCII) 인코딩을 사용하였다. 그러다 보니 웹사이트의 주소나 FTP 등 인터넷 서비스에 사용되는 URL에서도 아스키코드밖에 지원하지 않았다. 그러나 알파벳 이외의 .. 2022. 10. 21.
아파치 웹 서버(httpd)의 방식 - prefork, worker, event 아파치 1.x - 프로세스 기반 아파치 2.x - 프로세스와 스레드(MPM 지원으로 하이브리드) prefork - 1 프로세스가 1 스레드 소유. 리눅스 기본 설정 방식. 스레드 간 메모리 공유를 하지 않아 안정적. but 메모리 많이 사용. worker - 1 프로세스가 여러 스레드 소유. 프로세스당 최대 64개의 스레드 소유 가능. 초과 시 새 프로세스 생성. event - 아파치 2.4부터 지원. 클라이언트 요청을 바로 프로세스나 스레드 연결하지 않고 별도의 스레드로 분산 처리. 2022. 8. 28.
System.out.println() (sysout 또는 sout) vs. Logger 자바 개발을 할 때, 결괏값이나 변수의 값을 콘솔 창에 출력하는 경우가 있다. 이유는 다양하겠지만, 애플리케이션을 실행할 때 콘솔 창을 통해 출력하는 방법은 System.out.println()을 사용하거나 Logger를 사용한다. 물론 각 방법에 장점이 있어 두 가지 방법 모두 사용해도 되지만, 적어도 규모가 있는 프로젝트에서는 Logger를 사용을 권장한다. 이번 글에서는 System.out.println() (이하 sysout)와 Logger 중 어느 것을 사용해야 할지 비교해본다. System.out.println() sysout의 최대 장점은 사용이 쉽고 별도의 라이브러리 추가가 필요 없다는 것이다. 자바를 처음 배울 때, sysout을 통해 문자열을 출력한다. 다만, 그 이외의 장점은 없고, .. 2022. 3. 18.
728x90