본문 바로가기

[개발] 프로그래밍13

[Git] user 변경하기 'Clone 정상적으로 하고 Push 했는데 git에 표시가 안된다?...' 이런 상황 있으신가요? 저는 gitlab에 다른 계정을 사용하다가 다시 github의 프로젝트를 수정하다가 발생했는데요. 해결 방안은 다음과 같습니다. git config user.name 과 git config user.email 명령어를 사용하여 현재 사용하는 git 정보와 동일한지 확인합니다. 만일 정보가 다르다면, git config --local user.name {input name} 과 git confing --local user.email {input email} 명령어를 통해 정보를 변경합니다. local에 등록된 정보로 commit이 되기 때문에 commit 전 계정이 맞는지 확인하는 것이 좋다. 2021. 12. 29.
[Spring Boot] Junit Test 오류 (org.junit.platform.launcher.core.EngineDiscoveryOrchestrator lambda$logTestDescriptorExclusionReasons$7) 새로운 PC에 프로젝트 import해서 진행하는 도중 아래와 같은 오류가 발생했습니다. org.junit.platform.launcher.core.EngineDiscoveryOrchestrator lambda$logTestDescriptorExclusionReasons$7 INFO: 0 containers and 7 tests were Method or class mismatch 테스트는 성공했는데, 빨간 색 글씨가 매우 거슬립니다. 테스트는 성공했기때문에 크게 문제는 없습니다. 하지만 빨간 색 글씨를 없애고 싶다면 아래와 같이 해결하시면 됩니다. 문제의 원인은 빌드, 테스트를 Gradle 기준으로 해서 그렇습니다. 빌드와 테스트가 Junit으로 되야하는데 Gradle로 잡혀서 그런 것이죠. 해결 방안은.. 2021. 12. 10.
[Git] GitLab SSH Key 등록 GitLab은 SSH프로토콜을 사용하여 Git과 안전하게 통신합니다. 그렇기에 SSH key를 등록하게 되면 매 번 원격 서버에 접속할 때 아이디/패스워드를 입력할 필요가 없습니다. 자세한 설명은 공식 문서를 참고해주세요. 이 글은 설정하는 과정만 매우 간단하게 적어보겠습니다. SSH key를 등록하는 방법은 아래와 같습니다. 1. git 설치 Git 홈페이지에서 git을 Download 받습니다. 2. git 실행 git을 실행하는데 두 가지 방법이 있습니다. ① 바탕화면 '우클릭' > Git Bash Here > 실행 ② 시작메뉴 > Git Bahs 검색 > 실행 3. SSH key 생성 - 프롬프트가 열리면 명령어를 입력합니다. ssh-keygen - key를 저장할 경로를 설정합니다. 입력하지 않.. 2021. 9. 10.
[Spring Boot] 데이터베이스 연결 오류 (pgjdbc: autodetected server-encoding to be ISO-8859-1) ★표시는 비공개 정보입니다. 오류내용 * What went wrong: Execution failed for task ':dams-common:flywayBaseline'. > Error occurred while executing flywayBaseline Unable to obtain connection from database (jdbc:postgresql://localhost:★/★) for user '★': ?����???��?��?: ??��??? "★"?? password ★?????? ��?����?����?��?��? (pgjdbc: autodetected server-encoding to be ISO-8859-1, if the message is not readable, please c.. 2021. 6. 8.
[Git] Git 기본 용어 및 플로우의 이해 Git의 기본 용어와 동작 과정에 대해 알아보겠습니다. 우선 Git을 이해하기 위해서는 몇 가지 알아야 할 용어가 있습니다. 원격 저장소 (Remote Repository) 로컬 저장소 (Local Repository) 클론 (Clone) 작업 디렉토리 (Working Directory) 스테이징 영역 (Staging Area) 커밋 (Commit) 그러면 각각의 용어에 대해서 알아보겠습니다. Git은 원격 서버에 위치한 저장소를 의미하는 원격 저장소와 각각의 개발자가 작업하는 개인 PC 저장소인 로컬 저장소가 있습니다. 만약 새로운 개발자가 프로젝트에 합류하게 된다면 어떻게 해야 할까요? 원격 저장소의 소스코드를 로컬 저장소로 복사하는 과정을 가져야 합니다. 이 과정을 클론(Clone)이라고 합니다. .. 2021. 6. 6.
[Git] 형상관리? Git? SW의 이상적인 개발 프로세스는 'Waterfall' 방식입니다. 처음 설계한 완벽한 설계서를 기반으로 개발하는 프로세스입니다. 하지만 현실적으로 어려운 개발 모델이죠. 단순한 프로그램이 아닌 이상 소프트웨어의 요구사항은 매 번 바뀔 수 있습니다. 요구사항이 바뀌면 그 뒤의 모든 작업들이 변경되어야 하죠. 결국 소프트웨어 개발은 지속적으로 변경이 일어날 수밖에 없습니다. 요구사항의 변경이 있거나 혹은 운영 중에 버그가 발생한다면 개선을 위해 다시 전 프로세스를 돌아봐야 하죠. 결국 개발 프로세스는 [ 요구사항 - 디자인 - 이행 - 확인 - 유지 ] 이 반복되게 됩니다. 이러한 반복 작업에서 나타나는 변경점을 체계적으로 추적하고 관리하기 위해 '형상관리'가 필요합니다. 형상관리(SCM : Software.. 2021. 6. 5.
[Spring Boot] application.properties 설정을 jar 파일 외부에서 주입 Spring Boot에서 application.properties 설정을 jar 파일 외부에서 설정하는 방법입니다. application.properties 설정은 우선순위가 존재합니다. 우선순위는 다음과 같습니다. 홈 디렉터리(개발 도구가 활성화된 경우 ~/.spring-boot-devtools.properties)의 개발 도구 전역 설정 프로퍼티 테스트의 @TestPropertySource 어노테이션. 테스트의 properties 애트리뷰트. @SpringBootTest와 애플리케이션의 특정 부분을 테스트하기 위한 테스트 어노테이션에서 사용 가능. 커맨드 라인 인자. SPRING_APPLICATION_JSON의 프로퍼티(환경 변수나 시스템 프로퍼티에 삽입된 인라인 JSON). ServletConfig.. 2021. 5. 21.
백엔드 면접 기초 질문 답변(51~60) 51. ==과 equals() 차이 == : 비교하고자하는 대상의 주소 값을 비교 equals() : 비교하고자하는 대상의 내용 자체를 비교 52. 패스워드 암호화 방법 - 단순 텍스트 - 단방향 해시함수의 다이제스트 - 솔팅 - 키 스트레칭 53. 대칭키와 비대칭키 차이 - 대칭키 암호화 방식(비밀키 암호화 방식)은 하나의 비밀키를 이용한 암호화 방식 - 비대칭키 암호화 방식(공개키 암호화 방식)은 공개키와 개인키를 이용한 암호화 방식 54. web server와 was차이 web server : HTTP 프로토콜을 기반으로 하여 웹브라우저의 요청을 서비스하는 기능을 담당합니다. 예를들어 'apach server', 'Nginx'가 있습니다. was : DB조회나 다양한 로직 처리를 요구하는 동적인 컨.. 2021. 2. 5.
백엔드 면접 기초 질문 답변(36~50) 36. 자바스크립트란? 스크립트언어란? 스크립트 언어란 소스코드를 컴파일 하지 않고도 실행할 수 있는 프로그래밍 언어입니다. C와 자바는 개발자가 작성한 코드를 컴파일러를 통해 기계어로 변경해야하지만 스크립트 언어는 컴파일 과정 없이 내장된 번역기에 의해 실행됩니다. 자바스크립트를 한마디로 요약하자면 웹을 풍부하게 만들어주는 작고 가벼운 언어입니다. 웹 브라우저에서 실행하는 스크립트 언어를 기술하며 작고 빠르기 때문에 동적인 웹 문서를 꾸밀 때 널리 사용합니다. 객체 기반의 언어이지만, 상속과 클래스 개념은 없고 HTML에 연산제어 등 프로그래밍적 요소가 추가된 것이 장점입니다. 37. JQurey란? 특징은? JQuery는 자바스크립트 라이브러리입니다. 자바스크립트를 좀 더 쉽게 사용하기 위해 만들어졌.. 2021. 2. 5.
백엔드 면접 기초 질문 답변(21~35) 21. 람다식이란 무엇인가? 식별자 없이 실행이 가능한 함수입니다. 함수인데 함수를 따로 만들지 않고 코드한줄에 함수를 써서 그것을 호출하는 방식입니다. 자바 8부터 지원하고 코드가 간결해 가독성이 좋다는 것이 장점입니다. 그러나 람다식으로 만든 함수는 재사용이 불가하고 디버깅이 까다롭다는 단점이 있습니다. 자바 8부터 지원하는 것 : 람다식, Optional, Stream 22. 힙과 스택의 차이점 스택은 정적메모리를 사용하여 컴파일 시 크기가 정해져있습니다. 힙은 동적메모리를 사용하여 런타임시에 메모리영역을 원하는 크기로 잡을 수 있다는 점이 큰 차이점 입니다. 23. TCP와 UDP 차이점 TCP는 연결형 서비스를 지원하는 전송계층 프로토콜이며 인터넷환경에서 주로 사용됩니다. 호스트간 신뢰성있는 데.. 2021. 2. 5.
백엔드 면접 기초 질문 답변(1~20) 1. 컴포넌트와 모듈의 차이 모듈과 컴포넌트는 비슷하지만 모듈이 컴포넌트보다 큰 단위라고 생각합니다. 컴포넌트는 하나의 부품입니다. 보통 작은 영역에서 서로 관련되어 있고 다용도로 사용이 가능하게 만듭니다. UI를 제어하는 타이머같은 Back단에서 스레드를 보조하는 컴포넌트를 예로 들 수 있습니다. 모듈은 조금 작은 범위의 조각입니다. 외부 인터페이스가 없는 복합적인 수요기능에서 실행될 수 있는 단위 입니다. 데이터베이스나 이메일 같은 통합적인 기능을 제공하면서 라이브러리처럼 사용될 수 있는 것들 입니다. 그리고 호환성이 더 좋습니다. 2. 자바란 무엇인가 자바는 객체지향프로그래밍 언어로서 보안성이 뛰어나며 컴파일한 코드는 다른 운영체제에서 사용될 수 있도록 클래스로 제공됩니다. C++언어의 객체지향적인.. 2021. 2. 5.
백엔드 면접 기초 질문 리스트 안녕하세요. 백엔드 직무를 준비하며 외웠던 질문과 답변을 공유해드립니다. 질문 클릭 시 답변페이지로 이동됩니다 ^^ ※ 개인적으로 공부하며 작성했던 내용이라 오탈자가 있을 수 있습니다. 참고바랍니다. 틀린 내용이 있다면 댓글 부탁드립니다. 감사합니다. ※ 블로그에 작성한 내용보다 [필기 원본]에 상세하게 적힌 내용이 며몇개 더 있으니, [필기 원본]도 참고바랍니다. 1. 컴포넌트와 모듈의 차이 2. 자바란 무엇인가 3. 자바의 구동원리 4. JVM의 특징 5. 객체지향과 절차지향의 차이점 6. 객체지향 언어의 특징 7. 상속과 구현의 차이점과 특징 및 장단점 8. 오버라이딩과 오버로딩의 차이점과 특징 9. 기본형 변수와 참조형 변수는 무엇이 있나? 10. 스택 오버플로우가 왜 일어나는가? 11. 메모리 .. 2021. 2. 5.
웹의 동작 원리 ①② 사용자가 웹 브라우저를 통해 찾고 싶은 웹 페이지의 URL 주소를 입력함. ③ 사용자가 입력한 URL 주소 중에서 도메인 네임(domain name) 부분을 DNS 서버에서 검색함. ④ DNS 서버에서 해당 도메인 네임에 해당하는 IP 주소를 찾아 사용자가 입력한 URL 정보와 함께 전달함. ⑤⑥ 웹 페이지 URL 정보와 전달받은 IP 주소는 HTTP 프로토콜을 사용하여 HTTP 요청 메시지를 생성함. 이렇게 생성된 HTTP 요청 메시지는 TCP 프로토콜을 사용하여 인터넷을 거쳐 해당 IP 주소의 컴퓨터로 전송됨. ⑦ 이렇게 도착한 HTTP 요청 메시지는 HTTP 프로토콜을 사용하여 웹 페이지 URL 정보로 변환됨. ⑧ 웹 서버는 도착한 웹 페이지 URL 정보에 해당하는 데이터를 검색함. ⑨⑩ 검색.. 2020. 3. 16.