/etc/nginx/ 기본 설정파일들이 저장되는 루트 디렉토리이다. /etc/nginx/nginx.conf 최상위 설정파일로 모든 설정에 대한 진입점이다. 최상위 http블록을 가진다. /etc/nginx/conf.d/ *.conf 파일을 별도로 관리하기 위한 디렉토리이다. nginx.conf파일에서 http블록안에 include된다. 예전에는 conf.d 디렉토리 대신 sites-enabled, sites-available 디렉토리가 사용되었지만 더이상 사용되지 않는다. NGINX 로드밸런싱 upstream: 로드밸런서나 프록시 서버 뒤에 위치한 실제 서버 L7 로드밸런싱 nginx.conf파일에서 http 블록안에서 설정한다. HTTP 부하분산 upstream backend { server app1...
현재 디렉토리에서 파일명에 bash가 있는 파일들의 목록을 원본파일로 사용하겠습니다. 하드링크 하드링크는 ln src dest명령어로 만들 수 있습니다. source를 원본으로해서 hard라는 하드링크를 생성했습니다. source과 hard는 같은 내용을 출력하고 있습니다. source의 내용을 수정했을 때 hard의 내용도 수정이 되어있는 것을 확인할 수 있습니다. hard를 수정했을 때에도 source의 내용이 변경되게 됩니다. 파일의 권한을 수정했을 때에도 똑같이 수정됩니다. source를 제거했을 때에도 hard는 내용을 가지고 있습니다. 심볼릭링크 심볼릭링크는 ln -s src dest명령어로 만들 수 있습니다. source를 원본으로해서 soft라는 심볼릭링크를 생성했습니다. source과 s..
API Controller의 반환형식을 보면 익명객체를 사용하여 `Token`과 `UserDetail`속성을 반환하고 있다. 하지만 API의 요청결과를 보면 `$id`라는 속성이 자동으로 추가되어있다. 여기서 `ReferenceHandler.Preserve` 옵션이 원인이다. 순환참조를 방지하기 위해 사용했던 옵션이 다른 문제를 일으킨 것이다. 순환참조만을 무시하기 위해선 `ReferenceHandler.IgnoreCycles`옵션을 사용하면 된다.
EF Core의 DataAnnotations를 사용할 때 모델에서 특성을 지정할 수 있다. EmailAddressAttribute를 지정하는 방식과 DataTypeAttribute의 파라미터로 DataType을 결정하는 방식의 차이점이 궁금했는데 EmailAddressAttribute는 자주 사용되기 편하게 DataTypeAttribute에서 따로 뽑아놓은듯하다. 실제로 코드를 보면 DataTypeAttribute를 사용하는 방식과 똑같다. 그냥 자주사용되는 만큼 편하게 사용하라고 특성을 따로 만들어서 뽑아놓은거같다.
오류가 발생한 이유: 프로젝트의 저장경로로 이용하던 SD카드의 파일시스템이 exFAT를 사용중이었음. visual studio 2022에서 MAUI 프로젝트는 exFAT 파일 시스템에서의 빌드와 배포를 지원하지 않는다고 함. 오류 해결법 : SD카드의 파일포맷을 NTFS로 변경.
패턴은 일정한 형태나 양식 또는 유형이 반복되는 것을 말합니다. 소프트웨어 공학에서의 패턴은 일반적으로 발생하는 문제를 해결하기 위해 표준화된 솔루션을 제공하는 소프트웨어 디자인 기법으로 개발자가 시간을 절약하고 효율성을 높일 수 있도록 도와줍니다. 반대로 디자인 패턴을 사용하지 않고 소프트웨어를 개발하게된다면 다음과 같은 문제가 발생합니다. 디자인 패턴을 사용하지 않았을 때 발생할 수 있는 문제들 코드의 재사용성이 낮아진다. 디자인 패턴은 일반적인 문제를 해결하는 데 사용할 수 있는 일반적인 해결책을 제공하므로, 코드의 재사용성을 높일 수 있습니다. 반면 디자인 패턴을 사용하지 않고 개발을 진행하면, 비슷한 문제에 대해 매번 새로운 코드를 작성해야 하므로 코드의 재사용성이 낮아집니다. 코드의 가독성이 ..
저는 책을 읽을 때 필기하는 것을 좋아합니다. 필기를 하지 않고 책을 읽으면 책의 내용이 잘 기억나지 않을 뿐더러 "내가 책을 읽었다." 라는 게 별로 느껴지지 않기 때문입니다. 또한 책을 더럽히는 것을 매우 싫어합니다.. 그래서 보통 공책에 책 페이지와 영감을 받은 문구, 내 생각을 따로 필기해둡니다. 하지만 책은 무거워서 들고다니기가 불편하기 때문에 전자책을 생각해 볼 수 있습니다. 전자책은 언제 어디에서나 내가 구매한 책이라면 읽을 수 있습니다. 하지만 특정 플랫폼에 종속되고, 플랫폼에서 제공하는 전자책리더의 성능에 영향을 많이 받습니다. 대부분의 전자책 리더들은 펜을 이용한 필기 기능을 지원하지 않습니다. 그래서 저는 전자책을 PDF로 변환하고 필기가 가능한 리더에서 전자책을 보고 싶었지만 주로 ..
정규표현식은 정규식이라고도 불리며 영어로는 Regurlar Expression 혹은 Regex라고 합니다. 정규표현식을 사용하면 문자열에서 특정 패턴을 찾아낼 수 있기 때문에 컴파일러, IDE 같은 고급 문서 편집기, 혹은 사용자가 입력한 이메일, 전화번호등의 유효성을 검증하기 위해 사용됩니다. 정규표현식은 패턴과 플래그를 가지며 아래와 같은 구조로 작성됩니다. / 패턴 / 플래그 / (?:Mon|Tues|Wednes)day / g Monday // true Tuesday // true Wednesday // true Thursday // false Friday // false패턴 패턴은 문자열에서 메타문자를 조합해 검색기준을 정의합니다. 문자 클래스 필요한 규칙에 따라 문자 집합을 정의할 수 있고, 만..
합계알고리즘이란 주어진 입력을 모두 더해 합한 값을 출력하는 알고리즘 입니다. 예를들어 한 학급에서 80점 이상의 점수를 받은 학생들의 총점을 알고싶다면 for문과 if문을 사용할 수 있습니다. public class SumAlgorithm { int[] scores = {100, 80, 75, 43, 95, 82, 80, 79 }; int sum = 0; // 합계 알고리즘 for(int i = 0; i = 80) sum += scores[i]; } Console.WriteLine($"{scores.Length}명의 학생들 중 80점 이상을 받은 학생의 총점은 {sum}점 입니다."); } 위의 코드에서는 scores라는 배열안에서 8..