자바스크립트 차트 라이브러리 모음
개인적으로는 하이차트와 amcharts등이 가장 괜찮아 보인다.
nvd3
http://nvd3.org/
c3js
http://c3js.org/
구글 차트
https://developers.google.com/chart/
하이차트
http://www.highcharts.com/
chartjs
http://www.chartjs.org/
amcharts
https://www.amcharts.com
개인적으로는 하이차트와 amcharts등이 가장 괜찮아 보인다.
nvd3
http://nvd3.org/
c3js
http://c3js.org/
구글 차트
https://developers.google.com/chart/
하이차트
http://www.highcharts.com/
chartjs
http://www.chartjs.org/
amcharts
https://www.amcharts.com
공식 Repo : https://github.com/abe33/atom-pigments
우리가 css에서 작업을 하거나 <style>
태그 안에서 스타일 작업을 할 경우에 색을 많이 사용한다.
하지만 그게 무슨 색인지 컬러코드만 보고는 알 수가 없다.
그래서 사용하는 패키지 pigments이다. pigments 패키지는 우리에게 색상 코드에 관한 미리보기를 제공한다.
패키지 검색을 통해 설치한다.
따로 실행하는 것은 없고 색상 코드를 입력하면 자동으로 해당하는 색으로 변하게 된다.
공식 Repo : https://github.com/icetee/remote-ftp
텍스트 에디터를 사용하면서 가장 인기 많은 패키지가 아닐까 싶다. 이름 그대로 원격 서버, FTP에 연결하여 파일(아마 대부분 소스코드일 것이다.)
을 쉽게 주고 받을 수 있게 하는 필수
패키지이다. FTP/SFTP 모두 지원한다.
명령어를 이용하는 방법도 있지만, 앞으로 포스팅될 패키지 관련 포스팅에서는 atom 에디터 내부에서 검색을 통해 설치할 것이다.remote-ftp
를 검색하여 설치해보자
설정파일에는 두 가지가 있다. (ftp
, sftp
)
Packages - Remote-FTP - Create FTP config file 또는 Create SFTP config file 을 선택하여
프로젝트에 설정파일을 생성한다.
.ftpconfig라는 파일이 생성되고 다음과 같이 설정한다.
1 | # SFTP |
# (주석)
으로 설명한 부분만 잘 작성해주면 접속에 성공한다.
composer
를 사용하여 라라벨 프로젝트를 설치하는 방법도 있지만
laravel new blog
와 같은 명령어를 사용하여 프로젝트를 생성하는 방법도 있다.
1 | $ composer global require "laravel/installer" |
command not found
일 경우위와 같이 컴포저로 라라벨 인스톨러를 전역설치 한 후에 다시 홈 디렉토리로 온다.
.bashrc
와 같은 파일을 열고
1 | # ~/.bashrc |
또는 명령어를 활용하여
1 | echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc |
그리고 추가된 한 줄을 반영해야 한다.
1 | source ~/.bashrc |
source
명령어를 이용하여 반영해도 되고, 터미널을 종료 후 다시 실행해도 적용된다.
~/.bashrc
가 없다면 ~/.bash_profile
등에 추가하여도 무관하다.
서버에 설치된 데몬마다 로그를 생성하는데, 각 데몬별로 로그 주기를 정할 수 있는 곳이/etc/logrotate.d
이다.
1 | $ cd /etc/logrotate.d |
이중 nginx를 vi 에디터로 열어서 다음과 같이 수정하자.
1 | #/var/log/nginx/*.log { |
테스트
1 | $ logrotate —force /etc/logrotate.d/nginx |
nginx 웹서버를 실행 후 생성되는 로그를 확인해보자.
로그 경로는 nginx 설정에 있다.
해당 월의 모든 날짜를 구하는 것이다.
달력 등에 관련된 것을 사용할 때 유용하다.
1 |
|
예제
1 |
|
mysql
에서 특정 값들을 내 마음대로 정렬하고 싶을 때 다음과 같이 사용한다.
1 | SELECT * |
컴포저 명령어 리스트입니다.
1 | # 라라벨 프로젝트 생성 |
꼼꼼한 재은씨의 Swift3 기본편을 보며 Swift 문법 내용을 정리한 내용입니다.
클래스나 구조체가 어떤 기준을 만족하거나 특수한 목적을 다성하기 위해 구현해야 하는 메소드와 프로퍼티의 목록이다. 자바의 interface
와 비슷한 개념이다. (이렇게 이해하니 쉬운 개념으로 와닿았다.)
각 이벤트를 관리하기 위해 대리자(delegate)를 지정하여 이벤트 처리를 위임하고, 실제 이벤트 발생 시, 지정된 대리자가 콜백 메소드를 호출해주는 델리게이트 패턴(Delegate Pattern)을 많이 사용하는데, 이 때 사용되는 것이 바로 프토콜이다.
기능에 대한 명세가 적혀 있어서 프로토콜 코드를 보면 어떤 기능을 어떻게 구현해야 하는지를 알 수 있다.
프토콜은 부모 클래스는 아니다. 프로토콜은 대상 클래스 전체를 책임지지 않으며, 일부 기능의 형식을 담당한다.
protocol
키워드를 사용한다.
1 | protocol protocolName { |
프로토콜에 선언되는 프로퍼티에는 초기값을 할당할 수 없다. 프로퍼티 종류 또한 구분하지 않는다. 프로퍼티의 종류, 이름, 변수/상수 구분, 타입, 읽기/쓰기 가능 여부를 정의한다.
1 | protocol SomePropertyProtocol { |
1 | protocol SomeMethodProtocol { |
구조체 내 메소드가 프로퍼티를 변경하는 경우, 메소드 앞에 반드시 mutating
키워드를 붙여 이 메소드가 프로퍼티 값을 수정하는 메소드임 을 표시하도록 강제한다. 메소드가 만약 프로토콜에서 선언된 메소드라면 반드시 프로토콜에 mutating 키워드가 추가되어 있어야 한다.
클래스와 같은 참조 타입은 mutating
키워드 없이 자유롭게 메소드 내의 프로퍼티를 수정할 수 있지만, 구조체나 열거형은 프로토콜의 메소드에 mutating
키워드가 추가되어 있지 않을 경우 프로퍼티 값을 변경할 수 없다. 억지로 키워드를 붙인다면 오류가 날 것이다.
보통 mutating
키워드가 붙지 않는 경우는 다음과 같은 경위다.
일반적인 메소드와 비슷하게 초기화하는 것이 가능하다. 실행블록 없이 이름과 매개변수 등을 작성한다.
1 | protocol initProtocol { |
초기화 메소드 작성 시 유의사항은 외부매개변수명까지는 완전히 일치해야 한다는 점이다. 임의로 변경 시 프로토콜을 제대로 구현하지 않은 것으로 간주된다. 그리고 클래스에서 초기화 메소드를 구현할 때는 required
키워드를 붙여야 한다.
required
키워드를 붙여야 한다.또다른 예시를 살펴보겠다.
1 | //initProtocol은 위에서 보았던 프로토콜에서 참조한 것이다. |
때로는 프로토콜이 타입으로서의 역할을 할 때도 있다. 마치 프로토콜을 상위 클래스 타입으로 간주하여 사용하는 것과 유사하다.
1 | protocol Wheel { |
일반적인 경우 Bicycle 클래스는 다음과 같이 초기화된다.
1 | let trans = Bicycle() |
let trans : Wheel = Bicycle()
이 경우는 trans가 사용할 수 있는 프로퍼티와 메소드에 제한이 생긴다.
trans.spin()
trans.hold()
기존에 Wheel이라는 프로토콜에 존재하던 메소드만 사용이 가능하게 된다.