본문 바로가기

전체 글

[Ubuntu] Ubuntu 20.04, 패키지 리포지토리 주소를 Kakao로 변경 Ubuntu 20.04를 설치하면 기본적으로 패키지 리포지토리가 우분투 기본으로 되어있다. 한글설치시 kr.archive.ubuntu.com, 영문설치시 us.archive.ubuntu.com, archive.ubuntu.com 빠른 서버 설정을 위하여 리포지토리를 빠른 카카오(다음) 리포지토리로 변경한다. sudo vi /etc/apt/sources.list 명령어로 저장소 정보가 저장되어있는 파일을 연다. 저장소 목록은 /etc/apt/sources.list 안에 저장되어있으며, sudo는 관리자 권한으로 실행한다는 의미이다. 후에 아래의 명령어를 입력한다. :%s/kr.archive.ubuntu.com/mirror.kakao.com :%s/security.ubuntu.com/mirror.kakao... 더보기
[GIT] .gitignore파일 Repository에 적용 GIT을 처음 세팅하면 하는일중에 하나는 .gitignore파일을 작성하는 것이다. 1. ".gitignore" 파일이란? .gitignore파일은 해석그대로 GIT에서 .gitignore파일에 정의된 규칙의 파일들은 작업에서 배제시키는 역할을 가진다. 이게 왜 필요하냐면 프로젝트나 IDE설정, 잠깐 만들어놓은 임시파일 같은 경우에는 commit, push를 하면 안된다. 따라서 stage에 add할때 제외되어야 하는데, 이 규칙을 정의해 놓은것이 .gitignore파일이다. Java의 예를 들어보면, 1. eclipse를 사용하면 .project파일 과같은 사용자 종속적인 파일들 2. intellij를 사용하면 .idea같은 프로젝트 설정파일 3. Java가 컴파일되어 나온 class 파일들 4. 파일.. 더보기
[JAVA] 정규표현식 사용 방법 - 2 (Pattern, Matcher) 이 글은 [JAVA] 정규표현식 사용 방법 - 1 에서 이어지는 글이다. Method 유효성 검사 가능 여부 문자열 재조합 가능 여부 기타 String.match 가능 불가능 일치 여부에 따라서 boolean값 반환 String.replaceAll 가능 가능 해당 표현식에 부합하는 부분을 치환(교체) String.replaceFirst 가능(replaceAll과 동일) 제한적(replaceAll 하위호환) 해당 표현식에 부합하는 부분을 치환(교체), 첫번째만 String.split 가능 가능 해당 표현식에 부합하는 부분을 기준으로 배열로 나눈다. Pattern & Matcher 가능 가능 다됨 String.match, String.replaceAll, String.replaceFirst, String.s.. 더보기
[JAVA] 정규표현식 사용 방법 - 1 (String.match, String.replaceAll, String.replaceFirst, String.split) 이번 글에서는 Java에서 정규표현식을 사용하는 방법에 대해서 이야기하려고한다. 사실 정규표현식은 대부분의 여러 프로그래밍 언어에서 사용할 수 있도록 되어있다. 그래서 이름도 정규표현식이다. 사실 정규표현식은 대부분의 여러 프로그래밍 언어에서 사용할 수 있도록 되어있다. 그래서 이름도 정규표현식, Regular Expression인것이다. 이 글에선 Java에서의 사용에 대해 정리한다. 웹이든 앱이든 어플리케이션을 제작할 때 사용자 입력으로부터 유효성 검증을 받을 때 정규표현식을 사용한다. ["Java 정규표현식 사용법", "PHP 정규표현식 사용법"] 이런식으로 검색해서 찾으면, 아주 많은 다른사람들이 써놓은 글들이 나타난다. 그런데 사람사람마다 사용한 매소드, 함수들이 다르고 구현 방식들이 달라서 처.. 더보기
[알고리즘] 프로그래머스 기능개발 자바스크립트로 풀기 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 제한 사항 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다. 작업 진도는 100 미만의 자연수입니다. 작업 속도는 100 이하의 자.. 더보기
[알고리즘] 프로그래머스 탑 자바스크립트로 풀기 문제 설명 수평 직선에 탑 N대를 세웠습니다. 모든 탑의 꼭대기에는 신호를 송/수신하는 장치를 설치했습니다. 발사한 신호는 신호를 보낸 탑보다 높은 탑에서만 수신합니다. 또한, 한 번 수신된 신호는 다른 탑으로 송신되지 않습니다. 예를 들어 높이가 6, 9, 5, 7, 4인 다섯 탑이 왼쪽으로 동시에 레이저 신호를 발사합니다. 그러면, 탑은 다음과 같이 신호를 주고받습니다. 높이가 4인 다섯 번째 탑에서 발사한 신호는 높이가 7인 네 번째 탑이 수신하고, 높이가 7인 네 번째 탑의 신호는 높이가 9인 두 번째 탑이, 높이가 5인 세 번째 탑의 신호도 높이가 9인 두 번째 탑이 수신합니다. 높이가 9인 두 번째 탑과 높이가 6인 첫 번째 탑이 보낸 레이저 신호는 어떤 탑에서도 수신할 수 없습니다. 송신 탑.. 더보기
[JS] HTML 요소 크기가져오기. (offsetWidth, clientWidth, scrollWidth, getBoundingClientRect 필자는 얼마전에 JS에서 HTML 요소의 크기를 가져와서 계산해야하는 일이 발생했다. 예전에 어렴풋이 사용한 기억이 있어서, IDE의 코드 자동완성기능을 믿고, 그냥 element.width라고 쳐보니 많은 속성들이 나왔다. 속성이 여러개가 있다는 것은 분명 차이가 있을것이고 제품에서는 정확한 결과를 내야하기 때문에 이 차이들을 알 필요가 있다. 알아보자. 1. element.offsetWidth (Height) element.offsetWidth는 margin을 제외한, padding값, border값까지 계산한 값을 가져온다. (일반적으로 많이쓰임) 아래의 코드를 보자 글씨글씨글씨글씨글씨글씨글씨글씨 실행을 시켜 보면 위와같이 margin을 제외한 초록색 부분까지의 크기, padding값과 border.. 더보기
[CSS] box-sizing: border-box; 1. element의 여백 이 속성을 정확하게 알아보기 위해서는 HTML Element의 여백(margin, padding)에 대해 알고 있어야한다. 글씨글씨 결과는 아래와 같다. margin은 바깥으로 밀어내며, padding은 안쪽으로밀어내고 그 안에 100x100의 div안에 글씨가 쓰여졌다. 따라서 margin을 제외한 실측 크기는 160x160이다. 그렇다면 우리는 항상 디자인적으로 padding과 border를 얼만큼 줄건데 요소의 총크기는 얼마니까 width, height에 미리 여백값을 뺀 값을 넣어야 하는걸까. 아니다. 이딴식이면 코딩안했음. 1. box-sizing: border-box; 이때를 위해서 box-sizing: border-box;가 있는 것이다. 아래와 같이 추가하고 글씨.. 더보기