본문 바로가기
반응형

개발공부/PHP6

PHP call by reference 함수 호출 시 매개변수를 참조(reference)로 전달하는 것 해당 매개변수의 원래 값이 아니라 해당 값이 저장된 메모리 주소를 함수로 전달하는 것을 의미합니다. 개발을 하다가 문득 궁금하여 챗지피티 형님에게 물어봐습니다. ChatGPT - php에서 call by reference 가 메모리에 도움이될까? 특정 상황에서 메모리와 성능 측면에서 이점을 제공할 수 있으나, 코드 가독성과 유지보수의 어려움, 예측 불가능한 부작용 등을 고려해야 합니다. 함수 호출 방식은 사용하는 코드의 목적과 구조에 따라 선택되어야 하며, 모든 상황에서 적합한 것은 아닐 수 있습니다. Parameters Call by value Call by reference Definition 변수를 복사하여 값을 전달하는 것 변수의 주.. 2024. 3. 2.
PHP 단점 - connection pool connection pool 이란? 미리 일정 수의 connection을 만들어 pool에 담아뒀다가 사용자 요청이 발생하면 연결해주고 연결 종료 시 다시 pool에 보관한다. DB 접속 요청이 늘어나도 DB 프로세스 개수는 일정하다. Connection pool을 이용하여 자원관리를 한다. PHP는 Connection pool 을 지원하지 않는다. DB 접속 시 사용자가 몰리면 DB가 죽을 수 있다. 대안 다른 프록시 미들웨어를 사용하는 것이 좋다. ex) SQL Relay, Rudiments 참고 Connection Pool이 없는 언어(PHP, Ruby)의 DB Connection 관리 PHP와 Ruby는 Connection Pool 기능이 없다! 위와 같이 Connection Pool 기능이 없는.. 2023. 6. 7.
[공유] Clean Code PHP 한글판 clean code PHP 버전으로 만든 문서를 한글로 번역한 Git Readme 문서를 봤는데 간단한 코드 예제와 함께 클린 코드 규칙을 잘 설명해주어서 공유하게되었습니다. GitHub - yujineeee/clean-code-php: Clean Code PHP 한글판 :bathtub: Clean Code PHP 한글판. Contribute to yujineeee/clean-code-php development by creating an account on GitHub. github.com Robert C. Martin의 책, 소프트웨어 엔지니어링의 교과서라고 불리는 Clean Code PHP 버전입니다. 이 문서는 스타일 가이드가 아닙니다. PHP로 읽기 쉽고 재사용 가능하며, 리팩토링이 쉬운 소프트.. 2023. 5. 16.
PHP 싱글톤 패턴 어플리케이션에서 하나의 객체 인스턴스를 가진다. 단점: 코트 재사용을 제한하고 유닛 테스트를 복잡하게 만드는 등 안티패턴으로도 간주한다. ex) DB connector, Logger 등 class Singleton { private static $instances = []; public static function getInstance() { $cls = static::class; if (!isset(self::$instances[$cls])) { self::$instances[$cls] = new static(); } return self::$instances[$cls]; } } function clientCode() { $s1 = Singleton::getInstance(); $s2 = Singlet.. 2023. 3. 19.
[PHP] redis 라이브러리 - Predis 알아보기 PHP에서 Redis 장비로의 접근을 위한 Redis Client 라이브러리이다. php >= 5.3 이 요구된다. Github 링크 Readme를 잘 보고 필요한것을 공부해야 한다. GitHub - predis/predis: A flexible and feature-complete Redis client for PHP. A flexible and feature-complete Redis client for PHP. - GitHub - predis/predis: A flexible and feature-complete Redis client for PHP. github.com 특징 redis-cluster 지원 (Redis >= 3.0) redis-sentinel 지원 client-side shardin.. 2022. 12. 30.
[PHP] mysql_num_rows VS mysql_affected_rows 둘 다 수행한 쿼리문 결과 수 (int형)를 반환하는 함수이지만 DDL, DML에 따라 다르게 사용해야한다. mysql_num_rows() - SELECT, SHOW mysql_affected_rows() - INSERT, UPDATE, REPLACE, DELETE ex) mysql_query('DELETE FROM mytable WHERE id=1'); echo mysql_affected_rows(); //1 만약, SELECT문에서 mysql_affected_rows() 하면 0이 나온다 2020. 4. 27.
728x90
반응형