[개인프로젝트] 대한민국 랜덤 여행 지역 뽑기 웹서비스 소개
·
Dev/[기타]개발
대한민국 랜덤 여행 지역 뽑기 웹서비스 소개여행 가고 싶은데 어디로 갈지 도저히 결정이 안 될 때, 친구들끼리 번개 모임 장소를 정해야 할 때, 그냥 재미로 랜덤 여행지를 골라보고 싶을 때 쓸 수 있는 작은 프로젝트를 만들었습니다.아래 링크에서 바로 사용해 보실 수 있어요. 😊대한민국 랜덤 여행 지역 뽑기 바로가기 1. 서비스 한 줄 소개“대한민국 지도를 보드게임처럼 펼쳐놓고, 버튼 한 번으로 여행지를 뽑는 서비스”입니다.지도를 보며 가고 싶은 곳을 제외해 두고, 뽑기 시작 버튼을 누르면 ‘뚜두두두두-’ 애니메이션과 함께 한 지역이 딱 결정됩니다.2. 주요 기능 정리전국 단위 랜덤 뽑기 – 대한민국 전체 도/광역시 기준 랜덤 선택범위 선택 기능 – 도/광역시, 시/군/구, 읍/면/동 단위로 범위를 좁혀..
C 헤더파일 중복 선언 방지하기 | 전처리기와 include guard 개념
·
Dev/[C]
C 헤더파일 중복 선언 방지하기전처리기와 include guard 개념C 언어에서 헤더파일 중복 선언을 막는 가장 기본적인 방법헤더파일 중복 선언 문제가 왜 발생할까?C 프로젝트에서 여러 파일이 동일한 헤더를 include 하면, 그 안에 있는 선언과 정의가 여러 번 컴파일러에 전달되면서 오류가 발생할 수 있습니다.이 문제를 막기 위해 사용하는 것이 바로 전처리기 지시자(preprocessor directives)를 활용한 include guard 방식입니다.대표적인 include guard 구조#ifndef _STACK_H#define _STACK_H/* 헤더파일 내용 */#endif위 전처리 코드는 다음 과정을 수행합니다._STACK_H가 정의되지 않았다면 → 이 헤더파일을 처음 불러온 것이므로 #d..
C 언어로 배우는 동적 2차원 배열 · 행렬 연산 정리
·
Dev/[C++]개념정리
C 언어로 배우는 동적 2차원 배열 · 행렬 연산 정리malloc을 이용해 행렬 만들기 · 덧셈 · 스칼라 곱 · 행렬 곱C 언어에서 2차원 배열을 동적으로 생성해 실제 행렬(Matrix)처럼 다루고,행렬 덧셈, 스칼라 곱, 행렬 곱을 구현하는 방법을 정리해봤습니다.1. 동적 2차원 배열 생성int** allocMatrix(int row, int col) { int** mat = malloc(sizeof(int*) * row); for (int i = 0; i 2. 행렬 출력void printMatrix(int** m, int row, int col) { for (int i = 0; i 3. 행렬 덧셈void addMatrix(int** a, int** b, int** result, in..
Chrome에서 getUserMedia()가 HTTP에서 동작하지 않는 이유와 해결 방법
·
Dev/[Javascript] React...
Chrome에서 getUserMedia() HTTP Permission Error 해결하기웹캠, 마이크, 화면 공유 등 브라우저에서 MediaDevices API를 사용하려면 보안 정책(HTTPS)이 필수입니다. 특히 getUserMedia()는 사용자의 민감한 장치에 접근하기 때문에 기본적으로 HTTP 환경에서는 권한 요청 자체가 차단됩니다.하지만 개발 환경(localhost 또는 내부망)에서 테스트할 때는 HTTPS 설정이 번거롭기 때문에, Chrome에서 제공하는 옵션을 사용해 특정 도메인에 한해 “HTTP를 HTTPS처럼 취급”하도록 설정할 수 있습니다.1. 왜 getUserMedia()는 HTTPS에서만 동작할까?MediaDevices 관련 기능은 사용자의 카메라·마이크 같은 민감한 정보에 접근..
[C] 동적 할당으로 2차원 행렬의 합과 곱 구현하기
·
Dev/알고리즘-자료구조
C 언어로 2차원 배열을 연습하다 보면, 항상 나오는 예제가 행렬의 합과 행렬의 곱입니다. 이번 글에서는 동적 할당(dynamic allocation)을 사용해서 - 2차원 행렬을 생성하고 - 행렬의 합, 스칼라 곱, 행렬 곱을 계산하는 코드 구조를 정리해보겠습니다. 1. 왜 동적 할당으로 2차원 배열을 만들까? 컴파일 시점에 크기가 정해진 배열은 편하지만, 실전 코드에서는 행 개수, 열 개수가 입력에 따라 계속 바뀌는 경우가 많습니다. 이런 경우 int a[100][100]; 처럼 여유 있게 잡아두는 대신, malloc을 이용해 “필요한 만큼만” 2차원 배열을 동적으로 만드는 편이 더 유연합니다. 2. 2차원 배열을 동적 할당하는 기본 ..
C++ static 멤버 이해하기 | static data member / static function 완전정리
·
Dev/[C++]개념정리
C++ static 멤버 이해하기static data member / static function 완전정리C++에서 static 멤버는 객체와 독립적으로 동작하는 특별한 공간입니다.한 번만 생성되고, 모든 인스턴스가 공유한다는 점이 핵심입니다.static 멤버란 무엇인가?C++에서 클래스 내부에 선언된 변수와 함수는 기본적으로 객체마다 하나씩 존재합니다.하지만 static으로 선언된 멤버는 단 한 번만 메모리에 생성되며, 모든 객체가 동일한 값을 공유합니다.즉,일반 멤버 변수 → 객체마다 별도로 존재static 멤버 변수 → 클래스 당 단 하나만 존재static 멤버 함수 → 특정 객체가 아닌, 클래스 자체에 속하는 함수static 멤버를 이해하면 “전역 변수는 쓰고 싶지 않은데, 공통된 값은 관리하고 ..
김 탱
'Dev' 카테고리의 글 목록