프롬프트 AI&OpenAPI&공공데이터를 활용한 웹앱개발자 양성 과정 10일차

서명원·2023년 12월 21일

1. Map

List는 순서가 있는 자료를 순서대로 넣고 빼기는 편하다.
하지만 특정한 조건의 데이터를 뽑아 쓰기는 힘들다. (자동 채번되는 index값 말고 객체의 유니크한 키값으로 데이터를 가져오고 싶어도, 반복문으로 대상 데이터를 조회하는 수밖에 없다.)

이럴때 유용한 자료구조가 Map이다. Map은 Key와 Value의 쌍으로 데이터를 보관하기 때문에, Key값에 유니크한 값을 설정하면, 그 값으로 데이터를 조회하기 쉽다.

Map
해쉬맵에는 순서가 없지만, Map인터페이스 구현 클래스중 LinkedHashMap은 삽입 순서를 기억한다.

맵의 모든 요소를 가져올 때는, keySet메소드를 통해 key목록의 Set을 가져온 후, iterator이나 foreach문을 사용해서, key값을 순서대로 읽어서 해당 key값의 데이터를 가져올 수 있다.

List는 데이터를 넣을 때 편하고, 가져올 땐 불편한 반면 Map은 데이터를 넣을 때 귀찮고, 가져올 때 편하다.

같은 key값의 데이터를 넣으면 기존데이터를 그대로 덮어버리므로, 데이터를 삽입할 때 주의가 필요하다.

아래와 같이 stream을 이용하면, 간편하게 키와 벨류값을 모두 순회하며 조회할 수 있다.


entrySet().stream().forEach((entry)->System.out.println(entry.getKey() + ": " + entry.getValue()));

만약에 키 값으로 객체가 들어가면 어떻게 될까?
HashMap의 경우 hashCode()와 equals() 메소드를 활용하여 객체 키의 동등 비교를 한다. 즉 메모리 주소값이 동일하지 않더라도, 상기 매소드를 재정의 하는 것으로 유연하게 동등 판단을 할 수 있다.


2. 깃허브 세팅 방법

깃헙 사용법

  1. 리포지터리 생성
    https://github.com/new
    깃 허브에 로그인한 후 상기 URL에서 Repository명을 기재한 후 Create Repository 버튼을 누른다.

  2. git배쉬 다운로드
    아래URL에서 자기 컴퓨터 사양에 맞는 git배쉬를 내려받아, 인스톨 한다.
    https://git-scm.com/

  3. 작업공간에서 git bash 열기
    작업중인 워크스페이스의 안까지 들어와서 우클릭 후 Open git bash here을 선택한다.

  4. 유저명, email 등록
    아래 명령어로 유저 명과 이메일을 등록 한다.
    git config --global user.name "YourUserName"
    git config --global user.email "YourUserEmail"

  5. 유저명, email 확인
    아래 명령어로 유저명과 이메일이 잘 등록됬는지 확인한다.
    git config --global user.name
    git config --global user.email

  6. 레포지 토리 연동
    아래 명령어로 .git 파일을 생성한다.
    git init
    아래 명령어로 리포지토리와 연결한다.
    git remote add origin 리포지토리 주소(갓만든 리포지토리라면 github 사이트의 Quick setup에서 복사
    깃 배쉬는 Shift insert키로 붙여넣기가 가능하다.
    )

  7. 이그노어 파일 지정
    vim .gitignore (리포지토리에서 무시할 파일 목록)
    i 입력 (insert 모드)
    아래 목록을 입력
    .classpath
    .project
    .settings
    bin

build입력 -> esc키 -> :wq!입력 enter

  1. 커밋 방법

git add . -> 스테이징영역(임시 저장 영역)에 변경된 모든 파일을 올린다.

git status -> 현재 작업 디렉터리의 상태를 보여준다.

git commit - m "commit msg" -> commit 변경 사항이 커밋되어 로컬저장소에 저장된다.

git push origin master -> 로컬 저장소에 있는 변경 사항을 원격 저장소에 저장한다.

profile
백엔드 취업을 꿈꾸는 일본어 전공자

0개의 댓글