본문 바로가기

전체 글262

mysqlのSQLをoracleで書く(一覧) concat文字列を結合する。Oracleでは2つしか結合不可。CONCAT(char1, char2)Oracleで3つ以上の文字列を結合する場合は||を使用char1||char2||char3format date_format time_format値を指定のフォーマットで整形した文字列を取得する。FORMAT(string,format)DATE_FORMAT(date,format)TIME_FORMAT(time,format)OracleではTO_CHARを用いる。また、フォーマットに%Yや%hは使えない。(YYYY/MM/DDなどを使用)TO_CHAR(date, 'YYYY/MM/DD')IFNULL値がNULLか判別する。 IFNULL(カラム名, ‘置き換える値’)OracleではNVLを用いる。NVL(カラム名, ‘置き換える値’)coalesceという関数も.. 2024. 5. 10.
◀정부 지원금을 활용하여 안전하게 기업 경영하기 - 44화 : 절대 하지 말아야 할 사업비 횡령 범죄 행위-연구수당 회수를 통한 자금 횡령 연구수당은 정부과제 수행과 관련된 과제 책임자 및 참여연구원의 보상․장려금 지급을 위한 수당으로 일반적으로 비영리 기관에 한하여 해당 연도 해당 기관 인건비(미지급 인건비 포함) 및 학생인건비의 20% 이내에서 계상할 수 있도록 되어 있다. 하지만 특정된 기술 개발사업에 한하여 실집행되는 인건비(현물 및 현금 인건비 포함)의 20% 이하로 책정할 수 있기 때문에 과제별로 사업비 사용요령을 확인해야 한다. 연구수당 횡령은 대부분은 학교에서 많이 발생한다. 학교는 일반적으로 기업 또는 국가연구소가 주관기관으로 수행하는 과제에 참여기관으로 과제에 참여하여 개발 과제에 필요한 학술적 이론 및 실험 증명을 대부분 수행한다. 학교와 연구소 등과 같은 비영리 기관은 앞에서 언급한 바와 같이 과제를 수행하기 위한 연구.. 2024. 4. 4.
[Django] HTTP error code 401, 403, 404, 405, 415, 500 요즘 프로젝트를 진행하면서 정말 자주 접하는 HTTP 에러 코드들이 있습니다. 매번 볼때마다 당황하지 않고 빠르게 해결하기 위해서 다시 한번 머릿속으로 복습해보려고 이 글을 써봅니다. #401 UnAuthorized 인증 문제 : Token을 잘못보낸 케이스 ( JS headers확인, Authorization: Bearer + token) 자주 발생. 주로 JS에서 api의 headers를 확인해보면 오타가 있거나 , token을 올바르지 않은 형식으로 보내고있거나, payload에서 토큰을 정상적으로 가져오고 있지 못할때 발생했었습니다. #403 Forbidden 주로 권한 문제, 현재 열려고 하는 웹페이지 또는 리소스가 액세스 할 수 없는 경우 발생을 합니다. 과거에 한번 발생을 했었는데, 검색을 .. 2024. 4. 3.
DB 모니터링 구축 (PMM) PMM을 사용하여 모니터링 시스템 구축하기 RDS mysql을 사용중인데 기본적인 DB 인스턴스에서 모니터링을 하고 있다. 매번 aws console로 모니터링하기 번거롭기도 하고 좀 더 세부적인 DB 매트릭에 대해 모니터링 하고자 어떤 조합을 사용할지 고민하다가 PMM이라는 DB 모니터링 솔루션으로 구축하기로 함 PMM은 기본적으로 프로메테우스+그라파나 기반이라 PMM 클라이언트가 DB 매트릭을 수집하고 PMM 서버에서 수집한 매트릭을 시각화하여 보여준다. PMM Percona Monitoring and Management = 무료 오픈 소스 Database 통합 모니터링 솔루션 위와 같은 아키텍처이고 PMM 클라이언트가 DB 매트릭을 수집하고 수집한 매트릭을 PMM 서버에서 대시보드화하여 보여주는 방.. 2024. 3. 21.
14.Redis, Key 관리 명령에 대해서 알아볼께요.^^ Key 관리 명령에 대해서... 레디스에 저장된 Key를 관리하는 명령은 아래와 같다. 삭제 만료 목록조회 데이터형 조회 Key 이동 기타 등등 Key 삭제와 변경 del Redis 에 저장된 Key와 데이터를 삭제하고, 삭제된 Key의 개수를 돌려줌. 만약 Key가 존재하지 않으면 0을 반환함 명령) del [key1] [key2]... 응답) , 삭제된 Key의 수 rename 주어진 Key의 이름을 변경하고 변경결과를 돌려줌. 만약 변경할 Key가 이미 존재하면 0을 반환함. 명령) rename [key] [new key] 응답) 성공하면 OK, 실패하면 ERR Key 만료처리 expire 지정된 Key 에 만료시간을 초(sec) 단위로 설정함. 단, 지정된 Key가 존재하지 않거나 설정에 실패하면.. 2024. 3. 19.
Real Mysql 8.0 : 옵티마이저 옵티마이저 쿼리를 최적으로 실행하기 위해 각 테이블의 데이터가 어떤 분포로 저장돼 있는지 통계 정보를 참조하며, 그러한 기본 데이터를 비교해 최적의 실행 계획을 수립한다. 우리들은 실행 계획의 이해해야 실행 계획의 불합리한 부분, 더 최적화된 방법으로 실행 계획을 수립하도록 유도할 수 있습니다. 쿼리 실행 절차 1. SQL 파싱 사용자로부터 요청된 SQL문장을 잘게 쪼개서 MySQL 서버가 이해할 수 있는 수준으로 분리해서 파스 트리가 만들어짐 설명 : SQL문장이 문법적으로 잘못됐다면 이단계에서 걸러짐, MySQL서버는 SQL문장 그자체가 아니라 파스 트리를 이용해 쿼리를 실행 2. 최적화 및 실행 계획 수립 SQL의 파스 트리를 확인하면서 어떤 테이블부터 읽고 어떤 인덱스를 이용해 테이블을 읽을지 선.. 2024. 3. 11.