전체 글 43

23. PHP - date_diff(날짜 차이 계산), D-day계산

오늘은 php에서 날짜 차이를 계산하는 법에 대해 알아보려 한다. date_diff($datetime1, $datetime2); $datetime1, $datetime2의 날짜 차이를 구할 수 있다. 예를 통해 알아보자 첫 번째 예시 $datetime1 = date_create('2016-01-01'); $datetime2 = date_create('2016-05-30'); $interval = date_diff($datetime1, $datetime2); DateInterval Object ( [y] => 0 [m] => 4 [d] => 28 [h] => 0 [i] => 0 [s] => 0 [f] => 0 [weekday] => 0 [weekday_behavior] => 0 [first_last_day..

Cs 2022.05.17

22. CSS - Transition/ Animation (애니메이션 효과)

오늘은 CSS transition에 대해 알아보고자 한다. dropdown box를 만들고자 했고 처음에는 display none/block으로 표현을 하였으나 조금 더 자연스러운 느낌을 주기 위해서 CSS 애니메이션 효과를 찾아보았다. css의 Transition이라는 옵션이 있었다. 효과는 선언한 값이 변화할 때 걸리는 시간과 효과를 볼 수 있었다. See the Pen Untitled by seonghun (@seonghuns) on CodePen. 속성을 주는 방법에는 css transition 값에 속성, 시간, 옵션 으로 조절을 하면 된다. .panel{ transition-property: width; // 전환값 transition-duration: 2s; // 전환 하는데 걸리는 시간 t..

Cs 2022.05.17

21. PYTHON Instagram Crawling with Selenium(셀레니움으로 인스타 크롤링하기), Colab

오늘은 인스타 크롤링을 해볼려한다. 코드는 구글 코랩에서 작성하였다. https://colab.research.google.com/notebooks/welcome.ipynb?hl=ko Welcome To Colaboratory Run, share, and edit Python notebooks colab.research.google.com 사용한 라이브러리는 Selenium, time, By, BeautifulSoup을 사용하였다. !pip install selenium !apt-get update !apt install chromium-chromedriver !cp /usr/lib/chromium-browser/chromedriver /usr/bin 코랩에 기본 라이브러리등은 있지만 필요한 라이브러리등..

Cs 2022.05.11

20. INNODB vs MYISAM

MySQL의 스토리지 엔진으로 가장 많이 사용하는 엔진으로는 InnoDB와 MyISAM이 있다. MyISAM - MySQL 5.5 이하의 버전에서 기본 스토리지 엔진이다. - 블로그라던지, 게시판처럼 한 사람이 글을 쓰면 다른 많은 사람들이 글을 읽는 방식에 최적의 성능을 낼 수 있다. - MyISAM은 테이블과 인덱스를 각각 분리된 파일로 관리한다. - MyISAM의 최대 단점 트랙잭션을 지원하지 않는 것이다. * 트랜잭션이란? 트랜잭션 도구 START TRANSACTION : COMMIT, ROLLBACK이 나올 때까지 실행되는 모든 SQL추적 COMMIT : 모든 코드를 실행(문제가 없을 경우에) ROLLBACK : START TRANSACTION 실행 전 상태로 되돌림( 문제가 생기면 ) MyIS..

Cs 2022.05.10

19. php: The Right Way - S.O.L.I.D

해당 글은 PHP : The Right Way 를 참고하였다. 1. SRP - 단일 책임원칙 - '클래스는 한가지의 이류로만 변경되어야 한다.'라는 내용. 이는 모든 클래스가 한가지의 기능만 가져야 한다는 것을 의미한다. 이 접근법의 가장 큰 이점은 코드 재사용성을 향상 시킬수 있다는 점이다. 클래스를 한가지만 기능하도록 설계함으로써, 다른 어떤 프로그램에서도 이 클래스를 사용할 수 있다. 2. OCP - 개방/폐쇄(Open/Closed)의 원칙 - ' 소프트웨어(클래스, 모듈, 함수 등)는 확장을 위해 열려 있어야 하지만 수정을 위해 닫혀 있어야 한다.' 예를 통해 알아보자. class Dog{ public function bark(): String { return '왈왈'; } } class Duck..

Cs 2022.05.10

18.리눅스(Linux) 쉘 스크립트(Shell Script) - DB 백업 스크립트 - 파일 외부 복사/전송(rsync) - SCP대체 Rsync

DB백업 스크립트를 할때나 쉘 스크립트를 짤때나 파일을 외부에 복사를 하거나 전송을 할 일이 필요하다. DB백업은 2차 백업을 위해 파일을 전송하여야 하고 스크립트를 만들때도 파일 전송이 필요할 때가 있다. 파일전송에는 scp, rsync, sftp 등이 있으나 나는 rsync에 대해 알아보려 한다. scp를 사용하려 했으나 scp OpenSSH 측에서는 scp의 알고리즘 혹은 프로토콜 자체가 rcp 시대의 오래전에 작성된 내용으로 수정이나 개선이 어렵다는 이유로 deprected를 한다 하여 Rsync를 사용하고자 한다. 자세한사항은 SCP지원중단 에서 확인하기 바란다. Rsync 메뉴얼 rsync(1) manpage Tell the sending side to include any directorie..

Cs 2022.04.28

17. 리눅스(Linux) 쉘 스크립트(Shell Script) - DB 백업 스크립트 - Mysql_config_editor

DB 백업 스크립트를 작성할 때 스크립트에 패스워드를 직접 입력하는 건 위험하다. 누군가 쉘 스크립트에 접근을 한다면 db의 정보가 유출되기 때문이다. 이에 mysql에서는 5.6 버전이후부터 로그인 정보를 난독화 시켜줄 수 있는 유틸리티를 제공한다. [client] user = mydefaultname password = mydefaultpass host = 127.0.0.1 [mypath] user = myothername password = myotherpass host = localhost 로그인 정보를 등록하기 위해서는 mysql_config_editor set을 이용하여 등록한다. $> mysql_config_editor set --login-path=client --host=localhost..

Cs 2022.04.28

16. 리눅스(Linux) 쉘 스크립트(Shell Script) - DB 백업 스크립트-Mysqldump

쉘 스크립트에서의 유의사항 java나 php 등 다른 언어에서는 변수를 사용하기 위해서는 변수 타입을 선언하거나, $를 붙여 줘야 한다. 하지만 쉘 스크립트에서는 1. 변수를 선언할 때 변수명만 적어주면 된다. 단 이름에 숫자는 포함될 수 있지만 숫자로 시작될 수 없다. ex) name="itseong"(0) , name1(0), 1name(x) 2. 변수는 대, 소문자를 구별한다. 3. 변수에는 모든 값이 문자열로 저장된다. 4. 값을 사용할 때는 변수명 앞에 특수문자'$'를 붙여 사용한다. ex) $name, ${name} *{}의 차이는 문자열을 붙여서 쓸려면 {}이 필요하다. 5. 값을 대입할 때는 특수문자를 '$'를 사용하지 않는다. ex) name=1234, name='itseong' 6. 등..

