분류 전체보기 91

[Make] Makefile 에서 if else 문 사용하기

Makefile 에서 if else 문 사용하기 Makefile 조건문 make 에서 조건문은 단순하고 은근히 까다롭다. 사용할 때 주의해서 사용하자. Makefile 조건문의 지시어 ifeq : 조건을 시작하고 조건을 지정한다. 콤마로 분리되고 괄호로 둘러싸인 두 개의 매개변수를 가진다. else : 이전 조건이 실패하였다면 수행되도록 한다. else 지시어는 사용하지 않아도 된다. endif : 조건을 종료한다. 모든 조건은 반드시 endif로 종료해야 한다. Makefile 조건문 예시 libs_for_gcc = -lgnu normal_libs = foo: $(objects) ifeq ($(CC),gcc) $(CC) -o foo $(objects) $(libs_for_gcc) else $(CC) -..

Back-End/Linux 2021.06.02

[마크다운] Markdown 작성 방법

마크다운 Markdown 작성 방법 1. 마크다운? 1.1. 마크다운이란? 마크다운(Markdown)은 일반 텍스트 기반의 경량 마크업 언어다. 일반 텍스트로 서식이 있는 문서를 작성하는 데 사용되며, 일반 마크업 언어에 비해 문법이 쉽고 간단한 것이 특징이다. HTML과 리치 텍스트(RTF) 등 서식 문서로 쉽게 변환되기 때문에 응용 소프트웨어와 함께 배포되는 README 파일이나 온라인 게시물 등에 많이 사용된다. Wikipedia 파일 확장자가 .md 로 된 파일들, 예를 들면 README.md 파일이 바로 마크다운 문법으로 작성된 문서이다. 1.2. 마크다운을 사용하는 이유 마크다운은 아래와 같은 장점이 있다. - 문법이 단순해서 사용하기 쉽다. - 순수한 텍스트이기에 어디서나 편집이 가능하고 어..

Language/Markdown 2021.06.01

[macOS] 파인더(finder) 숨겨진 파일, 숨은 폴더 확인 하는 법

macOS에서 숨겨진 파일, 숨은 폴더 확인 하는 법 첫 번째 방법, 파인더(Finder)에서 숨겨진 파일 보기 파인더를 연다. 숨겨진 파일, 폴더가 위치한 디렉토리로 이동한다. 키보드에서 Cmd + Shift + . 를 누른다. macOS Sierra 이전 버전을 사용 중이라면 이 단축키를 사용할 수 없으므로, 아래의 방법들을 이용해야 한다. 두 번째 방법, 터미널(Terminal)에서 숨겨진 파일 보기 터미널을 연다. 숨겨진 파일, 폴더가 위치한 디렉토리로 cd 명령어를 이용해 이동한다. ls -a 명령어를 이용하여 확인한다. +@, 파인더(Finder)에서 숨겨진 파일 표시 활성화 하기 터미널을 연다. 아래의 명령어를 원하는 설정에 맞추어 입력한다. 숨김 속성의 파일과 폴더가 보이도록 설정하기 de..

잡다 2021.05.29

[Linux] 공유 메모리 함수, shmget(), shmat(), shmctl(), shmdt()

