특정 단어를 focusing 한 후에 3 fingers touch를 수행
트랙패드에서 두 손가락으로 드래그하는 동안 Control(^) 키를 눌러 확대하십시오.
트랙패드에서 두 손가락으로 아래로 드래그하는 동안 Control 키를 눌러 축소하십시오.
Command + L
How to Use Multi Desktop
http://zosolution.com/166
http://zosolution.com/191
Ctrl + Command + F
Ctrl + Option + Esc
defaults write com.apple.finder AppleShowAllFiles -bool true
killall Finder
clip board (copy history)
hot key
advanced terminal program (with another setting)
anaconda
android-file-transfer
android-studio
atom
bettertouchtool
boostnote
calibre
clipy
coconutbattery
discord
dropbox
firefox
google-chrome
hyper
iterm2
karabiner-elements
keka
keyboard-maestro
libreoffice
mactex
mamp
microsoft-remote-desktop-beta
nvalt
owncloud
skim
skype
speedcrunch
upterm
vagrant
vlc
set nocompatible " 오리지날 VI와 호환하지 않음
set autoindent " 자동 들여쓰기
set cindent " C 프로그래밍용 자동 들여쓰기
set smartindent " 스마트한 들여쓰기
set wrap
set nowrapscan " 검색할 때 문서의 끝에서 처음으로 안돌아감
set nobackup " 백업 파일을 안만듬
set visualbell " 키를 잘못눌렀을 때 화면 프레시
set ruler " 화면 우측 하단에 현재 커서의 위치(줄,칸) 표시
set shiftwidth=4 " 자동 들여쓰기 4칸
set number " 행번호 표시, set nu 도 가능
set fencs=ucs-bom,utf-8,euc-kr.latin1 " 한글 파일은 euc-kr로, 유니코드는 유니코드로
set fileencoding=utf-8 " 파일저장인코딩
set tenc=utf-8 " 터미널 인코딩
set expandtab " 탭대신 스페이스
set hlsearch " 검색어 강조, set hls 도 가능
set ignorecase " 검색시 대소문자 무시, set ic 도 가능
set tabstop=4 " 탭을 4칸으로
set lbr
set incsearch " 키워드 입력시 점진적 검색
syntax on " 구문강조 사용
filetype indent on " 파일 종류에 따른 구문강조
set background=dark " 하이라이팅 lihgt / dark
colorscheme desert " vi 색상 테마 설정
set backspace=eol,start,indent " 줄의 끝, 시작, 들여쓰기에서 백스페이스시 이전줄로
set history=1000 " vi 편집기록 기억갯수 .viminfo에 기록
" When editing a file, always jump to the last cursor position
autocmd BufReadPost *
\ if ! exists("g:leave_my_cursor_position_alone") |
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
\ exe "normal g'\"" |
\ endif |
\ endif
iOS와 OS X에서 사용하기 위한 Swift 기반의 네트워킹 라이브러리입니다.
NSURLSession 이나 NSURLConnection 에 대한 이해가 있으면 좋다.
해당 기본 라이브러리를 Wrapping한 상위 라이브러리이다.
CocoaPods는 필수적으로 설치가 되어 있어야 한다.
CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects.
It has over 23 thousand libraries and is used in over 1.2 million apps.
CocoaPods can help you scale your projects elegantly.
$ cd AlamofireApp/
$ git submodule add https://github.com/Alamofire/Alamofire.git
Cloning into 'Alamofire'...
remote: Counting objects: 3449, done.
remote: Total 3449 (delta 0), reused 0 (delta 0), pack-reused 3449
Receiving objects: 100% (3449/3449), 1.30 MiB | 31.00 KiB/s, done.
Resolving deltas: 100% (2124/2124), done.
Checking connectivity... done.
sudo gem install cocoaPods
pod setup
pod init
생성된 Pod File 수정
pod install
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end
end
pod install
workspace open
LATER, LATER 선택 (swift Version 2.3 -> 3.0 호환 관련)
(in Alamofire Build Option) Use Legacy Swift Laguage Version -> NO 선택
# Pods for FizzBuzz
pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git'
[Error Message]
Error Domain=NSURLErrorDomain Code=-999 "cancelled"
UserInfo=0x78fc41e0 {
NSErrorFailingURLKey=myURL,
NSErrorFailingURLStringKey=myURL,
NSLocalizedDescription=cancelled
}
응답이 오기 전에 호출한 sessionManager객체의 instanc가 사라지는 현상. 별도의 HttpClient를 클래스를 생성한다. (약식 HttpClient입니다.)
import Foundation
import Alamofire
class HttpClient {
static let sharedInstance = HttpClient()
private var manager : SessionManager?
func getInstance()->SessionManager{
if let m = self.manager{
return m
}else{
var defaultHeaders = SessionManager.defaultHTTPHeaders
defaultHeaders["X-Naver-Client-Id"] = "value"
defaultHeaders["X-Naver-Client-Secret"] = "value"
let configuration = URLSessionConfiguration.default
configuration.httpAdditionalHeaders = defaultHeaders
configuration.timeoutIntervalForRequest = 40
configuration.timeoutIntervalForResource = 40
let tempmanager = Alamofire.SessionManager(configuration: configuration)
self.manager = tempmanager
return self.manager!
}
}
}
func testExample() {
let ex = expectation(description: "Expecting a JSON data not nil")
Alamofire.request("https://httpbin.org/get").responseJSON { response in
print(response.request) // original URL request
print(response.response) // HTTP URL response
debugPrint(response.data) // server data
debugPrint(response.result) // result of response serialization
ex.fulfill()
if let JSON = response.result.value {
debugPrint("JSON: \(JSON)")
}
}
waitForExpectations(timeout: 10) { (error) in
if let error = error {
XCTFail("error: \(error)")
}
}
}
JVM 옵션인 spring.profiles.active 의 정보를 {phase}에 대입하여 파일을 구성한다.
ex. application-local.properties
logging.level.org.springframework=DEBUG
@Component
public class ApplicationConstants {
@Value("${logging.level.org.springframework}")
private String loggingLevel;
public String getLoggingLevel() {
return loggingLevel;
}
}
이 부분은 조금더 확인이 필요하다.
ex. fixtures.yml
fixtures:
articles:
-
id: 1
title: title1
content: content1
@Component
@EnableConfigurationProperties
@ConfigurationProperties(locations = {"fixtures.yml"}, prefix = "fixtures")
public class FixturesProperty {
@NestedConfigurationProperty
private List<Map> articles = new ArrayList<>();
public List<Map> getArticles() {
return articles;
}
}
Reference Official Document JDM’s Blog - SpringBoot Profile
### Add VMOptions Parameter
-Dspring.profiles.active=local
[mysql]$ cat /etc/redhat-release
entOS Linux release 7.3.1611 (Core)
[mysql]$ mysql -V
mysql Ver 15.1 Distrib 10.1.23-MariaDB, for Linux (x86_64) using readline 5.1
vi /etc/yum.repos.d/CentOS-MariaDB.repo
MariaDB 10.1 CentOS repository list - created 2017-05-02 14:41 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
yum install MariaDB-server MariaDB-client -y
cp -r /usr/share/mysql/my-small.cnf /etc/my.cnf
[mysqld]
port=40006
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[mysqld]
transation-isolation = READ-UNCOMMITTED
transation-isolation = READ-COMMITTED
검색 결과는 대부분 --skip-name-resolve 옵션에 대하여 언급했습니다.
MySQL(Mariadb)은 새로운 커넥션 요청이 있을 때 인증을 위해 클라이언트의 IP 주소를 통하여
hostname이 host_cache 테이블에 있는지 확인합니다.
만약 없거나 인증 flag가 false라면 IP 주소로 hostname을 알아내는 과정을 거치게 됩니다.
이때 오류가 발생하거나 시간이 오래 소요되어 너무 많은 클라이언트가 연결에 성공하지 못하면 해당 호스트의 추가 연결을 차단하게 됩니다.
MySQL 공식 문서에 따르면 DNS가 느리거나 많은 호스트들을 가지고 있다면 --skip-name-resolve 옵션을
my.cnf 파일에 추가하여 위와 같은 과정을 무시(disable DNS lookup) 할 수 있다고 합니다. (인증 관련 문제가 생길 수 있기 때문에 사전에 확인하시기 바랍니다.)
추가방법
[mysqld]
skip-name-resolve
[irteam@simons-app901 etc]$ systemctl stop mariadb
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: irteam
Password:
==== AUTHENTICATION COMPLETE ===
[irteam@simons-app901 etc]$ systemctl start mariadb
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: irteam
Password:
==== AUTHENTICATION COMPLETE ===
sudo mysqladmin password
[etc]$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.1.23-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]> create database simpledb;
Query OK, 1 row affected (0.00 sec)
MariaDB [mysql]> create user 'simongs'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> create user 'simongs'@'%' identified by 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> grant all privileges on simpledb.* to 'simongs'@'%';
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> grant all privileges on simpledb.* to 'simongs'@'localhost';
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> grant all privileges on *.* to 'root'@'%' identified by 'ROOT PASSWORD';
Query OK, 0 rows affected (0.00 sec)
[ ~]$ netstat -anp | grep 3306
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN -