TIL

· TIL
커밋 메시지를 수정하고 항상 아차 싶었던 적이 많아 글 남겨 봅니다. 깃 컨벤션 절대지켜...ㅜ 이 글에서는 원격에 push는 아직 하지 않은 상태에서 커밋 메시지를 수정하는 방법에 대해 기술합니다. 현재 레포지토리의 깃 로그를 확인해 봅시다. git log 가장 상단에 있는 커밋이 최신의 커밋입니다. 빨간색으로 origin/main, origin/HEAD 라고 써져 있는 커밋부터는 원격에 push 한 상태입니다. 따라서 원격에 있는 커밋메시지를 수정하려면 다른 글.. 찾아보셔요 저는 그래서 push 잘 안하려고요.. 여기서 우리가 수정해야할 커밋이 위에서 몇 번째 인지 확인해봅시다. 딱봐도 뭔가 아차 싶죠 두 번째네요.. q 입력하고 엔터쳐서 화면 빠져 나옵시다. 작업하고 있는 브랜치에서 입력합니다. ..
· TIL
Windows 의 기본 줄바꿈 문자는 CRLF Mac / Linux의 기본 줄바꿈 문자는 LF입니다. 운영체제에 따라 줄바꿈 문자가 다르기 때문에 git으로 프로젝트를 관리할 경우 문제가 생길 수 있습니다. IDE나 텍스트 편집 프로그램에서는 운영체제에 따라 자동으로 줄 바꿈 문자를 인식하지만 git 에서는 다른 파일로 인식할 수 있어 예기치 못한 문제가 일어날 수 있습니다. crlf will be replaced by lf the next time git touches it 이 오류의 경우도 git에서 자동으로 lf 형식으로 바꾸겠다는 오류 입니다. 운영체제 상관 없이 줄바꿈 문자를 설정하여 문제를 해결해봅시다. https://docs.github.com/ko/get-started/getting-sta..
· TIL
프로젝트를 git으로 관리할 때 class파일같은 실행파일까지 올릴 필요는 없습니다. 소스만 관리하고 싶습니다. 또한 협업하는 과정에서 운영체제가 다를 때, 다른 환경에서 작업할 때 .gitignore파일에 git에 올리지 않을 파일을 설정합니다. 하지만 추가해야하는 파일을 일일히 작업하기란 쉬운일이 아니죠. .gitignore를 자동으로 완성해주는 서비스 페이지 입니다. https://www.toptal.com/developers/gitignore gitignore.io Create useful .gitignore files for your project www.toptal.com gitignore.io 접속 해당사이트에 접속하여 작업하는 환경을 적어줍니다. 생성 버튼을 클릭하면 이렇게 gitignor..
· TIL
JAVA 프로젝트에서 필요한 라이브러리들을 관리해주는 빌드 도구에 대해 정리해봅니다. 빌드 도구를 통해 라이브러리 의존성을 관리하고 테스트를 자동으로 수행할 수 있습니다. JAVA 프로젝트에서 쓰이는 빌드 도구에는 Ant, Maven, Gradle등이 있습니다. 1. Ant 외부라이브러리(의존라이브러리)관리가 불편합니다. build.xml을 통해 스크립트 파일을 작성할 수 있지만 복잡하고 의존성 주입이 원격으로 하기 힘들다고 합니다. 2. Maven ant의 단점을 보완했습니다. 외부라이브러리 관리가 가능합니다. pom.xml을 통해 빌드 스크립트 파일을 작성합니다. (Project Object Model) 하지만 여전히 xml로 관리되고 xml자체가 프로그래밍 언어가 아니기때문에 정교한 통제가 불가하다..
· TIL
Git은 소프트웨어 형상관리시스템 중 하나이다 SCM : Software Configuration Management Stystem 형상관리 시스템의 하위 개념은 버전관리시스템이라고도 하는데 버전관리 시스템을 이용하면 변경사항을 추적 및 통제할 수 있다. 이런 버전관리 시스템은 중 널리 쓰이는 시스템은 Git이다. Git은 분산형 저장소로 변경사항을 중앙이 아닌 원격에서 저장 가능하다. 사용자의 OS에 깃을 설치하고 해당 폴더에서 git을 초기화 하면 형상 추적관리가 가능해 진다. 저장소 초기화 git으로 형상관리 시작하게 해준다. .git폴더가 생성된다. git init 저장소 복제 - 깃허브 등 원격 저장소에서 가져오기 git clone 복제할 URL 현재 작업중인 위치에서 해당 명령어와 함께 입력하..
· TIL
JAVA의 컴파일 방식은 인터프리터와 결합하여 이루어지는 하이브리드 방식이다. 컴파일과 인터프리터를 간단하게 설명하면 다음과 같다 컴파일 방식은 C와 C++ 같이 한번에 기계어로 번역하여 실행하는것을 말하고 인터프리터 방식은 한 줄 식 기계어로 번역하여 실행하는 것을 말한다. 컴파일 방식은 인터프리터에 비해 실행속도가 빠르다는 장점이 있으나 컴파일 단계에서 OS에 맞추어 변환되기 때문에 다른 OS에서 사용 불가하다는 단점이 있다. 인터프리터 방식은 컴파일방식에 비해 소스 수정을 간단하게 할 수 있으며 시스템간의 이식성이 뛰어나다는 장점이 있다. 하지만 실행 할 때마다 문법검사를 하고 소스파일이 있어 실행속도가 느리다는 단점이 있다. Java는 컴파일의 실행속도와 인터프리터의 이식성의 장점들을 조합해서 실..
· TIL
소프트웨어는 시스템 소프트웨어와 어플리케이션 소프트웨어로 나뉠 수 있다. System SoftWare : H/W 제어에 사용된다 주로 OS와 프린터, 마우스 ,스캐너 등에 사용되는 Device Driver 그리고 임베디드가 이에 속한다. 주요 사용 언어로는 C /C++, 어셈블리가 있다. Application Software : 주로 사용자가 사용한다. 예를들어 office나 한글 같은 오피스 프로그램, 게임, PuTTY, 의 프로그램, Gmail, Youtube, 네이버지도 같은 서비스도 이에 속한다. 어플리케이션 소프트웨어는 서버접속유무에 따라 나뉠 수 있다. Standalone Application S/W : 설치형이면서 내 PC인 local에서 단독실행되는 형태이다. 주요 소프트웨어는 포토샵, 알..
· TIL
1. Fully Connected (완전 연결 신경망), CNN (합성곱 연결 신경망) 지난 시간까지 배웠던 딥러닝 학습 방식은 완전 연결 신경망 입니다. 완전 연결 신경망은 인접하는 계층의 뉴런이 모두 연결되고 출력의 수는 임의로 정할 수 있습니다. 하지만 이 신경망은 모든 뉴런이 연결되면서 원본 데이터의 형상이 무시된다는 단점을 가지고 있습니다. 데이터 형상이 무시된다는것은 어떤 뜻일까요 간단한 흑백 이미지의 경우 height, width, channels 의 3차원의 배열의 형태로 이루어져 있습니다. 이미지의 세로 가로 위치 그리고 깊이(명암, 8비트 : 256)이라고 생각할 수 있습니다. 흑백이 아니라 컬러 이미지라고 하면 channles에 rgb 배열이 추가가 되어서 더 복잡한 차원의 데이터로 ..
· TIL
model.compile(loss='mse', optimizer='adam') 딥러닝을 최적화 하여 훈련 시킬때에 사용되는 optimizer 알고리즘을 알아봅니다. Optimizer 딥러닝 모델을 학습 시키면서 어떻게 최적값을 찾을까요. 최적화에 사용되는 알고리즘들을 알아 보고 왜 adam 을 자주 사용하는 지 알아봅니다. 1. Gradient Descent (GD) : 기울기의 최솟값을 찾는다 딥러닝 학습을 한다는거 쉽게 생각하면 미분을 계속해서 최적의 가중치와 편향값을 찾아내는것입니다. Gradient Descent는 이런 미분하는 과정에서 함수의 기울기(즉, gradient)를 이용하여 x의 값을 어디로 옮겼을 때 함수가 최소값을 찾는지 알아보는 방법입니다. 이 방법에는 문제점이 있습니다. 1. 극..
· TIL
1. Train, Test, Validation Data Train Set 모델의 학습만을 위해서 사용 parameter나 feature 등을 수정하여 모델의 성능을 높이는 작업에 사용 Test Set 최종적으로 모델의 성능을 평가 실사용 되었을 때 모델이 얼마나 좋은 성능을 발휘 할 수 있을지 알아본다. Validation Set 모델의 학습에 직접적으로 관여하지 않음 학습이 끝난 모델에 적용 최종적으로 모델을 fine tuning하는 데에 사용 딥러닝이든 머신러닝이든 훈련으로 학습된 모델의 성능을 확인 하려면 test를 해야한다. 테스트 데이터가 주어졌을때 훈련 데이터로 전부 사용하면 안된다. 일반적으로 7:3 혹은 8:2의 비율로 Training data와 Test data를 나눈다. 그 후 완성된..
엥이게되네
'TIL' 카테고리의 글 목록