분류 전체보기

    .gitignore에서 파일을 해제하고 다시 Git 추적에 등록하기

    1. .gitignore 파일을 열고 해당 파일을 무시하도록 지정한 줄을 찾습니다. 예를 들어, config.py를 다시 추적하려면 .gitignore에서 config.py 라인을 찾아 삭제합니다. 그리고 .gitignore 파일을 저장하고 닫습니다. 2. 다음 명령어를 사용하여 해당 파일을 Git 추적에 다시 추가합니다. git add config.py 3. 변경 사항을 커밋합니다. git commit -m "Re-add previously ignored file" 4. 변경 사항을 원격 저장소에 푸시합니다. git push

    GitHub에 잘못 올린 파일 제거 및 히스토리에서 삭제

    프로젝트 중 각종 key와 비밀번호 정보가 포함된 config.py 파일을 깃허브에 푸쉬해놓고 레파지토리를 private으로 해놨었는데, 해당 레파지토리를 다시 public 으로 바꾸려니 gitignore에 추가 뿐 아니라 history에 해당 파일의 정보가 남아있어서, history 까지 삭제해야했다. 그래서 이 포스팅엔 파일 및 히스토리를 삭제하기 위해 내가 진행한 과정을 남기려 한다. 1. .gitignore 파일에 config 파일을 추가하려면, 파일 이름을 입력하고 줄 바꿈으로 구분합니다. config.py 2. .gitignore 파일을 저장하고 Git에 추가합니다. git add .gitignore 3. 변경 사항을 커밋합니다. git commit -m "Add config.py to .gi..

    MySQL(RDS) - FULLTEXT 인덱스 2글자로 검색하기

    풀텍스트 검색으로 DB에서 식당을 검색해서 조회하는 api를 만들었는데 이상하게 결과수가 너무 적게 나왔다. 알아보니 FULLTEXT 인덱스를 검색하는 글자수에 대한 최소값이 있었기 때문이었다. InnoDB 검색 인덱스의 경우 기본값은 innodb_ft_min_token_size=3 MyISAM 검색 인덱스의 경우 기본값은 ft_min_word_len=4 이다. 확인하는 명령은 다음과 같다. SHOW VARIABLES LIKE 'innodb_ft_min_token_size'; SHOW VARIABLES LIKE 'ft_min_word_len'; ㄱMySQL의 my.ini를 수정해주면 된다는데 나 같은 경우는 AWS의 RDS를 사용중이기 때문에 AWS RDS 콘솔에서 수정해줘야 한다. 먼저 RDS 콘솔에서..

    OverflowError: Python int too large to convert to C long 해결법

    df['price'].astype('int') astype(int)를 했는데 이런 에러가 발생했다. OverflowError: Python int too large to convert to C long 찾아보니 숫자가 sys.maxsize 보다 크면 이런 에러가 발생할 수 있다고 해서 sys.maxsize를 확인해봤다. 내 데이터 중엔 이 숫자보다 큰 데이터는 없는것 같은데 뭐가 문제인지 모르겠다. 어쨌든 해결방법은 astype(int) 대신 pd.to_numeric을 사용하면 된다. df['price'] = pd.to_numeric(df['price'])

    df.str.contains 사용 시 발생 에러 - ValueError: Cannot mask with non-boolean array containing NA / NaN values

    프로젝트 진행 중 가격에 ' ~ '가 들어간 데이터가 있어서 drop 해 주기 위해 df.str.contains를 사용했는데 에러가 발생했다. df2.loc[df2['price'].str.contains('~'), 'price'] = 0 에러 내용은 다음과 같다. ValueError: Cannot mask with non-boolean array containing NA / NaN values 문자열을 찾을 때 컬럼에 NaN값이 존재하면 NaN을 반환하기 때문에 에러가 발생하는 것이다. 해결을 위해서는 NaN 값이 존재하는 경우에 대한 예외처리가 필요하다. str.contains() 함수의 파라미터 na를 사용하여 NaN을 만났을 경우 기본값을 설정해 줄 수 있다. df2.loc[df2['price']...

    Android Studio - BottomNavigationView를 사용해 fragment 기초 이해하기

    1. activity_main.xml 의 레이아웃을RelativeLayout으로 바꾼다. 2. bottom으로 검색하여 BottomNavigationView를 끌어다 놓는다. 3. BottomNavigationView의 id, width, height, align을 설정해준다. 4. 리소스매니저 - 네비게이션 - +버튼 - Navigation Resource File 선택 5. 파일명 짓고 생성 6. dependency를 추가한다. 이런 경고창이 뜨는데 OK를 눌러 dependency를 추가한다. 만약 안된다면 build.gradle에 직접 dependency를 추가해준다. dependencies { implementation 'androidx.navigation:navigation-fragment:2...

    Android - 미디어 파일 사용 권한 선택 에러

    https://donghyeok90.tistory.com/281 Android Studio - 카메라 or 갤러리에서 사진 가져오기 Cheet Sheet 1. fileprovider.xml 만들기 res - xml 에 XML Resource file을 추가 파일명은 fileprovider로 만들고 아래 코드를 복사해 넣는다. 2. Manifest 설정 AndroidManifest.xml에 다음 항목들을 추가해 넣는다. 의 authorities는 자 donghyeok90.tistory.com 이 포스팅에서 다룬 코드가 일부 환경에서는 정상적으로 동작하지 않았다. '앨범에서 가져오기'를 선택하면 미디어 파일 접근 권한 설정을 물어보는 창이 나와야 하는데, 아무것도 나오지 않았다. 로그는 다음과 같이 나왔다...

    Android Studio - 카메라 or 갤러리에서 사진 가져오기 Cheet Sheet

    1. fileprovider.xml 만들기 res - xml 에 XML Resource file을 추가 파일명은 fileprovider로 만들고 아래 코드를 복사해 넣는다. 2. Manifest 설정 AndroidManifest.xml에 다음 항목들을 추가해 넣는다. 의 authorities는 자신에 맞게 변경한다. android:requestLegacyExternalStorage="true" 3. Cheet Sheet import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivi..