'?' 조건부 연산자 조건식의 결과에 따라 참과 거짓의 값 중 하나를 반환한다. =>조건식이 참일 경우 : 앞의 값을, 거짓일 경우 뒤의 값을 반환한다. 문법 조건식 ? 참일때의 값 : 거짓일때의 값 예제 $age = 18; $message = ($age >= 20) ? "성인입니다" : "미성년자입니다"; echo $message; // "미성년자입니다" 출력 age가 조건식인 20보다 작으므로, 거짓이되어 : 뒤의 값인 "미성년자입니다"를 출력하게 된다. PHP '?' 연산자는 5.3 버전 이상 부터 모두 사용할 수 있다. PHP 버전이 5.2라면 if-else구문을 사용해야 한다.
분류 전체보기
ps -ef | grep python와 ps aux | grep python의 차이 ps -ef와 ps aux는 모두 현재 실행 중인 프로세스를 출력하는 명령어이지만, 출력되는 형식이 조금 다르다. ps -ef: BSD 스타일 출력 형식. UID, PID, PPID, C, STIME, TTY, TIME, CMD 등의 필드가 표시된다. (Linux와 macOS에서 사용) ps aux: SYSV 스타일 출력 형식. USER, PID, %CPU, %MEM, VSZ, RSS, TTY, STAT, START, TIME, COMMAND 등의 필드가 표시됩니다. 이 출력 형식은 Linux에서 사용된다. 실행 중인 python 프로세스를 찾기 위해 해당 명령어를 사용하였는데, ps -ef | grep python과 p..
비동기 실행 라이브러리 비동기 실행을 가능하게 하는 라이브러리가 몇 가지 있는데, 그 중 하나는 "ReactPHP"다. ReactPHP는 이벤트 기반 비동기 프로그래밍을 지원하는 PHP 라이브러리다. 이를 사용하면 새로운 파일 실행 요청을 즉시 처리하고, 실행이 완료될 때까지 다른 요청을 처리할 수 있다. PHP5에서는 비동기 프로그래밍을 지원하지 않아서 비동기 라이브러리를 직접 구현해야 한다. 멀티 프로세스나 멀티 스레드를 사용하여 비동기 작업을 처리하는 방법이 있다. 하지만 구현이 복잡하고 안정성 문제가 있을 수 있기 때문에 권장되는 방법은 아니다. PHP7부터는 비동기 프로그래밍을 지원하는 Swoole(https://www.swoole.com/)라는 라이브러리가 나왔다. 해당 라이브러리는 비동기 I..

instaloader 설치 pip install instaloader 예제 코드1 import instaloader # 인스타그램 로그인 정보 입력 ig_username = '인스타그램ID' ig_password = '인스타그램PW' L = instaloader.Instaloader() try: # 인스타그램 로그인 L.context.log("인스타그램 로그인 중...") L.load_session_from_file(ig_username) if not L.context.is_logged_in: raise Exception("로그인 실패") L.context.log("로그인 성공") except Exception as e: L.context.log("로그인 실패") L.context.log(str(e)) ..

리포지토리는 깃 저장소로만 알고 있었는데, 알고보니 스프링부트에서도 리포지토리라는 명칭이 있었다. 그래서 프로젝트할 때 리포지토리 오류가 나서 깃 리포지토리 명칭이 달라서 발생한 문제인 줄 알았는데, 스프링부트에서는 리포지토리가 데이터베이스와 연관된 거였다. JPA로 디비 연결할 때 쓰는 것 같다. 간단히 정리하면스프링 리포지토리: 데이터베이스 기능을 제공하는 클래스깃 리포지토리: 코드 저장소스프링 리포지토리스프링에서의 리포지토리(Repository)는 일반적으로 데이터베이스와 관련된 CRUD(Create, Read, Update, Delete) 기능을 제공하는 클래스를 말합니다. 스프링 데이터 JPA와 같은 ORM(Object-Relational Mapping) 프레임워크를 사용하면 개발자가 데이터베이..

checking permissions이란Checking permissions 상태에서 멈춘 MySQL 연결은 보통 MySQL 서버에서 사용 권한을 검사하는 동안 발생하며, 대개 네트워크 또는 디스크 I/O 문제로 인해 발생한다고 한다.MySQL-설정: my.cnf -접속: mysql -u root -p USE `DB명`; SHOW CREATE TABLE `테이블명`; -- 테이블 정보해결방법MySQL 버전 업그레이드 (현재 버전: 5.1.54 > 5.2 이상) : MySQL 버전이 오래되면 checking permissions 상태에서 자주 멈추는 경우가 있으므로 최신 버전으로 업그레이드하는 것이 좋음. MySQL 5.1.54버전에서는 해당 상태가 오래걸리는 것이 일반적인 현상이며, 인증 및 권한 부여 ..

버전: mysql 8 os: Mac 두 개의 테이블이 필요해서 각각 생성해주었다. SQL 스크립트 -- 데이터베이스 생성 CREATE DATABASE bestvacation_db; SHOW databases; USE bestvacation_db; -- 멤버 테이블 CREATE TABLE member ( m_key INT(20) NOT NULL AUTO_INCREMENT COMMENT 'pk', m_id VARCHAR(14) NULL COMMENT '아이디', m_password VARCHAR(16) NULL COMMENT '비밀번호', m_join_ymd VARCHAR(8) NULL COMMENT '입사일', m_sign_up_ymd VARCHAR(8) NULL COMMENT '회원가입일', m_year..