구글 드라이브에 파일을 자동으로 업로드 할 일이 생겨 만들어봤습니다. 0. 콘솔 링크 console.developers.google.com/flows/enableapi?apiid=drive 1. 링크로 이동, 계속 클릭 2. 사용자 인증 정보로 이동 3. 호출 위치 선택 이후 '어떤 사용자 정보가 필요한가요?' 클릭 4. 동의 화면 설정 5. 외부 -> 만들기 - 내부는 G-suite 사용자만 사용가능 6. 어플리케이션 이름 설정 후 계속 확인 7. 사용자 인증 정보 -> 사용자 인증 정보 만들기 8. OAuth 클라이언트 ID 클릭 9. 기타 -> 생성 10. OAuth 클라이언트 ID 맨 오른쪽 다운로드 11. 구글드라이브에 실험 폴더 만들기 12. 폴더 ID 확인 - 위 파란 줄 친 부분이 폴더 I..
분류 전체보기
파이썬은 링크드 리스트 구현이 굉장히 쉬운편입니다. class ListNode(object): def __init__(self, value): self.value = value self.next = None class ListHead(object): def __init__(self): self.head = None node1 = ListNode(1) ListHead.head = node1 node2 = ListNode(2) node3 = ListNode(3) node4 = ListNode(4) node1.next = node2 node2.next = node3 node3.next = node4 노드 클래스를 만들어주고 리스트의 헤드를 넣을 헤드 클래스를 만들어줍니다. 각 노드를 생성해 준 후 첫번째 노드..
각 마우스 포인터의 액션에 따른 태그의 형태를 지정할 수 있습니다. 1. a:link{ a 태그의 기본 속성을 지정할 때 사용합니다. } 2. a:hover{ a 태그에 마우스 오버시 속성을 지정할 때 사용합니다. } 3. a:visited{ 방문한 경우의 속성을 지정합니다. } 4. a:active{ 누르는 순간을 지정합니다. } 5. a: focus{ 포커싱 되는 경우의 속성을 지정합니다. } 5번의 경우에는 input태그 등이 다음 입력으로 인한 focus를 얻을 시 하이라이트를 주는 등의 액션에 이용될 수 있습니다.(예: 설문지, 이용약관 등) 방문함 방문안함 출처: https://rongscodinghistory.tistory.com/18 [악덕고용주의 개발 일기]
메이커톤에서 라즈베리파이를 다룰 일이 생겼습니다!! 간단한 웹 서버를 만들까 하다가 제가 만들고자 하는 로직이 별로 복잡하지 않고 로드도 작아서 소켓 통신으로 만들기로 했습니다. 생각보다 코드도 굉장히 간단하고 연결하는 것도 어렵지 않습니다. 환경은 라즈베리파이(라즈비안 os), 그리고 와이파이 한개, 윈도우10 피시 한대 입니다. 먼저 사전에 두 기기가 네트워크로 연결되어 있는지 확인해봅시다. 핑 테스트가 완료 되었으면 라즈베리파이에 서버 코드를 돌려봅시다. 서버 코드 import _thread import socket end = 0 print("안녕하세요") def threaded(client_socket, addr): print('Connected by: ', addr[0], ':', addr[1]..
안드로이드 자체에서 제공하는 아주 간단한 사진 찍기 및 사진 고르기와 사진 업로드 기능을 합쳐봤습니다. 위 설명은 안드로이드 ui에 대한 기본적인 지식이 있다는 가정 하에 작성합니다. 먼저 카메라와 갤러리, 파일 쓰기, 읽기를 이용하기 위해서 권한을 얻어야 합니다. ?xml version="1.0" encoding="utf-8"?> ... 레이아웃 코드입니다. button_round.xml activity_main.xml 로직 코드입니다. MainActivity.kt class MainActivity : AppCompatActivity() { var bitmap: Bitmap? = null lateinit var file: File lateinit var imageView: ImageView latein..
비트맵을 파일로 변환하는 코드입니다. fun saveBitmapToFileCache(bitmap: Bitmap, strFilePath: String, fileName:String) { val file = File(strFilePath) if (!file.exists()) file.mkdirs() val fileCacheItem = File(strFilePath + fileName) var out: OutputStream? = null try { fileCacheItem.createNewFile() out = FileOutputStream(fileCacheItem) bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out) } catch (e: Exception) { ..