오늘은 항해99 부트캠프의 둘쨋날입니다. 엄밀히 말하면 Pre-onboarding 기간 입니다. 이번주는 9시부터 시작하지 않고 3시부터 9시까지 학습합니다. 내일 입학 시험에 통과하지 못하면 수요일이 마지막 날이 될 수도 있습니다. 이제 무선키보드도 있고 노트북 받침대도 왔고 데스크 스탠드도 있고 거북목이 되지 않기 위해 어제는 등운동도 했습니다. 로지텍 mx mini for mac을 샀는데 생각보다 타자가 부드럽지은 않습니다. 손가락에 무리가 생기는 거 같기도 하지만 제 손톱이 좀 길어서 그런거같습니다. 손목 보호대랑 무선 마우스도 구매를 해야겠습니다. 개발자가 되기로 한지 2개월, 돈을 많~~~이 썼습니다.

 

어제부터 '혼자 공부하는 자바' 라는 책으로 스터디를 진행하고 있습니다. Sololearn도 레슨 64개중 40 레슨까지 진행했습니다. 자바 마스터가 되는 그날 까지 달리겠습니다. 오늘은 '혼자 공부하는 자바'의 챕터3을 끝내는 것이 학습 목표입니다.

 

핵심 쏙쏙 GIT이라는 강의를 지급 받았는데 오늘 스터디 시작 전에 몇개를 들었는데 GIT을 설치하고 Github 아이디를 만들었습니다. 유저네임을 뭘로할까 고민하다가 sooni2 라고 저희 집 강아지 이름을 따서 만들었습니다. 

Today I learned JAVA

Chapter 03-1 연산자와 연산식

  • 연산자(Operator): 연산에 사용되는 표시나 기호 (ex. +,-,*,==)
  • 연산자는 피연산자의 수에 따라 단항, 이항, 삼항 연산자로 구분됨
  • 연산자의 종류: 
  • 연산식은 반드시 하나의 값을 산출하며, 값 대신 연산식을 사용할 수 있음
  • 비교 연산자와 논리 연산자의 산출타입은 boolean 타입이다.

연산자 종류

 

연산의 방향과 우선순위

  • &&보다 >,<의 우선순위가 높음
  • 대부분의 연산자는 왼쪽에서 오른쪽 방향으로 연산을 수행함
  • 단항 연산자 (++,--,~,!), 부호 연산자(+,-), 대입 연산자(=,+=,-+,...)는 오른쪽에서 왼쪽 방향으로 연산을 수행
  • 복잡한 연산식에는 괄호()를 사용해서 우선순위를 정함
  •  

연산자 연산 방향 우선순위

 

03-2 연산자의 종류

  • 단항 연산자: 피연산자가 단 하나; 부호 연산자(+,-), 증감 연산자(++,--) 논리 부정 연산자(!)
  • 부호 연산자(+,-): boolean 과 char 타입을 제외한 기본 타입에 사용가능
    • 정수 및 실수 리터럴 앞에 붙여 양수 및 음수를 표현
    • 정수 및 실수 타입 변수 앞에는 변수의 부호를 유지하거나 변경하기위해 사용
  • 증감 연산자(++,--): 변수의 값을 1 증가(++) 또는 1 감소(--)시킴; boolean 제외 모든 기본 타입 피연산자에 사용가능
    • ++피연산자 -> 다른 연산을 수행하기 전에 피연산자의 값을 1 증가 시킴
    • 피연산자++ -> 다른 연산을 수행한 후에 피연산자의 값을 1 증가시킴
  • ++i 와 i = i +1의 연산 속도
    • ++i가 i=i+1 보다 연산 속도가 빠르다고 알려져 있으나 차이는 없음
      • i =i+1이 두번의 연산이 필요하지만 i++는 한번의 연산만 수행하기 때문에 생긴 오해이지만 바이트 코드는 동일하기 때문에 속도 차이 없음
  • 논리 부정 연산자(!)
    • true를 false로 false를 true로 변경 -> boolean에서만 사용
      • 조건문과 제어문에서 조건식의 값을 부정하도록 해서 실행흐름을 제어할 때 주로 사용 
      • 두가지 상태(true/false)를 번갈아가면서 변경하는 토글(toggle)기능을 구현할 때도 사용
  • 이항 연산자: 피연산자가 2개인 연산자; 산술, 문자열 결합, 비교, 논리, 대입 연산자 등이 있음
  • 산술연산자의 특징: 피연산자들의 타입이 동일하지 않을 경우 규칙을 사용해서 피연산자들의 타입을 일치 시킨 후 연산을 수행함
    • 피연산자들이 byte, short, char 타입일 경우 모두 Int 타입으로 변환 후 연산을 수행
    • 피연산자들이 모두 정수타입이고 long타입이 포함되어 있을 경우, 모두 long 타입으로 변환 후 연산을 수행
    • 피연산자 중 실수 타입(float, double)이 있을 경우, 허용 범위가 큰 실수 타입으로 변환된 후, 연산을 수행
  • 문자열 결합 연산자(+):문자열을 서로 결합하는 연산자
  • 비교 연산자(<,<=,>,>=,==,!=): 흐름 제어문인 조건문(if), 반복문(for, while)에서 주로 이용되어 실행 흐름을 제어할 때 사용
  • String 변수 비교
    • 대소비교 연산자 사용 불가, 동등 비교 연산자 사용 가능
    • String 변수 비교 시 equals() 메소드를 사용함
  • 논리연산자: 논리곱(&&), 논리합, 배타적 논리합(^), 논리 부정(!) 연산을 수행-> boolean 타입만 사용가능
    • &&와 &의 산출 결과는 같지만 연산 과정이 다름
    • &&는 앞의 피연산자가 false라면 뒤의 피연산자를 평가하지 않고 바로 false라는 산출 결과를 냄; &은 두 피연산자를 모두 평가해서 산출결과를 냄 -> &&이 더 효율적으로 동작
      • 논리합||도 마찬가지
    • 논리 연산은 흐름 제어문인 조건문(If), 반복문(for, while) 등에서 주로 이용됨

