본문 바로가기

전체 글683

php 하위 버전에 맞는 xdebug 사용 xdebug 컴파일 사용환경 linux mint 19.2 php 5.5.17 특정버전의 php에 호환성을 맞추려면 아래 사이트에서 사용중인 php에 맞는 버전을 다운로드 받아는다. https://xdebug.org/download 만약 php 5.5.17을 사용한다면 위 페이지로 이동해 ctrl+f를 누르고 5.5를 검색한다. Xdebug 2.5.5 Release date: 2017-06-21 source (SHA256: 72108bf2bc514ee7198e10466a0fedcac3df9bbc5bd26ce2ec2dafab990bf1a4) Windows binaries: PHP 5.5 VC11 (64 bit) (SHA256: 44e5f00131f94e7e057b421f7a987e3feb6cdd612a0b2.. 2019. 11. 16.
php 5 컴파일 # php 5.5.17 설치(이전 버전 php 컴파일하여 설치하기) xe로 운영중인 서비스를 개선할 일이 있어 php 5.5.17을 컴파일하고 설치하게 됨. ## 사용환경 linux mint 19.2(ubuntu 18.04 기반) ## 컴파일에 필요한 툴 설치 ``` # apt-get update # apt-get install build-essential gcc make cmake libssl-dev libxml2-dev libpng-dev libjpeg-dev libcurl4-openssl-dev libbz2-dev libncurses5 libncurses5-dev libaio1 libmcrypt-dev ``` > 프롬프트가 #이면 root계정입니다. ## 소스코드 다운로드 php 공식사이트에서 필요.. 2019. 11. 16.
컴퓨터의 구조 및 프로그램 실행 과정 컴퓨터의 구조 및 프로그램 실행 과정 CPU Main Memory Hard Disk 두뇌에 해당하는 중앙처리장치(CPU) 중앙처리장치가 처리할 프로그램과 데이터를 임시로 저장하는 주기억장치(Main Memory) 프로그램과 데이터 등을 반영구적으로 저장할 수 있는 하드디스크 키보드, 모니터, 프린터 등의 주변장치로 구성 CPU ALU(Arithmetic and Logic Unit) 덧셈, 뺄셈과 같은 산술연산과 논리합, 논리곱과 같은 논리연산을 수행하는 ALU(Arithmetic and Logic Unit) 레지스터로부터 데이터를 가져와서 연산하고 그 결과 값 역시 다시 레지스터에 저장 레지스터(register) ALU가 연산을 수행할 때 그 대상이 되는 데이터를 임시로 저장하는 CPU내의 저장 공 간인.. 2019. 10. 28.
자바 메모리 구조 자바 메모리 구조 자바의 메모리 관리는 확장 가능한 방식의 응용 프로그램을 조정하기 위해 필요한 기술이다. JVM JVM은 컴퓨터가 자바 프로그램을 실행할 수 있도록하는 추상 컴퓨팅 시스템이다. JVM은 코드를 로드, 검사, 실행하고 런타임 환경을 제공한다. 이런 특징으로 자바 프로그램은 오류가 발행해도 JVM만 다운될 뿐 전체 시스템에 데미지를 주지 않는다. 플랫폼에 의존적이지 않아 모든 자바 프로그램의 구동이 가능하다. 동적할당을 프로그래머가 담당하는 C언어와 달리 JVM에서 관리한다. 구조 자바 실행 과정 1.실행 될 클래스를 메모리에 로드 후 초기화 작업을 수행 2. 메소드와 클래스 변수들을 해당 메모리 영역에 배치 3. 클래스 로드가 끝난 후 JVM은 main 메소드를 찾아 지역변수, 객체변수,.. 2019. 10. 17.
엘리멘트리 OS 5.0 Juno 설치하기 엘리멘트리 OS 5.0 Juno 설치하기 개요 맥과 비슷한 디자인을 추구하는 리눅스로 '엘리멘트리 OS'가 있습니다. 지금 사용하고 있는 '민트 19.2'보다 무겁다고 하는데, 일단 사용해 보려구 합니다. OS 설치는 문제없이 되었는데 (1)업데이트나 그래픽 드라이버 설치과정에 자꾸 시스템이 멈추는 문제가 발생했고, (2)지역을 한국으로 하면 한글 입력이 잘 되는데 영문으로 하면 한글입력이 되지 않는 문제가 발생했습니다. 해결 방법을 찾아 설치를 마치고, 설치 방법을 정리합니다. 주의. 초보자의 경우 리눅스 자체를 권하지 않습니다. 대부분 후회하고 윈도우를 다시 설치하게 됩니다. 설치내용 elementary OS 5.0 Juno 1.48 GB | 64-bit 설치 영문으로 설치하고 한글입력기는 nimf를.. 2019. 10. 15.
관계 대수의 기본 연산자 관계 대수 기본 연산자 단항 연산자(unary operator) 셀렉트 프로젝트 리네임 이항 연산자(binary operator) 합집합 차집합 카티션 프로덕트 이름 소문자 시그마 σ (대문자는 Σ) 파이 π 로 ρ 세타 θ 단항 연산자 셀렉트 릴레이션에서 조건을 만족하는 레코드를 선택하는 것으로 시그마 기호로 표시한다. σ조건(R) σ번지=231(회원) 프로젝트 연산자 한 릴레이션의 여러 속성 중 특정 속성만 선택하는 것으로 파이 기호로 표시한다. 수학적인 관점에서 릴레이션은 집합이므로 프로젝트된 릴레이션에서 중복되는 레코드는 제거된다. πA1,A2,...,An(R) π주소,전화번호,소속(회원) 리네임 연산자 관계 대수식에서 결과로 생성된 릴레이션은 이름이 없어, 참조할 수 있는 이름을 부여해야 한다... 2019. 6. 2.
우분투에서 런처 만들기 우분투에서 런처 만들기 우분투에서 패키지 관리자에서 설치하지 않고, 다운로드 받아 사용하려면 터미널에서 실행하거나 런처를 만들어 이클립스를 실행한다. 작업환경 우분투 18.04 요구사항 vim 또는 텍스트 에디터 이클립스 다운로드 후 압축해제 이클립스 실행파일의 위치와 아이콘의 위치 확인 런처(launcher) 만들기 쉘을 실행(Ctrl+Alt+T) $ sudo vim /usr/share/applications/eclipse.desktop 아래 내용을 참고해 작성합니다. #!/usr/bin/env xdg-open [Desktop Entry] Version=2019-03 # 이클립스의 버전 Type=Application Terminal=false Exec=/home/shin/Downloads/eclipse.. 2019. 5. 31.
멀티 스레드 멀티 스레드(작성중) 스레드란 그동안 작성한 프로그램을 모두 하나의 스레드로 이루어진 프로세스이다. 프로세스 멀티 태스킹 동시 실행 - 시분할 기법과 같은 다양한 기법을 이용하여 '동시 실행'하는 것과 같은 효과 스레드(Thread) - 프로세스 내의 작은 실행 단위 메인 스레드 Thread 클래스 상수 static int MAX_PRIORITY static int MIN_PROIRITY static int NORM_PRORITY 생성자 Thread() Thread(String name) Thread(Runnable target) Thread(Runnable target, String name) Thread(ThreadGroup group, Runnable target, String nam.. 2019. 5. 30.
String, StringBuffer, StringBuilder 중에 어떤 것을 사용해야 하나 String, StringBuffer, StringBuilder 중에 어떤 것을 사용해야 하나 String 클래스 String 변수를 초기화할 때 리터럴로 초기화된 문자열 객체는 스택 영역에 저장되고, 생성자를 통해 초기화하면 힙 영역에 저장된다. String s1 = "java"; // 스택 String s2 = new String("java"); // 힙 영역 String 클래스의 객체는 생성된 이후 변경이 불가능한 immutable 클래스여서 문자열의 내용을 변경하는 메소드를 제공하지 않는다. String 클래스는 기본 자료형처럼 사용할 수 있다. String s1 = "java"; // 스택에 문자열 객체를 생성 리터럴로 다른 String형 변수를 사용하는 경우 하나의 리터럴이 공유된다. 리터럴을.. 2019. 5. 29.