분류 전체보기 49

표준 시간대의 활용

타임스탬프기본적으로 UNIX 타임스탬프는 1970년 1월 1일로부터 얼마나 시간이 경과하였는지를 나타내는 절대적인 지표입니다. 기준이 되는 표준 시간대는 UTC.기초적인 설명은 다른 곳에도 많고 기술서를 보는 게 훨씬 정확하므로 이 정도만 하고 실제 사용 시 헷갈릴 수 있는 내용만 정리하고자 합니다.표준 시간대의 반영표준 시간대의 활용은 크게 두 가지 방법이 있습니다.문자열로부터 날짜 및 시각 데이터를 얻을 때 해당 문자열의 해석 기준이 되는 표준 시간대로서 사용하는 경우(실제 타임스탬프가 달라짐)타임스탬프를 표시할 기준이 되는 표준 시간대를 설정하는 경우(해당 시각의 표현만 달라짐)시각의 표시는 ISO 8601 형식을 따르며, 문자열의 끝에 Z가 붙은 경우 UTC, ±hh:mm 형태의 문자열이 붙은 경..

카테고리 없음 2024.07.21

[Unix] 특정 프로세스의 표준 시간대 변경

목적시스템의 표준 시간대 설정을 변경하지 않고 특정 표준 시간대를 적용하여 프로세스를 실행합니다.표준 시간대 변경이 필요한 경우배포 환경의 시스템 표준 시간대는 UTC이고 현재 작업중인 시스템의 표준 시간대는 Asia/Seoul(UTC+9)인 상태에서 배포 환경을 기준으로 로컬 환경의 프로그램을 동작해 보고 싶은 경우일반적인 방법시스템 설정 - 시간 및 언어 관련 메뉴에 진입하여 시스템 자체의 표준 시간대를 변경합니다.표준 시간대의 임시 변경 방법# TZ=UTCTZ= 간단하게 확인해 봅시다. 표준 시간대 변경 부분이 command 앞에 와야 합니다.한 줄짜리 프로그램을 작성하였습니다. UTC와 현재 적용되는 표준 시간대의 차이를 출력하는 함수입니다.// index.jsconsole.log(new Date..

카테고리 없음 2024.07.21

[Figma] 이미지 export 시 테두리가 생기는 현상

문제프레임 단위로 export된 이미지가 보이는 대로 저장되지 않고 여백을 함께 출력합니다.해결drop-shadow, blur 등 프레임 외부 영역에 표시되는 옵션을 내보내기 대상 프레임으로부터 숨김 또는 제거하여 보이지 않는 상태로 내려받습니다.이미지 내보내기 시 프레임에 적용된 효과까지 함께 계산되어 저장되므로, 프레임의 콘텐츠만 깔끔하게 저장하고 싶다면 위의 효과들을 제거한 상태로 내보내기를 실행해야 합니다.가령 그림자 효과를 css로 구현할 예정인 경우에는 그림자 효과가 적용된 이미지를 저장해야 할 이유가 전혀 없습니다. 따라서 디자인 상으로 그림자가 표현되어 있다면, 실제로 사용하기 위해 내려받을 때에는 해당 효과를 숨긴 상태로 내려받아야 합니다.덧프로그램은 잘못이 없었습니다. 참고좌표값이 정수..

정규 표현식과 하이픈(-)

다음은 주어진 문자열로부터 C-, C0, C+, B-, B0, B+, A-, A0, A+를 매칭시키는 코드입니다. 정규 표현식을 활용합니다.const input = 'A+B-C0';const scores = input.match(/[ABC][0-+]/g); // ['A+', 'B-', 'C0']하지만 위의 코드를 실행하면 SyntaxError를 뱉어냅니다.잘못된 부분은 두 번째 위치의 문자를 매칭하기 위해 사용한 [0-+] 부분입니다.대괄호에 대하여 간단하게 설명하고 넘어가자면, 대괄호 안에 있는 문자열은 OR처럼 작동하여 해당 위치의 문자가 대괄호 안에 주어진 값들 중 하나인 경우에만 패턴이 일치됨을 나타냅니다.[ABC]를 예로 들어 설명하면 문자열의 해당 자리가 A, B, C 중 하나일 때 일치됨을 ..

함정 시리즈 2024.05.06

[Github] 2단계 인증(2FA) 등록

Github 2단계 인증 의무화 Raising the bar for software security: GitHub 2FA begins March 13 On March 13, we will officially begin rolling out our initiative to require all developers who contribute code on GitHub.com to enable one or more forms of two-factor authentication (2FA) by the end of 2023. Read on to learn about what the process entails github.blog 작년에 채택된 Github 정책에 의하여 점진적으로 모든 사용자에게 2단계 인증을 ..