Cs 2022.04.27

15. 리눅스(Linux) 쉘의 종류와 쉘 스크립트(Shell Script)(1)

쉘이란 무엇인가? 1. 쉘은 커널과 사용자 사이를 이어주는 역할을 한다. 2. 쉘은 하나의 명령어 처리기이다. 3. 사용자로부터 명령어를 입력받아서 해당 명령어를 처리한다. - 윈도의 CMD, PowerShell 도 쉘의 종류 중 하나이다. 리눅스에서 쉘의 종류는 무엇이 있는가? 1. Bourne Shell( sh ) - 본 쉘은 유닉스 버전 7의 기본 유닉스 셀이었다. 스티븐 본(Stephen Bourne)이 개발했고 1977년에 처음으로 유닉스 버전 7에 포함되었다. 대부분의 리눅스에 기본적으로 설치되어있다. 설치 위치는 '/bin/sh'이다. 2. C Shell( csh ) - C 쉘은 1978년 버클리 대학의 빌 조이가 개발하였다. 이름에서 유추할 수 있듯 C 언어를 기반으로 만들어졌다. 강력한 ..

Cs 2022.04.26

14. javascript Closure(클로저)

javascript 는 어휘적 환경(Lexical Environment) 가진다. javascript 는 실행되기 전 코드를 전체적으로 읽는다. // *1 let one; //*2 one = 1; //*3 function addone(num){ console.log(one + num); } addOne(5); //*4 위의 코드의 *1 의 위치에서의 Lexical 환경은 one, 함수 addOne 이 있다. one은 호이 스팅은 되었지만 초기화가 되지 않아 사용할 수 없다. let one이나 const one으로 호출이 되어야 사용가능하다. 함수인 addOne 은 *1에서 사용이 가능하다. 일반 함수 식은 호이 스팅이 되어 어느 위치에 있든 스코프 최상단에서 호출한 것과 동일한 효력을 가진다. *2 위치..

Cs 2022.04.25