본문 바로가기
반응형

전체 글296

Oracle 비밀번호 만료(ORA-28001: the password has expired) Oracle 접속 비밀번호가 만료가 되면 아래와 같은 에러가 뜨면서 접속이 안된다. Caused by: java.sql.SQLException: ORA-28001: the password has expired 위와 같은 에러가 발생하는 경우 비밀번호를 변경해줘야 한다. 비밀번호 변경 방법은 아래와 같다. 먼저 Oracle DB로 접속을 한다. sudo su - oracle #sqlplus 접속 sqlplus "/as sysdba" 다음으로 신규 비밀번호를 설정해준다. # 비밀번호 변경 # 형식: [ alter user 유저명 identified by 비밀번호; ] # 샘플 alter user testuser identified by "mypassword"; 참고로 기본적으로 Oracle 비밀번호 만료가 .. 2023. 8. 13.
Python Selenium ChromeDriverManager 버전 오류(There is no such driver by url https://chromedriver.storage.googleapis.com/LATEST_RELEASE_115.0.5790) Python Selenium을 사용하여 동작하던 코드에서 갑자기 에러가 발생했다. 에러 내용은 ChromeDriverManager 관련된 에러였다. ValueError: There is no such driver by url https://chromedriver.storage.googleapis.com/LATEST_RELEASE_115.0.5790 계속 잘 동작하던 코드였고 코드에 변경도 없었는데 갑자기 에러가 발생한 상황이었다. 여기저기 찾아보니 Chrome이 115 버전으로 업데이트 되었는데 ChromeDriver는 아직 114가 현재 최신 버전이라서 발생한 문제였다. 아래 코드처럼 자동 최신 드라이버를 설치하도록 했는데 ChromeDriver는 현재 Chrome의 버전을 기준으로 설치하도록 동작하고.. 2023. 8. 13.
아이폰 붙여넣기 허용 팝업 제거 아이폰 앱을 사용하는 중에 다른 앱이나 다른 Mac디바이스 등에서 복사한 내용을 붙여넣기 허용하겠냐는 팝업이 계속 뜨는 경우가 있다. 정말 앱을 정상적으로 사용할 수 없을만큼 자주 뜨고해서 많이 불편한데 어렵지 않게 제거 할 수 있다. 아이폰에서 "설정" 앱을 실행시키고, 아래로 쭉 내려가보면 앱 별로 설정을 할 수 앱 목록들이 나온다. 붙여넣기 허용 팝업이 뜨는 앱을 선택한다. 앱을 선택하고 들어가면 하단에 "다른 앱에서 붙여넣기" 설정이 있다. 이 부분이 기본적으로 '묻기'로 되어있다. 다른 앱에서 붙여넣기 설정 항목을 선택하고 다음 화면에서 허용 or 거부를 선택해주면 끝이다. 필자 같은 경우 사용 편의를 위해 허용을 선택했다. 붙여넣기 허용 팝업이 뜨는 앱 별로 위의 방법대로 동일하게 설정을 해주.. 2023. 8. 5.
Python 엑셀 openpyxl 활용 Python에서 openpyxl 라이브러리를 사용하면 엑셀을 편하게 다룰 수 있다. 간단한 샘플을 통해서 openpyxl 활용하는 방법을 알아본다 먼저 openpyxl을 설치해준다. pip install openpyxl 샘플을 위한 엑셀 파일은 아래와 같이 간단하게 작성한다. openpyxl의 샘플기능들은 아래 코드들을 통해서 확인해 본다. 엑셀 파일에서 값을 Read하고, 필요한 값을 Write하여 새로운 파일을 생성하는 샘플이다. #작업 대상 엑셀파일(workbook)을 Load #data_only=Ture로 해줘야 수식이 아닌 값으로 받아옴 load_wb = load_workbook("/test/sample.xlsx", data_only=True) #엑셀 Sheet이름으로 시트를 Load load_.. 2023. 7. 30.
AWS MFA(다중인증) 등록 방법 MFA는 Multi-Factor Authentication의 약어로 서비스에 액세스 할 때 최소 2가지 이상의 인증을 받게끔 한 액세스 제어 방식이다. 특히, AWS Root 계정 정보가 탈취당하면 제어권을 완전히 잃어버리고 과금 폭탄 등의 큰 문제가 발생할 수 있기 때문에 MFA 사용을 적극 권장하고 있다. 개인 테스트 용도로 사용하는 AWS환경 같은 경우 Root 계정에 대한 MFA 설정을 안해놓는 경우가 많은데 반드시 설정하도록 한다. Root계정으로 AWS IAM 메뉴에 접속해보면 보안 권장 사항에 MFA를 추가하라고 나와있다. MFA추가 버튼을 클릭한다. 다음 화면에서 상단의 MFA할당을 클릭한다. 다음으로 MFA 인증시 사용할 디바이스를 선택하는데 핸드폰으로도 쉽게 사용가능한 인증 관리자 앱으.. 2023. 7. 30.
git fatal: the remote end hung up unexpectedly 오류 조치 git 사용 중에 commit 내역을 push 하려고 할때 다음과 같은 에러가 발생했다. send-pack: unexpected disconnect while reading sideband packet fatal: the remote end hung up unexpectedly 위 오류는 git에서 기본적으로 한개 파일의 최대 용량이 1MB로 설정되어 있고, 그것을 초과한 파일을 push 할 때 발생하는 오류였다. 해결하기 위한 방법은 아래와 같이 진행하라고 한다. git config --local http.postBuffer 2048M 하지만 필자는 동일한 오류가 계속 발생했다. 그래서 아래 설정을 추가해봤다. git config --local ssh.postBuffer 2048M 이제 정상적으로 pu.. 2023. 7. 30.
Docker ENV vs RUN Export Docker에서 기본적으로 환경변수를 사용하는 경우 ENV를 사용하게 된다. 하지만 RUN 키워드로 Shell Command도 사용이 가능한데 환경변수 설정을 위해 RUN export를 사용하면 어떻게 될까. 결론부터 얘기하자면 RUN export는 동작하지 않는다. 그 이유는 RUN export 같은 경우 동일한 Image Layer에서만 사용이 가능하기 때문이다. 간단하게 아래의 예시를 살펴보자 FROM centos:6 ENV FOO=foofoo RUN export BAR=barbar RUN export BAZ=bazbaz && echo "$FOO $BAR $BAZ" 마지막 echo에서 각각 설정한 환경변수들을 참조하고 있는데 실행 결과는 다음과 같다. foofoo bazbaz FOO: ENV 키워드.. 2023. 7. 22.
Gradle fat jar(의존성 포함한 jar) 생성, shadow plugin 활용 일반적으로 Gradle로 jar를 빌드하게 되면 의존성을 설정한 외부 라이브러리(dependency)들은 포함이 되어있지 않다. dependency가 모두 포함된 jar로(fat jar) 빌드하기 위해서는 jar 빌드 시 아래 설정들을 추가해준다. 적용한 gradle 버전은 7.4 기준이다. jar{ enabled=true archiveClassifier = '' // use empty string from { // 의존성 포함 configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } duplicatesStrategy = DuplicatesStrategy.EXCLUDE // 중복처리 } 설정된 jar로 빌드를 하고 .. 2023. 7. 22.
Gradle build jar 시 plain(xxxx-plain.jar) 제거하기 gradle로 jar 빌드 시 bootJar(excutable jar)로 빌드하는 경우가 대부분이지만 공통모듈을 분리한다거나 라이브러리를 직접 개발해서 배포를 해야하는 경우가 있다. 이때 jar로 빌드를 하게 되면 jar 파일명에 plain이라는 Classifier가 붙게 된다. jar{ enabled=true } 이렇게 되면 다른 프로젝트 등에서 Nexus 등을 통해 의존성을 걸어서 사용할 때 안되는 경우가 발생한다. jar파일에서 plain을 제거하는 방법은 다음과 같다. jar{ enabled=true archiveClassifier = '' // Classifier 제거 } 빌드를 하게되면 이제 plain이 없어졌다. 2023. 7. 22.
Python BeautifulSoup Crawling(크롤링) 예제 파이썬(v3.9)으로 크롤링하는 예제를 간단히 남겨본다. 개발 환경은 아래와 같다 크롤링에 필요한 패키지 설치를 위해 requirements.txt 파일을 작성한다. python에서 클로링을 위해서 beautifulsoup을 많이 활용한다. beautifulsoup4==4.12.2 requests==2.31.0 그리고 패키지를 설치한다. pip install --no-cache-dir -r requirements.txt 이제 크롤링 python 샘플 코드를 아래와 같이 작성한다. 내용은 '네이버 뉴스검색'에서 키워드를 검색하고 그 결과를 출력하는 로직이다. 결과는 뉴스의 제목과 링크URL만 출력한다. import requests from bs4 import BeautifulSoup keyword = '자.. 2023. 7. 4.
반응형