PHP | htdocs가 아닌 다른 폴더에 있는 php파일 실행시키는 법
·
TIL/기타
XAMPP로 PHP를 설치했다면 PHP 실행 파일의 경로는 일반적으로 C:\xampp\php이다.이 경로에서는 htdocs 밑에 있어야 파일을 실행시킬 수 있는데다른 경로에 있는 파일을 실행하기 위해서는 PHP 환경 변수를 설정해주어야 한다. 터미널에서 '" 'php'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다"라는 에러메시지를 봤다면 환경 변수 설정을 안 해주었을 가능성이 있다.  환경 변수를 설정하는 과정은 다음과 같다.1. 시스템 환경 변수 편집2. 환경 변수3. 아래쪽 시스템 변수에서 Path 더블클릭4. 새로 만들기5. C:\xampp\php 추가6. 모든 창에서 확인 버튼을 누르고 창 닫기  이후, 명령 프롬포트를 실행하여 PHP 버전을 확인한다.php..
javascript | sort 함수의 Compare Function(비교 함수)
·
TIL/javascript
자바스크립트에서 sort 함수는 아래와 같이 사용한다.array.sort([Compare Function]) 이때, 대괄호는 필요에 따라 생략이 가능함을 의미한다.  따라서, Compare Function 없이 sort 함수를 사용할 수 있다.let arr = [1, 5, 4, 2, 3];arr.sort();console.log(arr); // [1,2,3,4,5]let arr = ['b', 'e', 'd', 'a', 'c'];arr.sort();console.log(arr); // ['a', 'b', 'c', 'd', 'e'] 한 자리의 숫자 또는 문자열 정렬이 완벽하게 되고 있다.  하지만, 두 자리의 숫자 또는 문자열을 정렬한다면 결과가 어떻게 될까?let arr = [27, 8, 5, 13];ar..
git | git에 대용량 파일 업로드하기(Git LFS; Large File System)
·
TIL/기타
에이블스쿨에서 사용했던 노트북을 정리하며 실습 코드 및 프로젝트 파일들 백업을 위해 github에 업로드한 후 다른 PC에서 접근하는 방식을 택했다. 프로젝트를 하면서 git에 대한 기본 개념을 익혔기 때문에 쉽게 pull/push가 가능해졌는데(다들 고마워요!) 가끔가다 등장하는 대용량 파일들(ex. csv 파일로 된 데이터)을 push 하는 과정에서 오류를 만나곤 했다. git만 있으면 쉽게 저장할 수 있을 거라고 생각했지만, 이런 상황이 발생할 것이라고는 생각조차 못해봐서 열심히 git에 대해 찾아본 결과 Git 리포지토리에 업로드할 수 있는 파일 용량은 최대 500 MB로 제한되어 있다고 한다. 그래서 대용량 파일을 업로드하기 위해서는 Git LFS(Large File System)를 사용했다. ..
python | itertools.product()를 사용해 곱집합 구하기(데카르트 곱)
·
TIL/python
집합에서 곱집합 또는 데카르트 곱은 각 집합의 원소를 성분으로 하는 튜플들의 집합을 말한다. 쉽게 말해, 두 집합 A = {1, 2}, B = {3, 4}가 있을 때 A의 원소와 B의 원소를 곱해 나올 수 있는 모든 경우의 수를 담고 있는 집합 {3, 4, 6, 8}이다. 경우의 수는 사칙연산으로 쉽게 구할 수 있지만, 집합을 구하기 위해서는 itertools 라이브러리의 product를 사용한다. 순열과 조합을 구하는 permutations, combinations과 사용법은 동일하다. product(A, B)로 A, B에 iterable한 객체를 전달하면 A와 B의 원소들을 가지고 만들 수 있는 모든 경우의 수를 보여준다. 다음은 숫자 리스트와 문자열로 product를 사용한 예이다. 의도한 바대로 ..
ChromeDriver 115 버전 이후 드라이버 다운로드 및 AttributeError 오류 해결 방법
·
TIL/오류해결
현재 시점 기준(2023.08) 크롬 드라이버가 116 버전이 되면서 이전의 방법으로는 오류가 해결되지 않는다. 115, 116 버전으로 새로 업데이트됨에 따라 새로운 드라이버를 설치해주어야 하는데 설치 방법은 다음과 같다. 아래 크롬 드라이버 다운로드 사이트에서 각 버전에 맞는 드라이버를 설치하면 된다. ChromeDriver - WebDriver for Chrome - Downloads Current Releases If you are using Chrome version 115 or newer, please consult the Chrome for Testing availability dashboard. This page provides convenient JSON endpoints for spec..
python | for 또는 *를 사용해 2차원 리스트 생성 시 주의할 부분(얕은 복사 개념)
·
TIL/python
평소와 똑같이 백준 문제를 풀고 있던 중 리스트를 만들다가 이상한 점을 발견했다. 리스트 안에 빈 리스트를 3개를 만들기 위해 다음과 같이 코드를 작성했다. A = [[] for _ in range(3)] B = [[]] * 3 A, B를 출력해 보면 [ [ ], [ ], [ ] ] 이런 형태의 2차원 리스트가 만들어지는 것을 볼 수 있다. 똑같아 보이지만 A, B는 차이가 있다. 이 차이는 값을 추가하거나 변경할 때 볼 수 있다. 다음과 같이 각 리스트의 0번 인덱스, 즉 0번 리스트에 1을 추가할 것이다. A[0].append(1) B[0].append(1) 위 코드로 우리가 의도하는 결과는 [ [1], [ ], [ ] ]이다. 하지만 실제로 A와 B를 출력해 보면 두 결과는 다른 것을 볼 수 있다...