day 18 SQL DB 만들기

2021. 8. 12. 01:25·강의/부캠 안드로이드 학습정리

csv 만드는건 tab으로 구분해주면서 하면 되고 UTF16으로 저장. BE가 자바용 유니코드인듯. BE로 하면 엑셀 오피스로 볼 때 깨진다. BE가 big radian, LE가 small radian.

 

 

https://nhj12311.tistory.com/59

 

UTF8과 UTF16의 차이

최근엔 개발하면서 UTF8로 통일해서 쓰지만 십년 전 정도에는 euc-kr로 구성된 시스템이 많아서 이기종 간 데이터 통신 시에 문자 인코딩 방식이 달라서 애를 먹은 적이 많다. 실제 개발할 때 이기

nhj12311.tistory.com

http://kopan84.blogspot.com/2012/07/unicode.html

https://velog.io/@kkaemi/kotlin-csv-%ED%8C%8C%EC%9D%BC-%EC%9D%B4%EC%96%B4%EC%93%B0%EA%B8%B0

 

[android(kotlin)] csv 파일 (이어)쓰기

안드로이드에서 Ble 연결 후, 응답받은 패킷을 csv 파일에 쓰려고 한다.csv 파일명은 연결됐을 때 date time으로 하고, 응답 받을 때 마다(onCharacteristicChanged) 해당 csv 파일에 byte를 write 할 수 있도록 한

velog.io

https://lucy-the-marketer.kr/ko/growth/what-is-database/

 

DBMS란 무엇이고 왜 등장했는가?

아직 인터넷이 익숙하지 않았던 어린 시절, 우리 집에는 '브리태니커백과사전'이 있었다. 브리태니커백과사전은 책 한 권에 몇백 장이나 되는 두꺼운 사전이었고, ㄱ부터 ㅎ 순으로 총 27권이나

lucy-the-marketer.kr

 

 


kotlin도 trim이 있음.

val columns = input[3].trim('(', ')').split(",").map { it.trim() }

val (tableName, column, condition) = input.last().split("SET", "WHERE").map { it.trim() }

 

filter와 map의 존재를 잊고있었다.. 잘 사용하자.

tableMap[tableName]!!.data.removeIf { it[index] == value }
tableMap[tableName]!!.data.map { if (it[index] == value) it[cIndex] = cValue }
filtered = tableMap[tableName]!!.data.filter { it[index] > value }

insert into시 순서 바꿔도 되게끔 하는게 정석인듯.

 

?.let

    fun insert(tableName: String, columnsArr: List<String>, valuesArr: List<String>) {
        val targetTable = getTable(tableName)
        targetTable?.let { table ->
            if (table.columnList.size - 1 != columnsArr.size) {
                println("컬럼 갯수가 일치하지 않습니다.")
                return
            }
            val result = table.insert(columnsArr, valuesArr)
            fileManager.writeRow(table.tableName, result)
            println("INSERTED $result")
        }
    }

 

  • 구현한 내용에서 트랜잭션을 처리하려면 어떻게 구현할 수 있는지 생각을 정리한다.

-> 백업파일 만들기

 

  • MySQL 이나 SQLite3 구현 방식에 대해 학습하고 왜 그런 구조로 구현하는지 토론한다.

-> 내부 구조는 지금까지 했던거랑 크게 다른게 없는 것 같다. tokenize 해서 뽑아오고 byte로 바꿔서 백엔드에 저장하고 bitarray로 바꿔서 저장하고..

'강의 > 부캠 안드로이드 학습정리' 카테고리의 다른 글

day 19 proxy  (0) 2021.08.12
day 17. 안드로이드 view 만들기  (0) 2021.08.10
day 16 http 주고받는 과정  (0) 2021.08.09
커피타임  (0) 2021.08.06
day 14. 본격적인 비동기화 혼합 사용과 클래스 다이어그램의 중요성  (0) 2021.08.06
'강의/부캠 안드로이드 학습정리' 카테고리의 다른 글
  • day 19 proxy
  • day 17. 안드로이드 view 만들기
  • day 16 http 주고받는 과정
  • 커피타임
용나리
용나리
  • 용나리
    티스토리 블로그
    용나리
  • 전체
    오늘
    어제
    • 분류 전체보기 (333)
      • 과거의 것들 (93)
        • AI Tech boostcamp (92)
      • 생각정리(고찰) (2)
      • 기술 글 (0)
      • 코딩테스트 (4)
        • C++ (0)
        • Python (4)
      • CS (121)
        • 컴퓨터 시스템 (4)
        • 코틀린 인 액션 (13)
        • 김영한 스프링 강의 (104)
      • 일지 남기기용 (11)
        • 운동 (10)
      • 개발 배포 해보기 (1)
      • 프로그래밍 언어 및 기타 (32)
        • Spring Boot (9)
        • Python (9)
        • Kotlin (1)
        • Flutter (2)
        • SQL (4)
        • Docker (3)
        • 공통 (4)
      • os (4)
        • Linux (4)
      • 기술 (17)
        • PyTorch (6)
        • Computer Vision (6)
        • NLP (1)
        • 기타 (4)
      • 제품 후기 (0)
      • 게임 (0)
        • Human Resource Machine (0)
      • 강의 (26)
        • fullstackdeeplearning_sprin.. (9)
        • 부캠 안드로이드 학습정리 (17)
      • 개인 메모 (10)
      • IT 기타 (5)
      • 논문 읽기 연습 (5)
        • Computer Vision (1)
        • NLP (0)
        • 공통 (2)
        • 그냥 메모 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    pip install killed
    파이썬 실행경로
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
용나리
day 18 SQL DB 만들기
상단으로

티스토리툴바