[바미] MySQL JSON 데이터 조회
·
MySQL(DB)
들어가기전에..MySQL은 5.7 버전부터 JSON 데이터를 효율적으로 저장하고 조회할 수 있는 기능을 제공하고 있습니다. MySQL에서 JSON 데이터를 어떻게 저장하고 조회하는 지 살펴보도록 하겠습니다.MySQL에서 JSON 데이터 타입?JSON(JavaScript Object Notation)은 가볍고 사람이 읽기 쉬운 데이터 교환 형식입니다. MySQL에서는 JSON 데이터 타입을 제공하여 JSON 형식의 데이터를 효율적으로 저장하고 관리할 수 있죠. 구조회된 데이터를 유연하게 저장이 가능하고, 스키마 변경없이 필드를 추가할 수 있고, 복잡한 데이터 구조도 저장이 가능합니다.JSON 데이터 저장우선 JSON 데이터를 저장할 테이블을 만들어보겠습니다.CREATE TABLE users ( id ..
[바미] .ibd과 .frm파일은 쿼리로 삭제하자!
·
MySQL(DB)
A라는 테이블을 파티셔닝 테이블로 만들기 위해 A_temp로 변경 후 새로 A라는 파티셔닝 테이블을 만든 뒤, A 테이블에 A_temp의 데이터를 넣다 오류가 발생하여 A_temp의 테이블을 삭제 후 재생성 하는 과정에서 SQL Error [1050] [42S01]: (conn=429) Table 'schema.A_temp /* Partition p202401 */' already exists라는 에러가 발생하고 맙니다. 구글링을 해보니 테이블 삭제 했을 때 관련된 파티션이 함께 삭제되지 않아 발생한 문제였습니다. 그래서 잔여 파티션 파일이 존재하여 이를 삭제해주어야 했습니다. 이 부분은 보통 /var/lib/mysql/shema안에 있기 때문에 저 역시 이 디렉토리 안에 있는 삭제되지 않은 .ibd과 ..
[바미] 회귀 분석
·
프로그래밍(Web)/업무관련
요번 회사에서 예측 데이터를 계산하기 위해 사용하는 것 중 하나인데 개발하면서 회귀 분석에 대해 공부한 것들을 정리해볼겸 글을 쓰게 되었습니다.회귀 분석 (Regression Analysis)? 회귀 분석(Regression Analysis)은 통계학과 데이터 분석에서 가장 기본적인 도구 중 하나로 독립 변수(설명 변수)와 종속 변수(반응 변수) 간의 관계를 수학적으로 표현하는 방법을 사용하고 있습니다. 두 개 이상의 변수 간의 관계를 모델링하고, 이를 바탕으로 특정 변수를 예측하는 데 사용되는데 과거의 판매량의 데이터를 바탕으로 다음 달 매출을 예측하거나, 기온과 에너지 사용량 간의 관계를 분석하는 등에 사용됩니다. 실 예를 들어 공부 시간(독립 변수)과 시험 점수(종속 변수)의 관계를 나타낼 때 이 ..
[바미] JS - 오목
·
프로그래밍(Web)/Javascript(TS,Node)
오늘도 심심해서 만들어본 오목 게임입니다! 코드omok.js// 바둑판의 크기를 설정 (15 x 15) const boardSize = 15; // 각 셀의 크기를 설정 (픽셀 단위) const cellSize = 40; // 바둑판 배열을 초기화 (2차원 배열로, 모든 위치를 null로 설정) let board = Array.from(Array(boardSize), () => Array(boardSize).fill(null)); // 사용자와 AI의 돌 색상을 저장할 변수 let userStone = null; let aiStone = null; // 현재 사용자의 차례인지 여부를 나타내는 변수 let isUserTurn = true; // 캔버스 요소와 그리기 컨텍스트를 저장할 변수 let canva..
[바미] JS - 스도쿠 게임
·
프로그래밍(Web)/Javascript(TS,Node)
이번에도 심심해서 만들어본 스도쿠 게임입니다!코드 Bami`s 스도쿠 게임 힌트 보기 다시 시작
[바미] 2024 안전보건교육 하반기(사무 및 판매 근로자_서비스업) 시험
·
이것저것
다음 중 직무스트레스의 요인 중 인간관계 및 사회적 지원 요인에 해당하지 않는 것은?1. 동료, 상급자, 부하직원과의 관계 및 사회적 지원 2. 조직 구조 및 분위기 3. 참여와 의사결정 4. 신경증정답 : 4 다음 중 감정노동 직업군에 해당하지 않는 것은? 1. 콜센터 상담원 2. 전기공 3. 항공사 승무원 4. 경찰정답: 2 다음 중 화재 발생 시 대피요령에 관한 내용으로 가장 적절하지 않은 것은?1. 소화약제는 화염이나 연기에 방사하는 것이 아니라 화원에 방사하여야 한다. 2. 연기속을 통과하여 대피할 때에는 수건 등을 물에 적셔서 입과 코를 막고 숨을 짧게 쉬며 낮은 자세로 엎드려 신속하게 대피하여야 한다. 3. 건물 내에 화재 발생으로 불길이나 연기가 주위까지 접근한 경우 무리하더라도 통로나 계..
[바미] 정상적인 SELECT 문을 사용했는데 syntax 에러가 발생할 때
·
MySQL(DB)
BOM(Byte Order Mark)때문에 발생한 원인일 가능성이 높습니다.BOM은 UTF-8 형식의 인코딩에서 파일의 시작 부분에 들어가는 보이지 않는 특수 문자인데 복붙했을 때 인코딩 형식에 따라 자동으로 포함 될 수 있어요.SELECT * FROM table WHERE column = 'text';SELECT * FROM table WHERE column = 'text';위와 같은 SELECT 문이 있는데 첫 번째 쿼리문은 실행됐고, 두 번째 쿼리문은 syntax 에러가 발생하였습니다. 이를 제대로 확인하기 위해 HEX()함수를 사용하여 확인해야 합니다.SELECT HEX('text'); -- 첫 번째 쿼리에서 사용된 값SELECT HEX('text'); -- 두 번째 쿼리에서 사용된 값이 때..
[바미] 해시 충돌 처리 방법
·
프로그래밍(Web)/공부일기
들어가기전에..해시 테이블에서 해시 충돌이 발생하면, 두 개 이상의 서로 다른 키가 같은 해시 값을 가질 수 있습니다. 이를 해결하기 위해 충돌을 처리하는 다양한 방식들이 존재하는데 그 중에서 체이닝(Chaining), 개방 주소법(Open Addressing), 이중 해싱(Double Hashing)이 대표적인 방법입니다. 오늘은 이 세가지 방법에 대해 알아보겠습니다.체이닝(Chaining)해시 충돌을 처리하는 가장 보편적인 방법 중 하나인데 해시 테이블의 각 버킷(Bucket)을 연결 리스트나 배열과 같은 자료 구조로 만들어서 충돌이 발생한 여러 데이터를 그 안에 함께 저장하는 방식입니다.동작 방식각 버킷에는 하나의 데이터가 저장되는 것이 아니라, 여러 데이터가 연결 리스트로 연결됩니다.같은 해시 값..
[바미] Obejct와 Map의 시간복잡도는 항상 O(1)일까? (feat. JS & Node)
·
프로그래밍(Web)/공부일기
들어가기전에..회사에서 진행하고 있는 프로젝트 내에서 Front 또는 클라이언트로 부터 query 또는 body로부터 파라미터를 받아오게 되는데 이에 따라 Validation 검사 처리를 개발하고 있던 중이였습니다. 그 파라미터를 체크하는 로직은 아래와 같은데const locations = ['body', 'query'];const params = req[location];Object.keys(params).forEach(key => { const rule = validation[key];...}validation이라는 Object안에 Validation체크를 할 수 있도록 만들고,  Validation 체크 조건에 걸리면 router단에서 API를 종료시키는 구조로 구현했는데 이 중에서 const ..
Bami
기록하며 성장하기