카테고리 없음 2024.03.11

[티스토리] 일부 Latex 수식에 MathJax 변환이 적용되지 않는 문제

문제 MathJax를 사용하여 Latex 수식의 변환을 시도하였으나 일부 수식이 제대로 변환되지 않습니다. 원인 변환되지 않는 수식을 개발자 도구로 검사한 결과, 한 줄로 입력한 내용이 서로 다른 span 요소 또는 텍스트 노드로 사분오열되어 입력되어 있는 것을 발견하였습니다. 이러한 요소의 분리는 스타일이 적용되는 경우에 일어납니다. 텍스트 에디터로부터 비롯된 문제로 볼 수 있습니다. 해결 글쓰기 옵션 중 가장 우측에서 HTML 모드로 접근합니다. 수식의 중간에 중첩된 태그가 사용되지 않도록 제거합니다. 또는, 수식 전체를 다시 입력합니다. 제 경우, 수식에 인용문을 지정했다가 해제하는 과정에서 해당 부분에 스타일이 추가되었고, 작성된 식의 일부분을 복사하여 활용함에 따라 스타일을 유지한 채 새로운 태..

[CSS] 페이지 인쇄 시 배경색이 보이지 않는 문제

인쇄(ctrl + p) HTML 페이지의 background-color 속성이 인쇄 미리보기에 적용되지 않는 현상을 확인하였습니다. 아래는 전체 문서를 검게 칠하여 극단적으로 표현한 예시입니다. 인쇄 미리보기 시 배경색이 전부 사라져 모든 글씨가 보입니다. print-color-adjust 미디어 쿼리를 이용하여 print에 해당할 때, print-color-adjust 속성을 exact로 지정합니다. @media print { body { print-color-adjust: exact; -webkit-print-color-adjust: exact; } } print-color-adjust는 economy와 exact 둘 중 하나를 지정해야 합니다. 기본값은 economy이며, user agent에 의해..

[JavaScript] switch문의 fall-through

case마다 반드시 break를 사용할 것 if - else if - else문 대신 switch - case문을 사용해 보려다가 당했습니다. break를 사용하지 않았기 때문입니다. switch - case 각각의 문자열이 아래와 같이 대응된다고 해봅시다. U: up → y 좌표를 1 증가시킴 D: down → y 좌표를 1 감소시킴 L: left → x 좌표를 1 감소시킴 R: right → x 좌표를 1 증가시킴 간단하게 코드로 나타내 보면 아래와 같습니다. const string = "UDLR"; let x = 0; let y = 0; for (let chr of string){ switch (chr) { case 'U': y++; case 'D': y--; case 'L': x--; case '..

함정 시리즈 2024.01.29

[html/css/js] 노이즈 효과 만들기

우연한 계기로 canvas를 활용하여 그리드에 흰색 혹은 검은색을 칠하는 간단한 작업을 수행하였는데, 얼마 전 신기하게 봤던 노이즈 효과를 도전해 봐도 좋을 것 같습니다. 당장 코드가 급하신 분들은 이 글이 아니라 이쪽의 출처로 html5 canvas noise generation ... codepen.io 로직 생각한 로직은 다음과 같습니다. canvas 생성 렌더링 함수 정의 width * height 크기의 배열 생성 및 값 할당 배열의 값에 따라 픽셀 단위로 칠하기(fillRect 활용) 렌더링 함수 반복 호출 옵션은 다음과 같습니다. window 크기 변경 시 canvas 크기도 조절되는 로직(resize) 구현 주요 로직 1. canvas 생성 html에 canvas 태그 추가 js로 canv..

구현 2024.01.23

[프로그래머스] 주사위 굴리기 리팩토링 - 누적합 적용해 보기

문제: https://school.programmers.co.kr/learn/courses/30/lessons/258709 풀이(이진 탐색): [프로그래머스] 주사위 굴리기 - 2024 카카오 겨울 인턴십 카카오 공식 문제해설은 이진 탐색을 사용하는 것보다 시간복잡도 측면에서 더 효율적인 방법이 있음을 시사하였고, 답을 구하는 방법으로는 누적합, 투포인터, 이진 탐색 등을 언급하였습니다. 그래서 저는 이진 탐색을 활용했던 부분을 누적합으로 대체하여 시간복잡도를 개선해 보고자 합니다. 리팩토링 시뮬레이션 결과 우선 시뮬레이션 결과를 저장하는 방식을 바꿔 봅시다. 누적합을 활용하려면 우선 결과를 구간으로 나타내야 할 필요가 있습니다. 시뮬레이션 결과의 범위 주사위 N개를 던졌을 때 얻을 수 있는 최대 숫자는..

카테고리 없음 2024.01.11