본문 바로가기
반응형

전체 글549

[Kotlin] Android Camera 사용하기 Android Camera 사용하기 권한 카메라를 사용하기 위해서는 카메라 권한부터 얻어야 합니다. 흐름은 아래와 같습니다. Manifest 에 다음 항목 추가 ..생략.. dependencies 추가 build.gradle(app) 의 dependencies 에 다음 항목 추가하고 우측상단에 [Sync Now] 클릭해서 받아옵니다. def camerax_version = "1.0.0-rc01" def camerax_view_version = "1.0.0-alpha20" implementation "androidx.camera:camera-camera2:${camerax_version}" implementation "androidx.camera:camera-lifecycle:${camerax_versio.. 2023. 8. 4.
[selenium] element click intercepted exception in python 전 방법1로 해결 방법1 element.click() 에서 오류가 발생하면 아래와 같이 변경 from selenium.webdriver.common.keys import Keys element.send_keys(Keys.ENTER) 방법2 element 를 두번째 파라메터로 넘김 driver.execute_script("arguments[0].click();", element) 2023. 8. 4.
[selenium] move to bottom (scroll down) html = driver.find_element(By.TAG_NAME, 'html') html.send_keys(Keys.END) 이렇게 하면 한번에 끝까지 내려감. 스크롤 한번씩 내리려면 아래와 같이 SCROLL_PAUSE_TIME = 0.5 # Get scroll height last_height = driver.execute_script("return document.body.scrollHeight") while True: # Scroll down to bottom driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") # Wait to load page time.sleep(SCROLL_PAUSE_TIME) # Calcula.. 2023. 8. 3.
Mac 에서 다운받은 ChromeDriver 를 권한 문제로 실행할 수 없을 때 Terminal(터미널)을 실행한 다음 다운받은 chromedriver 위치까지 이동해서 아래 명령어를 날리면 사용가능. xattr -d com.apple.quarantine chromedriver 2023. 8. 3.
[Kotlin] Json String (List) 을 Data Class 로 변환 (GSON) Json String (List) 을 Data Class 로 변환 (GSON) 이전 글에서 휴일 정보를 Json 으로 가져왔습니다. 참고 https://date.nager.at/api/v2/publicholidays/2023/KR 위의 호출 결과를 Data Class 로 매핑할 경우 아래와 같은 data class 로 만들 수 있습니다. data class PublicHolidays( @SerializedName("date") val date: Date, @SerializedName("localName") val dateName: String, @SerializedName("name") val engName: String, @SerializedName("countryCode") val locale: St.. 2023. 8. 2.
[Kotlin] HttpUrlConnection 사용하여 api 호출하기 manifest 에 권한 추가 Activity 생성 HttpActivity ViewBinding 하도록 소스 수정 class HttpActivity : AppCompatActivity() { private lateinit var binding: ActivityHttpBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityHttpBinding.inflate(layoutInflater) setContentView(binding.root) } } layout UI Thread 가 아닌 Background Thread 에서 작업하기 위해서 ThreadExecutor.. 2023. 8. 2.
[Kotlin] svg, png 추가하고 사용하기 우선 무료로 icon 받는 사이트에서 svg 또는 png 를 다운로드 받습니다. https://www.iconfinder.com/ https://iconmonstr.com/ SVG 안드로이드 스튜디오에서 File > New > Vector Asset 위에서 다운로드 받은 SVG 를 선택합니다. 적당한 이름으로 변경하고, Next 를 누릅니다. 저장 경로를 확인하고 Finish 를 누릅니다. @drawable/.. 을 입력하면 목록에 표시가 됩니다. PNG 다운로드 받은 png 파일을 복사 후 res > drawable 에 붙혀넣기 (CTRL+V or Command+V) 하면 폴더 선택이 나옵니다. "drawable"은 모든 안드로이드 버전에서 지원되는 리소스 폴더이고, "drawable-v24"은 안드로.. 2023. 8. 1.
[Kotlin] Class 생성자 간단한 Class class User(var name: String) val user1 = User("Hello") println(user1.name) // Hello user1.name = "Bryan" println(user1.name) // Bryan 위의 class 에서 var 대신 val 로 수정하면, 아래 라인에서 오류 발생 user1.name = "Bryan" // 오류 일반적인 Class class User { var name: String? = null var age: Int? = null lateinit var group: String } val user1 = User() user1.name = "hello" print(user1.name) // hello lateinit 를 할당하지 .. 2023. 8. 1.
AWS Cloud9 에서 Selenium 으로 크롤링 하기(Amazon Linux2) Cloud9 에서 Selenium 으로 크롤링 하기(Amazon Linux2) 좀 더 자세한 설명은 이전 글을 참고하세요. [AWS] - Cloud9 에서 Selenium 으로 크롤링 하기 (Ubuntu) 여기에서는 Amazon Linux2 에서 환경 설정만 하겠습니다. 1. 클라우드9 에서 환경생성 - 생성 시 플랫폼을 Amazon Linux2 로 선택 2. 클라우드로 접속해서 터미널에서 아래 명령어들을 차례대로 실행 (설치 중 Is this ok [y/d/N]: 나오면 y 입력) sudo yum update -y wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm sudo yum install ./google-.. 2023. 8. 1.
AWS Cloud9 에서 Selenium 으로 크롤링 하기 (Ubuntu) Cloud9 에서 selenium 으로 크롤링하기 (Ubuntu) 환경 생성 플랫폼은 Ubuntu 를 선택 나머지는 기본으로 하고, [생성] 클릭. 환경이 생성이 완료되면 접속 터미널에서 다음 명령어 실행 sudo apt-get update 완료되면 다음 명령어 실행 sudo apt-get install -y libappindicator1 fonts-liberation sudo apt-get install -f 다음 명령어로 크롬 다운로드 wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 크롬 설치 sudo dpkg -i google-chrome-stable_current_amd64.deb 설치된 chrome ve.. 2023. 8. 1.
728x90
반응형