[2021.01.29.금] TIL

노을·2021년 1월 29일
1

TIL

목록 보기
32/81

👨‍⚕ 오늘의 컨디션

  • 💤 : 약 6 시간
  • 오늘은 DB 실습이 기대돼서 피곤하지 않았어!

⌛ 오늘 한 일

1. 호눅스 강의 수강

  • 데이터베이스
    • 전자도서관을 만들어보자 해서 나온 개념이다.
    • DB 파일을 고정크기로 쪼갠다, 이걸 페이지라 부른다.
    • 페이지에 레코드를 저장한다.
    • 레코드는 가변 크기(varchar)
    • 가변 길이를 커버하기 위해, offset에 메모를 해둔다.
    • 인덱스로 B-tree사용한다.
  • RDBMS 특징
    • 포인터가 아닌 데이터와 데이터간 관계에 의해 저장
    • 완벽한 트랜잭션 지원
  • 트랜잭션의 성질
    • A, C, I, D
    • *기억 안나면 꼭 공부하자.
  • OLTP
    • 빠른 응답성이 중요
    • 초 단위 수행
    • 전자상거래 혹은 게시판에 가까운 응용 프로그램
    • 주로, 백엔드에서 쓰는 DB 형식?
  • OLAP
    • 데이터 분석용 응용. 주로 몇 시간 단위로 길게 수행
    • 쿼리, 시간 단위 수행
  • 머신러닝/딥러닝, OLAP 차이
    • 머신러닝/딥러닝 : 컴퓨터가 어떤 식으로 결과를 짜온지 모른다.
    • OLAP : 사람이 어떤식으로 결과를 짜올지 생각한다.
  • NoSQL
    • Not only SQL
    • 파이어베이스도 여기에 해당한다고 한다.
    • 고성능, 채팅에 이용?
    • 나중에 알아보자.

2. CSV가 뭐지?

  • comma-separated variables
  • 몇 가지 필드를 쉼표(,)로 구분한 텍스트 데이터 및 텍스트 파일
  • 위키링크

3. vim 에서 code paste 할때 auto indent 방지

  • hounux 강좌를 보다가, 왜쓰지? 라는 생각에 검색을 해보았다.
  • 혹시나 해서 set paste 안쓰고 paste 하니까 엉망이더라..ㅋㅋㅋㅋㅋ
  • vim 의 command mode로 들어가서 :set paste를 쳐서 paste mode 로 전환하면 자동 개행이 꺼지므로 코드가 보기 좋게 붙게 된다.
  • 참고링크

4. Bulk Insert

  • honux 유튜브 강의
  • 🎫 강의 정리
    1. Bulk Insert를 위해, 보통 csv 파일을 활용
    2. Java로 Dummy 파일을 생성하는 프로그램을 제작
      • 들어온 파라미터 양 만큼 생성하는 쉬운 프로그램
      • 코드 - GitHub
    3. 가상머신(Ubuntu)에 작성한 Java 프로그램 Copy&Paste
    4. 리다이렉션 기능으로, 표준출력을 파일에 입력함, 표준에러는 화면에 출력됨.
      • 예시) java testDataMaker 10000 > big.csv
    5. mysql> LOAD DATA LOCAL INFILE 'big.csv'
          -> INTO TABLE btest
          -> FIELDS TERMINATED BY ',';  //m 컬럼은 ,로 구분된다는 말
          -> IGNORE 1 LINES; // 첫번째 줄 무시, CSV에서 필요없는 내용을 무시할 때 사용

5. PowerToy 설치

  • 그룹 리뷰때 프레디가 사용하는 걸 보고 신기해서 따라 설치했다.
  • 설치링크

🔨 오늘의 삽질

  • 두서없이, 삽질 한 당시 상황을 순차적으로 작성한 포스트입니다.
  • 혹시 잘못된 게 있다면, 피드백 해주시면 감사하겠습니다.

1. Java 환경변수 설정 in Ubuntu

  • 환경변수 설정이 안돼서 java 명령어를 못쓰고 있던 상황

  • 당시, 환경변수를 설정하려 했지만, 한 블로그의 java 경로가 절대경로인줄 알고

  • Docker 컨테이너 경로를 확인해보니 java 설치가 제대로 안된 줄 알았다.

  • 그리하여, java를 재설치 하려는데, 설치가 안된다???!!!!!!

  • 로 생긴 어이없는 삽질이다 :)

    1. 설치 Unable이 떴다.

    2. "아, 설치가 안되는 거구나! (검색..검색)"

     ```java
     apt-get install software-properties-common
     apt-add-repository 'deb [http://security.debian.org/debian-security](http://security.debian.org/debian-security) stretch/updates main'
     apt-get install openjdk-8-jdk
     ```
     - [[Solution] sudo: add-apt-repository: command not found](https://nancom.tistory.com/119)

    3. 뭐? 환경변수 경로가 내가 알던 곳이 아니라고?

     뭐이리 많이 설치했는지 참 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

4. 후...때깔 좋은거로 하나 골라서 경로 설정하자.

5. 자바 환경변수 설정

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 
echo $JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin

6. 감격

  드디어 된다!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ


🌙 느낀점

  • 이번 미션의 DB 개념은 한이음 공모전이나 정보처리기사를 준비할 때 흘러가듯이 보았고, 약간씩 써봤던 개념들이라 생소하지 않아 재미있게 공부했던 것 같다.
  • 얕게 들어본 내용이더라도, 지식을 받아들 일때 장벽의 높이가 다르다는 것을 깨닫는 미션이다.
  • 아직은 내가 IT 분야에 아는게 많지 않으니까 얕게 많은 것을 경험해봐야겠다.
  • 그동안 모르는 내용을 접할 때마다, 힘들어하고 큰일 난 것 같다는 생각에 깊게 공부를 시도하고, 기반지식이 없으니 또 벽에 부딪히고 하는 무한루프의 연속이었는데 마음을 조금 가볍게 가져도 될 것 같다. 천천히 꾸준히 하다보면 받아들이는 속도도 점점 나아지겠지
  • 블로그를 참고할 때, 무조건 정확하다고 무의식적으로 생각하고 의존했는데 그렇게 하면 안되겠다. 지금이야 간단한 해프닝이었지만 이러다 정말 별거 아닌걸로 피눈물 흘릴수 있겠다싶다ㅋㅋㅋㅋ... 암튼 재밌는 경험이었다.

⏲ 앞으로 할 일

  • DB미션 마무리
  • b-tree 공부
  • gradle, maven 공부

profile
카르페디엠

3개의 댓글

comment-user-thumbnail
2021년 1월 31일

드디어 된다!ㅋㅋㅋㅋㅋㅋㅋㅋ 노을의 기쁨이 느껴져요🤭🤭

1개의 답글