특이한 문법을 쓴 것도 아닌데 티스토리가 마크다운을 제대로 못보여주는 것 같다.. GitHub에서 좀 더 깔끔하게 볼 수 있다. 공유 메모리 함수 (Shared Memory Functions) 공유 메모리(Shared Memory)란? 공유 메모리(Shared memory)는 컴퓨터 환경에서 여러 프로그램이 동시에 접근할 수 있는 메모리이다. 과다한 복사를 피하거나 해당 프로그램 간 통신을 위해 고안되었다. 환경에 따라 프로그램은 하나의 프로세서에서나 여러 개의 프로세서에서 실행할 수 있다. (예를 들어 여러 개의 스레드 간에) 하나의 프로그램 안에서 통신을 위해 메모리를 사용하는 일은 일반적으로 공유 메모리로 부르지 않는다. wikipedia 멀티 프로세스 환경에서, 프로세스 간 통신(Inter-Pro..

Back-End/Linux 2021.05.26

[C] 구조체 비트 필드(Bit Field)

C언어 구조체 비트 필드 (Bit Field) 구조체의 기능 정수형 데이터를 비트 단위로 나누어서 사용할 수 있다. 이를 구조체의 Bit Field 라고 한다. struct 구조체명 { unsigned 정수형 이름1 :비트수 ; unsigned 정수형 이름2 :비트수 ; ... };사용 가능한 정수 자료형의 종류 char short int long double, float 과 같은 실수 자료형은 사용할 수 없다. 사용 예시 PLMN ID ( MCC + MNC ) struct PlmnId { uint8_t mcc1 :4; uint8_t mcc2 :4; uint8_t mcc3 :4; uint8_t mnc3 :4; uint8_t mnc1 :4; uint8_t mnc2 :4; }; 이 Bit Field 구조체는..

Language/C 2021.05.23

[Linux] tar 명령어 사용법

1. tar 명령어란? tar 명령어는 여러 개의 파일을 하나의 파일로 묶거나 풀 때 사용한다. 여러 개의 파일을 묶을 때, 윈도우나 맥에서 보통 압축을 하기 때문에 tar 도 '압축한다' 라고 말하는 경우가 많은데, 정확하게 말하면 tar 명령어 자체는 '압축' 을 하지 않고 여러 개의 파일을 하나로 묶는 동작만 수행한다. 그렇지만 tar 명령어를 이용해서 gzip이나 bzip2 와 같은 압축 방식을 이용하여 파일들을 하나로 묶을 수 있는데, 그래서 tar 명령어는 '압축한다' 라고 말해도 틀린 말은 아니다. 2. tar 명령어 사용법 tar [OPTION...] [FILE]... tar -cf archive.tar foo bar # foo 와 bar 파일을 묶어서 archive.tar 파일 생성 ta..

Back-End/Linux 2021.05.01

[Linux] grep 명령어 사용법

1. grep 명령어란? 리눅스를 사용하면서 ls , cd 와 같이 가장 많이 사용하는 명령어 중 하나. 텍스트 검색 기능을 가진 명령어로서, 어떤 파일에서 특정 문자열을 찾을 때 사용한다. 2. grep 명령어 사용법 grep [OPTION...] PATTERNS [FILE...] 각각의 FILE 에서 PATTERNS 와 일치하는 내용을 포함하는 Line을 반환한다. 3. grep 명령어 옵션 grep 명령어에는 수많은 옵션이 있지만 그중 내가 많이 사용했던 옵션들 위주로 적었다. grep [OPTIONS] PATTERN [FILE...] -i, --ignore-case : PATTERN 의 대소문자를 구분하지 않음 -v, --invert-match : PATTERN 과 일치하지 않는 라인만 보여줌 -..

Back-End/Linux 2021.02.03

스프링부트와 AWS로 혼자 구현하는 웹 서비스 (chap.3) - JPA

*이해를 위해 메모장처럼 활용한 포스트로, 신뢰하지 말고 참고용으로 활용 관계형 데이터베이스는 SQL 을 통해야만 한다. 객체 지향과는 출발점부터 다르다. 그러나 JPA를 사용하면 SQL 에 종속적이지 않고 객체지향적으로 프로그래밍이 가능하다. ( 유지보수가 편하고, 생산성 향상) Spring Data JPA JPA 는 인터페이스이다. 라이브러리가 아니다. 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 명세한 것뿐이다. 그래서 JPA 를 사용하기 위해서는 Hibernate, Eclipse Link 등의 구현체가 필요하다. 그리고 Spring Data JPA 는 Spring에서 제공하는 모듈 중 하나로, 개발자가 JPA 를 좀 더 쉽게 사용하도록 도와준다. JPA Hibernate Spring..

Back-End/SpringBoot 2021.01.20

스프링부트와 AWS로 혼자 구현하는 웹 서비스 (chap.2) - 테스트코드, 롬복

*이해를 위해 메모장처럼 활용한 포스트로, 신뢰하지 말고 참고용으로 활용 1. 테스트 코드 작성 단위 테스트 코드 작성 장점(위키) 문제점 발견 유닛 테스트의 목적은 프로그램의 각 부분을 고립시켜서 각각의 부분이 정확하게 동작하는지 확인하는 것이다. 즉, 프로그램을 작은 단위로 쪼개서 각 단위가 정확하게 동작하는지 검사하고 이를 통해 문제 발생 시 정확하게 어느 부분이 잘못되었는지를 재빨리 확인할 수 있게 해 준다. 따라서 프로그램의 안정성이 높아진다. 유닛 테스트는 일견 개발 시간을 증가시키는 것처럼 보이지만 개발 기간 중 대부분을 차지하는 디버깅 시간을 단축시킴으로써 여유로운 프로그래밍을 가능케 한다. 변경이 쉽다 프로그래머는 언제라도 유닛 테스트를 믿고 리팩토링을 할 수 있다. 리팩토링 후에도 해당..

Back-End/SpringBoot 2021.01.18

[Gradle] Could not resolve all artifacts for configuration 에러

Could not resolve all artifacts for configuration 에러 발생 다른 문제일 수도 있겠지만 잘 모르겠으면 gradle cache를 삭제해보자 Mac 기준 ~/.gradle/caches/modules-2/file2.1 경로에 있는 파일들을 전부 삭제 그리고 다시 프로젝트 경로에서 ./gradlew --refresh-dependencies 또는 IDE 에서 Gradle Refresh 를 해보자 그래도 안되면 오탈자를 잘 찾아보자..

Back-End/Gradle 2021.01.18
728x90
반응형