논리연산자

 

  • 대입연산자(=, +=,-=,*=,/=,%=): 오른쪽 피연산자의 값을 왼쪽 피연산자인 변수에 저장
    • 오른쪽 피연산자에는 리터럴 및 변수, 다른 연산식이 올 수 있음
    • 모든 연산자들 중에서 가장 낮은 연산 순위를 가짐; 제일 마지막에 수행됨
     

삼항 연산자 

    • ? 앞의 조건식에 따라 콜론(:) 앞뒤의 피연산자가 선택된다고 해서 조건 연산식이라고도 부름
    • if문으로 작성할 수 있지만, 한줄에 간단하게 작성 시 삼항 연산자를 사용하는 것이 더 효율적
    • (?:) 삼항 연산자: 3개의 피연산자를 필요로 하는 연산자

 

삼항 연산자

 

 

핵심 쏙쏙 Git 1주차

  • Git과 github 설치
  • 나의 첫 커밋!! - 실습 01
    • 김치요리법을 모으는 프로젝트를 Git을 사용해서 관리

나의 첫 커밋

 

  • 버전관리: 프로젝트 상태가 변경되는 정보를 알고 있다는 것
  • Git 은 commit 을 사용해서 버전이 달라지는 것을 관리함
  • 컴퓨터에 있는 프로젝트를 Git 이 관리하는 프로젝트로 만들 수 있음 ->**git 초기화(git initialize)**한다고 표현
  • 현재 프로젝트의 상태를 찰칵 📸 저장 = commit
    • 누가(author), 언제 commit 했는지의 정보와 프로젝트 변경 내용
    • 작업내역이 어떤 것인지 알아볼 수 있게 적는 메시지를 'commit 메시지'라고 함
  • commit 에 반영할지 안할지는 파일 단위로 선택
  • commit 에 반영할 파일을 선택 = add (혹은 staging, 스테이징)
  • history: commit 한 기록

 

커밋 수정하기

원격 repo와 로컬 repo

  • repo(리포, repository 리포지토리의 약자):Git으로 관리되는 프로젝트
  • 로컬 repo(local repository):내 컴퓨터에 저장되어있는 리포지토리
  • 원격 repo(remote repository): Github 처럼 다른 곳에서 접속할 수 있는 공간에 저장되어있는 것
  • Github은 원격 repo 가 저장되어있고 + 개발자 커뮤니티 기능을 하는 서비스
  • Tracking, 트랙킹 / branch tracking: 로컬 repo 가 원격 repo 를 연결하는 것을 추적
    • 로컬 repo 만이 내가 어떤 원격 repo 와 연결되어있는지를 앎
    • 원격 repo 는 내가 어떤 로컬 repo 와 연결되어있는지 정보를 가지고 있지 않음
    • 언제나 로컬 repo 를 기준으로 동작을 이해하기
    •  commit을 자동으로 반영하지 않음; 내가 원하는 대로 어디 commit 까지만 반영할지를 수동으로 설정할 수 있게 해서 프로젝트를 더 잘 관리하기 위해서임 
      • commit 을 수동으로 반영
  • push(푸쉬): 로컬 repo 의 commit 들을 원격 repo 에 반영하기
  • pull(풀): 원격 repo 의 commit 들을 로컬 repo 에 반영하기
  • clone(클론, 복제):원격 repo 를 내 컴퓨터에서도 사용할 수 있도록 가져오기; 초기 다운로드

 

😫Push가 안됩니다... 소스트리 git 인증 해결 방법

소스트리에서

설정 - 원격 - 추가로

새로 생성한 github 원격 repo 주소를 넣어서 등록을 했습니다.

 

push 버튼만 누르면 된다고 해서 했는데 계속 해서 에러가 떴습니다.

 

support for password authentication was removed on august 13 2021.

 

라는 말과 함께 push 창이 완료가 안됐습니다.

 

구글링해보니 토큰을 새로 발급받아 보라는 말이 있어서 기존의 토큰을 삭제하고 새로 발급받은 토큰으로 대체했습니다.

 

그래도 안되서😰 다시

 

'맥 소스트리 맥 소스트리 support for password authentication was removed on august 13 2021.'라는 검색어로 구글링해서 찾은 티스토리 블로그에서 다음과 같이 솔루션을 알려주셔서 해결했습니다.

 

원격에 입력되어 있는 git 경로에 'github.com~' 앞에 '토큰 값@'를 붙여넣어준다. 즉, git 경로가 'https://토큰 값@github.com~'이 되는 것이다. 그러면 자동으로 사용자명에 토큰 값이 입력된다. 그리고 확인 버튼을 클릭해 설정한 git 원격 토큰 정보를 저장한다.  출처:https://pamyferret.tistory.com/44

저의 첫 푸시는 생각보다 오래 걸렸지만 성공적으로 실행했습니다🤓

숙제할 때도 마찬가지로 URL에 토큰을 추가해서 입력했습니다.

 

 

+ Recent posts