전체 글94 [JAVASCRIPT] 참 같은 값 truthy / 거짓 같은 값 falsy Truthy ( 참 같은 값 ) Truthy 한 값이란, boolean context(대표적으로 조건문, 반복문) 에서 쓰이면 true로 간주되는 값이다. Falsy ( 거짓 같은 값 ) Falsy한 값이란, boolean context(대표적으로 조건문, 반복문) 에서 쓰이면 false로 간주되는 값이다. 어떠한 값이 있을까? 먼저, falsy한 값들을 알아보자. (truthy한 값들은 falsy한 값을 뺀 모든 값이기 때문이다. 소거법으로 알아보자!) 1 false false값 2 0 숫자 0 ( also 0.0, 0x0 ) 3 -0 음수 0 ( also -0.0, -0x0 ) 4 0n BigInt 0 ( also 0x0n ) - Bigint형의 음수0 (-0n)은 없다는 걸 메모! 0n의 음수형은 .. JAVASCRIPT&JQUERY 2022. 11. 29. MYSQL 파일 단위 백업 - InnoDB, MyISAM 파일 복원 MyISAM 파일 복원 - MyISAM의 구성 /mysql/data/DB명/테이블명.frm 테이블의 구조를 정의하는 파일 /mysql/data/DB명/테이블명.MYD 데이터 파일(actual data of MyISAM table) /mysql/data/DB명/테이블명.MYI 인덱스 파일 - 위 .frm, .myd, .myi 파일이 있다면 데이터베이스 폴더 (/var/lib/mysql)에 간단히 복사+붙여넣기 하는 것 만으로 복원 끝! 문제는, innoDB 엔진의 경우이다. InnoDB 파일 복원 -InnoDB는 MyISAM처럼 단순하고 간단하게 파일을 이용한 복구를 하기 어려운데, 이는 InnoDB의 구조 때문이다. -굉장히 복잡한데, 결론적으로는 .frm, .ibd 파일만으로 복구하기 위해서는 .ibd.. DATABASE 2022. 10. 20. MariaDB 손상 복구 관련 정리 자료(2) - MYISAM 자동 복구 옵션 이 전 글에서 DB 손상 시 수동으로 복구하는 방법에 대하여 정리했다. https://yenbook.tistory.com/109 MariaDB 손상 복구 관련 정리 자료(2) -MYISAM 사실 대부분의 테이블 손상이 일어나는 경우는 MariaDB-MYISAM의 조합이다. (InnoDB의 경우 이 전 포스팅을 참고) https://yenbook.tistory.com/108 MariaDB 손상 복구 관련 정리 자료(1) -InnoDB 우리 서비스에서.. yenbook.tistory.com 오늘은 이러한 복구 과정을 자동화 하는 옵션값을 발견하여 기록한다. my.cnf 설정파일 myisam_recover_options=mode 모드는 다중 선택이 가능하며, 컴마를 이용해 값을 입력한다. (myisam_rec.. DATABASE 2022. 10. 4. MariaDB 손상 복구 관련 정리 자료(2) -MYISAM 사실 대부분의 테이블 손상이 일어나는 경우는 MariaDB-MYISAM의 조합이다. (InnoDB의 경우 이 전 포스팅을 참고) https://yenbook.tistory.com/108 MariaDB 손상 복구 관련 정리 자료(1) -InnoDB 우리 서비스에서는 데이터베이스를 MSSQL, MariaDB 두 가지 옵션으로 제공하는데, 라이선스, 비용 등을 고려하여 MariaDB를 기본 타입으로 제공하고 있다. 하지만 MariaDB의 치명적인 단점이 있었으니, yenbook.tistory.com MYISAM의 경우 하나의 테이블에 대해 기본적으로 3개의 파일을 생성한다. /mysql/data/DB명/테이블명.frm 테이블의 구조를 정의하는 파일 /mysql/data/DB명/테이블명.MYD 데이터 파일 /m.. DATABASE 2022. 9. 27. MariaDB 손상 복구 관련 정리 자료(1) -InnoDB 우리 서비스에서는 데이터베이스를 MSSQL, MariaDB 두 가지 옵션으로 제공하는데, 라이선스, 비용 등을 고려하여 MariaDB를 기본 타입으로 제공하고 있다. 하지만 MariaDB의 치명적인 단점이 있었으니, 바로 테이블 crash 문제이다. 특히, InnoDB/MYISAM 데이터 엔진 중 어떤 엔진을 사용하냐에 따라 crash 위험성 차이가 있었다. (사실 MYISAM엔진을 사용하고 있는 MariaDB인 경우에서 거의 대부분의 테이블 손상-복구 문제가 문제가 일어났음) 매번 손상이 일어날 때마다 복구 방법을 찾아보기 번거로워, 이번 기회에 정리를 하고자 한다. 먼저, 손상 가능성이 적은 InnoDB의 경우를 먼저 정리한다. 1)InnoDB 테이블이 손상되는 경우는 상당히 희박하다. Double .. DATABASE 2022. 9. 27. [Datatable] 원하는 컬럼만 보이도록 컬럼 필터링 화면 설정하기 Datatable에 컬럼이 너무 많아져서, 스크롤이 생겨 가독성이 떨어질 때 컬럼을 선택하여 볼 수 있도록 컬럼 설정 창을 생성해보자! 1. 컬럼을 설정할 수 있는 페이지로 가는 버튼 생성 컬럼 설정 - 이 버튼 클릭 시 설정 페이지 modal 창이 팝업 될 수 있도록 이벤트를 걸어준다. $("#btn_view_columns").click( function() { $('#modal_view_columns').modal('toggle'); }); 2. 설정 모달 창 생성 컬럼 설정 ${entry.value} 전체 ${map.value} 확인 닫기 - 모달 창은 아래와 같이 생겼는데, 체크박스를 사용하여 보여 줄 컬럼을 지정할 수 있다. 3.항목 세팅하기 - modal의 반복문을 보면, column type.. JAVA 2022. 7. 29. [MySQL] trigger로 jsp페이지 호출하기 사용자들이 요청한 데이터가 있을 때 관리자에게 알람을 보내주는 API를 개발하려고 한다. DB 테이블에 변동사항이 있을 때 동작해야 하므로 trigger를 쓸 것이고, trigger를 통한 동작을 'jsp호출'이라는 함수 호출로 동작시키려고 한다. 먼저, jsp 페이지를 호출하는 사용자 정의 함수(UDF)를 생성해야한다. 1) lib_mysqludf_sys_64.zip 다운로드 2)lib_mysqludf_sys.dll 파일을 Mysql설치 폴더 아래 plugin 폴더에 넣어준다. *plugin 폴더 경로 확인 : show variables like 'plugin_dir'; 3)sys_exec() 함수 생성하기 - create function sys_exec returns int soname 'lib_my.. DATABASE 2022. 5. 26. [Database] where 1=2, where 1=1을 사용하여 테이블 복사하기 DB 쿼리문을 보다 보면 where절에 1=2, 1=1 등을 사용하는 것을 심심찮게 볼 수 있다. 쿼리문의 조건절에 where 1=1을 쓴다면, 말 그대로 항상 참일 것이고, (true for all rows) where 1=2를 쓴다면, 항상 거짓일 것이다.(false for all rows) where 1=2 사용하여 테이블 구조만 복사하기 CREATE TABLE [생성할 테이블명] AS SELECT * FROM [복사할 테이블명] WHERE 1=2; 위와 같은 쿼리문을 사용할 경우, 컬럼명과 데이터 타입이 동일한 테이블을 생성하지만, key, constraint, 테이블의 데이터는 복사하지 않는다. (1=2인 data는 존재하지 않기 때문) (중요한 점! 기본키, 외래키가 설정되어 있는 경우 이는 .. DATABASE 2022. 5. 23. [JAVA] Uncaught TypeError: Cannot read property 'nTr' of undefined 해결하기 - Java Datatable 체크박스 풀림 현상 DataTable로 테이블을 구현 하였으나, 체크박스를 클릭해도 바로 풀리는 증상이 발견되었다. F12로 관리자 모드 > 콘솔을 확인 해 보니, 아래와 같은 에러가 발생하고 있었다. Uncaught TypeError: Cannot read property 'nTr' of undefined 내가 도움을 받았던 링크 https://datatables.net/forums/discussion/41307/datatables-checkbox-selection-with-columns-configuration-option DataTables Checkbox Selection with Columns Configuration Option This page: https://datatables.net/extensions/se.. JAVA 2022. 5. 13. [MySQL] MySQL Explain 실행계획 사용법 및 분석 MySQL Explain MySQL 튜닝에서 가장 중요한 것은 쿼리와 스키마 최적화이다. 스키마 설계는 한번 진행되면 그 테이블을 사용하는 모든 쿼리에 영향을 주기 때문에 좀처럼 변경하기 힘들지만 쿼리는 해당 쿼리만 수정하면 되므로 변경하기 쉽다. Slow Query를 없애는 것은 성능을 향상 시키기 위한 매우 중요한 수단이므로 어플리케이션의 성능을 향상 시키고 싶다면 우선적으로 쿼리의 튜닝을 검토해봐야 한다. 성능 진단의 가장 첫걸음은 실행한 SQL이 DB에서 어떻게 처리되는 지를 파악하는 것이다. 사람이 이해할 수 있는 언어로 구성된 SQL을 실행하도록 DB에 명령을 내리면 DB는 내부적으로 SQL 파싱 (문법 체크 및 DB에서 실행하기 위한 형태로 변환하는 단계)을 하고 옵티마이징 (데이터를 찾는 .. DATABASE 2022. 5. 3. [Dart] Dart의 함수 - Functions in Dart 1.함수 Functions - Dart의 중요 개념 편에서, 'Dart는 모든 것을 객체(Object) 취급한다' Object-oriented한 언어임을 설명했다. **참고 : (https://yenbook.tistory.com/85) -Dart는 함수 또한 객체로 취급한다. -함수가 변수에 할당될 수 있으며, argument(매소드 호출 시에 전달되는 전달인자)로서 다른 함수에 넘겨질 수 있다. -Dart class의 인스턴스를 함수인 것 처럼 호출할 수도 있다. bool isNoble(int atomicNumber) { return _nobleGases[atomicNumber] != null; } -데이터 타입인 bool을 생략하더라도 동작된다. isNoble(atomicNumber) { //bool.. DART 2022. 5. 3. [생성 패턴] 싱글톤(Singleton) 패턴을 구현하는 6가지 방법 첫 번째로 소개할 디자인 패턴은 싱글톤(Singleton) 패턴입니다. 종종 싱글톤 패턴을 '단일체' 패턴으로 번역하고 있는 책도 있지만, 일반적으로 싱글톤 패턴이라고 부릅니다. 싱글톤 패턴은 객체지향 디자인 패턴에서 가장 유명한 패턴 중 하나로, 디자인 패턴을 따로 공부하지 않으신 분들도 익히 알고 있는 패턴입니다. 하지만 유명한 만큼 예제 코드를 쉽게 접할 수 있어서인지 프로젝트에 싱글톤을 어설프게 적용은 하지만 정작 왜 써야 하는지, 어떻게 써야 내 상황에 맞게 잘 쓰는지에 대해서는 잘 모르시는 분들이 많습니다. 이번 포스팅에서는 디자인 패턴 관점에서 싱글톤의 개념과 역할에 대해 살펴보고, Java를 통해 간단한 구현까지도 실습해보도록 하겠습니다. 싱글톤은 생성 패턴(Creational Patter.. 디자인패턴 2022. 4. 29. 이전 1 2 3 4 ··· 8 다음