전체 글

인생 뭐 있나 사람 사는거 다 똑같지
더보기 2022 년도에 작성된 글 입니다. 동시성 문제를 해결하는데에는 4가지 방법이 떠오른다. 트렌젝션을 통해 Read 와 Write 을 반복적으로 수행하는 방법 Table 의 유니크키 결합을 통한 방법으로 Multi Index 을 사용하는 방법 PK 을 생성할 때 2개의 특정 값을 조합하여 사용하는 방법 (상품번호:주문순서) 데이터를 하나의 스택에 담고 Pub/Sub 으로 Database 에 순차적으로 Insert 하는 방법 이커머스로 이직한 두번째 날 1번의 방식으로 이벤트 응모를 처리하다가 1등 당첨자가 여러명 나오는 문제가 발생했었다. 이러한 예시로 민트패스가 있었다. (구매하려고 들어갔는데 후기 보고 알게됨) https://www.ssg.com/item/itemView.ssg?itemId=1..
더보기 2022 년도에 작성된 글 입니다. Warning: mysqli_connect(): The server requested authentication method unknown to the client [caching_sha2_password] PHP 을 사용하다 데이터베이스 연결문제가 발생했다. 아이디 비밀번호 맞는데 위와 같은 에러 메세지가 출력되었다. 접속 안되는 이유 MySQL 8 부터는 더 강화된 인증 방식으로 caching_sha2_password 를 도입했는데 PHP 의 MySQL Driver 에서는 지원하지 않아 발생하는 문제였다. 해결 방법 caching_sha2_password 를 지원하게 한다. PHP7.4 이상부터는 개선 되었다고 하니 아래 문서 참고 1. https://w..
더보기 2022 년도에 작성된 글 입니다. HTML 혹은 Restful API 에서 요청이 서버로 들어왔을 경우 확인해야 할 것이 있다. SQL 인젝션 등에 취약한 문자는 없는지 사용자의 실수로 빈 값이 들어 왔는지 이 두가지의 경우에 1번은 대부분의 라이브러리에서 해결을 해준다. 하지만 2번의 경우에는 서버에서 직접 핸들린을 해야한다 . 그리기 위해서는 trim 이 어떤 데이터를 어떻게 처리하는지 알아야 한다. $a = ''; $b = NULL; $c = false; $d = 0; var_dump(trim($a)); // string(0) "" var_dump(trim($b)); // string(0) "" var_dump(trim($c)); // string(0) "" var_dump(trim($d)..
더보기 2022 년도 4월에 작성된 글 입니다. 과거 PHP를 사용하며 include 만 사용했다. 어느날 문득 include와 require의 차이점을 묻는 질문과 once가 붙었을 경우를 묻는 질문을 받았다. 공통점 외부 파일을 불러올 때 차이점 include는 실행중 오류가 발생되어라도 코드가 실행된다. require은 에러가 발생할 경우 코드가 멈춘다. 사용방법 include('include.php'); require('require.php'); _once 란 include_once('include.php'); require_once('require.php'); _once 가 붙으면 여러번 가져와도 한 번만 가져온다. once를 사용했을 때의 장점으로 수십개의 파일이 include 했을 때 한번만..
귀찮은 개발자
귀찮은 개발자의 이중생활