내가 자주 쓰는 vim 설정은 다음과 같다

vi ~/.vimrc

set nu 줄 넘버
syntax on 문법 표시
set ts=4 탭 스페이스
set sw=4 자동 인덴트할 때 너비
set smartindent 
set autoindent 
set hlsearch 검색어 하이라이팅
colorscheme jellybeans

아래 주소에서 다운받아 ~/.vi 폴더에 colors 폴더 만들어 집어 넣으면 됨


'Tech > Linux' 카테고리의 다른 글

MAC에서 zsh, agnoster theme 설치하기  (0) 2016.05.07
MYSQL auto backup shell (CentOS 6.6 기준)  (0) 2015.08.17
iptables log 남기기(CentOS 6.6)  (0) 2015.08.14

1. iTerms 설치

https://www.iterm2.com/


2. zsh를 설치

$ which zsh

/usr/bin/zsh

$ chsh -s /usr/bin/zsh - chsh는 change shell의 약자


3. oh my zsh 설치

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"


4. theme agnoster로 변경

vi ~/.zshrc

ZSH_THEME="agnoster"


5. https://github.com/powerline/fonts 접속해 폰트 설치 - Roboto Mono for Powerline


6. http://ethanschoonover.com/solarized 접속해 테마 받아 압축 풀면 iterm2-colors-solarized 안의 파일 실행


7. Preferences 들어가 해당 화면에서 Text Font와 Colors Presets을 바꿈



'Tech > Linux' 카테고리의 다른 글

내가 자주 쓰는 vim 설정  (0) 2016.05.10
MYSQL auto backup shell (CentOS 6.6 기준)  (0) 2015.08.17
iptables log 남기기(CentOS 6.6)  (0) 2015.08.14

어떤 value에 hashValue를 제공해서 value가 표현하는 값 자체의 동일성을 검증하는데 사용

hash기 때문에 어떤 값을 찾는데 빠르다

Collection의 key로 사용되기 위해서는 hashable해야 한다

'Tech > iOS' 카테고리의 다른 글

스위프트 타입 호환성  (0) 2017.01.11
[Swift] Class와 Struct 중에 뭘 쓸까?  (0) 2016.10.28
@noscape, @autoclosure  (0) 2016.10.24
optional을 쉽게 설명해보자  (0) 2016.05.17
ERD를 편하게 그리려고 MySQL Workbench를 켰는데 관계를 설정하는 도구 중 점선으로 되어 있는 것도 있었고 실선으로 되어 있는 것도 있었다. 설명을 보니 실선은 Identifying Relation, 점선은 Non-Identifying Relation이었다. 이는 다음과 같은 예로 쉽게 설명된다.

책은 소유자에게 속해있다. 소유자는 여러 권의 책을 소유할 수 있다. 그러나 책은 소유자 없이도 존재할 수 있으며 소유자를 바꿀 수도 있다. 책과 소유자의 이러한 관계를 Non-Identifying Relation라고 한다.

책은 저자에 의해 쓰여졌고 저자는 복수 권의 책을 썼을 수 있다. 그러나 책은 저자에 의해 쓰여져야 하며 저자 없이 존재할 수 없다. 그러므로 이 관계는 Identifying Relation이다.

좀 더 구체적인 정의로 가볼까?

부모 테이블의 유니크 키나 기본키로 지정된 칼럼이 자식 테이블의 기본키 컬럼과 연결된 경우 실선으로 표기되고 Identifying Relation라고 한다.

부모 테이블의 유니크 키나 기본키로 지정된 컬럼이 자식 테이블의 일반 컬럼과 연결된 경우 점선으로 표기되고 Non-Identifying Relation라고 한다.

이 책은 인도인이 썼는데 짜임새도 좋고 괜찮다

근데 소스 코드에 오타가 있어 제대로 동작을 안 한다.

github도 있지만 책이랑 좀 다른 소스 모아놓은 느낌 ;

'Tech' 카테고리의 다른 글

4년 차에 다시 읽는 기본서  (0) 2019.03.27
신입 초보 개발자 1년 회고  (1) 2017.02.03
TDD 적용기  (0) 2016.10.06
엄밀히 말하면 이 오류는 gradle 오류다.
A, B라는 저장소에서 소스를 가져다 쓴다고 하자.
만약 A와 B 모두가 C를 라이브러리로 사용하고 있다면 C는 중복될 것이고 위 exception이 발생하게 된다. 

해결책은 A, B 둘 중 하나에서 C를 사용하지 않도록 exclude하는 것이다.
compile ('com.zopim.android:sdk:1.0.0') {
    exclude (module: 'jackson-annotations')
    exclude (module: 'jackson-core')
    exclude (module: 'jackson-databind')
}
이렇게 하면 해결된다.


1. mysqldump 권한 주기
mysqldump를 위해서는 LOCK TABLE 권한이 필요합니다.
GRANT SELECT, LOCK TABLE ON *.* TO ‘user’@‘%’ IDENTIFIED BY ‘password’;

2. shell 파일 만들기
vi /bin/yourBackupShellFileName.sh

내용은 다음과 같습니다
#!/bin/sh
# yourBackupShellFileName.sh
Mdate="$(date +"%Y-%m-%d”)"
mysql -uroot -ppassword database > /home/backup/${Mdate}.sql

shell 파일에 실행 권한을 추가합니다.
chmod +x /bin/yourBackupShellFileName.sh

3. crontab 추가
vi /etc/crontab

매일 23시 59분에 실행되도록 합니다
59 23 * * * root /bin/auto_backup.sh

참조


'Tech > Linux' 카테고리의 다른 글

내가 자주 쓰는 vim 설정  (0) 2016.05.10
MAC에서 zsh, agnoster theme 설치하기  (0) 2016.05.07
iptables log 남기기(CentOS 6.6)  (0) 2015.08.14

앱이 빠르기 위해서는 DB 처리와 네트워크 처리를 main thread가 아닌 다른 thread에서 처리해야 합니다. 더불어 사용자에게 필요한 정보를 앱이 켜져 있지 않을 때 가져오면 더 좋습니다. 사용자가 앱을 킬 때 이미 로컬에 저장되어 있는 데이터를 가져오면 되니까요. 전자는 AsyncTastLoader로 후자는 SyncAdapter로 해결할 수 있습니다. 


AsyncTaskLoader는 무엇이죠?

비동기 처리를 위한 클래스로 API Level 11에 도입되었습니다. SupportPackage에 포함되어 있기 때문에 어떤 Version에서든 이용이 가능합니다. 다음과 같은 특징을 가졌습니다. (안드로이드 디벨로퍼 문서 참조)

1. 모든 Activity와 Fragment에서 사용할 수 있습니다. 장점입니다.
2. 비동기적으로 데이터를 로딩할 수 있습니다.
3. 데이터를 모니터하고 내용이 변경되면 새로운 결과를 전달합니다.
4. 설정 변경 후, 다시 만들어질 때 마지막 로더의 커서에 접속합니다. 그 데이터를 re-query할 필요가 없습니다


AsyncTask랑은 무엇이 다르죠?

쓰기 쉽습니다. 더 구조적으로 깔끔합니다. 


AsyncTaskLoader를 쓰면 구체적으로 뭐가 좋지요?

main thread가 아닌 thread로 데이터를 비동기적으로 로딩할 수 있습니다. DB 긁어오는 모듈이 Activity에서 분리되어 더 깔끔한 구조를 가진 앱을 만들 수 있습니다.


어떤 방식으로 실행되나요?

Activity 혹은 Fragment에서 Loader를 implement합니다. 그리고 Loader Class를 따로 만들어주면 됩니다. 메소드들은 다음과 같은 순서로 실행됩니다.

Fragment﹕ +++ Calling initLoader()! +++
Fragment﹕ +++ Initializing the new Loader... +++
Fragment﹕ +++ onCreateLoader() called! +++
Loader﹕ +++ onStartLoading() called! +++
Loader﹕ +++ The current data is data is null... so force load! +++
Loader﹕ +++ forceLoad() called! +++
Loader﹕ +++ loadInBackground() called! +++
Loader﹕ +++ Delivering results to the LoaderManager for the ListFragment to display! +++
Fragment﹕ +++ onLoadFinished() called! +++
ListLoader﹕ +++ onStopLoading() called! +++


참조 

http://dev.classmethod.jp/smartphone/asynctaskloader/

배경 
tomcat shutdown이 되지 않아서 보니 iptables에서 8005를 닫았기 때문이었다. 이뿐만이 아니라 생각지도 못했던 기능들이 새로운 서버에서 동작하지 않았다. iptables를 통해 어떤 패킷들이 drop되는지 확인하면 이 문제를 더 빨리 해결할 수 있으리라고 생각했다. 

방법 
rsyslog.conf를 엽니다 
 # vi /etc/rsyslog.conf 
다음과 같이 입력합니다 
kern.* /var/log/iptables.log 
rsyslog를 재시작합니다 
# sudo service rsyslog restart 
다음과 같이 규칙을 추가합니다. ACCEPT 정책이라면 드롭 직전 줄에 추가해주시면 됩니다. 
IPTABLES -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " 
--log-level 7 --limit 5/min이란 같은 패킷이 들어왔을 때 향후 5분 간 로깅을 하지 않는다는 것입니다. 

참조 


'Tech > Linux' 카테고리의 다른 글

내가 자주 쓰는 vim 설정  (0) 2016.05.10
MAC에서 zsh, agnoster theme 설치하기  (0) 2016.05.07
MYSQL auto backup shell (CentOS 6.6 기준)  (0) 2015.08.17
들어가며
스타트업을 준비 중인 분들이라면 법인 설립을 고민하고 계실 겁니다. 그동안 법인 설립 절차는 꽤나 까다로운 것으로 인식되어 왔습니다. 그래서 보통 50 ~ 100만원 법무사에 주고 맡기지요. 

근데 그 돈이 스타트업에겐 작은 돈이 아닙니다.재택 법인설립시스템을 이용하면 비교적 적은 돈으로 법인 설립 절차를 마칠 수 있습니다. 법인 설립 과정을 경험하면 법인 관리에 유용할 지식들도 알 수 있는 장점이 있습니다. 그러나 시스템이 좀 불편하고 시간이 2 ~ 3주 가량 소요된다는 문제가 있습니다. 

지금부터 그 절차와 준비 과정을 소개해볼까 합니다. 쉽게 만들었지만 그래도 미리 알면 도움이 되는 부분이 있거든요. 지금부터 준비해야 할 것들과 조심해야 할 것들에 대해 알아보겠습니다. 



전체적인 흐름 
1. 회사설립 신청
정관, 이사회 명단, 주식 발행 등에 대한 내용을 입력합니다. 

2.주금납입보관/잔액(고)증명 
자본금 이상의 잔고가 있는 통장이 있는지 확인하는 과정입니다. 신한은행만 수수료가 없습니다. 

3. 법인등록면허세 신고/납부 
법인등록 시 드는 세금을 신고하고 납부하는 절차입니다. 

4. 법인설립등기 신청 
법인설립등기를 신청합니다. 20,000원을 결제해야 합니다. 

5. 사업자등록 신청 
사업자등록을 신청합니다. 임대차계약서 등이 필요합니다.

6. 4대보험 신고 
근로자를 1인 이상 고용한 사업장은 신고가 필요합니다. 피보험인에 대한 신고도 함께 합니다.  


미리 가입해야 할 곳 
http://www.g4b.go.kr/ (중간에 온라인 법인설립시스템과 동시 가입할 수 있는 선택란이 있습니다.) 
http://www.iros.go.kr/ (인터넷 등기소) 
http://www.startbiz.go.kr/ (온라인 법인설립시스템 사이트)   


준비해야 할 것 
1. 이사진, 감사 모두의 공인인증서 

2. 법인도장

3. 정관 
시스템에서 표준 정관을 제공합니다. 스타트업인 경우 신주인수권과, 주식매입선택권 등을 추가적으로 검토하면 좋을 것 같습니다. 인터넷에 다른 회사들의 정관이 공개되어 있으니 이를 참조하시면 됩니다. 

4. 스캐너 
스캐너와 로컬로 연결된 PC가 반드시 필요합니다. 저장 파일이 아닌 라이브 스캔을 요구하기 때문입니다. 

5. 적당한 버전의 익스플로러가 깔린 윈도우 PC 
익스플로러가 아니면 진행이 안됩니다. 적당한 버전의 익스플로러가 필요합니다. 

6. 임대차계약서 
사업장을 반드시 지정해야 합니다. 사업장 임대인과 맺은 임대차계약서가 필요합니다. 상가 건물일 경우 도면이 필요합니다. 자가를 사업장으로 사용하시는 분들도 있는데 그럴 경우 부모님과 무상임대차계약서를 한 통 쓰시면 됩니다. 

7. 사업계획서 
법인등록세 감면 신청을 하는 경우 등기소에서 사업 목적을 확인하기 위하여 사업계획서를 요구하는 경우가 있습니다. 

8. 개인정보 
각 이사, 감사들의 주소는 주민등록등본과 일치해야 합니다. 주민등록번호, 핸드폰 번호, 이메일 주소 등이 필요합니다. 

9. 통장 
자본금 이상의 잔고가 있는 통장이 필요합니다.   


주의 사항 
1. 감사는 반드시 필요 
감사는 필수로 한 명 필요합니다. 상법 상 10억 미만 법인 설립 시 감사 선임이 필요하지 않지만 이 경우 공증인이 필요합니다. 법무사가 절차에 끼어들 수 없기 때문에 이 시스템을 사용해 법인을 설립하려면 감사를 포함해야 합니다. 

2. 서명 시 모든 멤버가 각자 아이디를 만들어 서명해야 
모든 멤버가 각자 아이디를 만들어 공인인증서로 접속해 서명해야 합니다. 일괄 서명을 하시면 편합니다. 

3. 과정 중 내용 수정 주의 
과정 중에 내용을 수정하면 모든 이사진과 감사가 공인인증서 서명을 해야 하는 일이 발생할 수도 있습니다. 과정 중 내용 수정에 대해서는 신중해야 합니다. 

4. 법인 등록과 사업자 등록은 별개 
법인 등록과 사업자 등록은 주무 부서가 다른 별개의 과정입니다. 따라서 임대차계약서 준비가 좀 늦어지더라도 상관 없습니다. 일단 법인 등록부터 진행하시고 사업자 등록 절차까지만 임대차계약서를 준비하시면 됩니다. 사업자 등록 관련 사항도 나중에 수정할 수 있으니 처음부터 완벽하게 작성하시려 노력할 필요가 없습니다.

5. 법인등록면허세 면세 받기 
수도권 과밀화 지역을 피하거나 벤처 타운 등에 입주하면 법인등록면허세를 면세 받을 수 있습니다. VC로부터 5,000만원 이상의 투자를 유치해 벤처 기업 인증을 받아도 면세가 됩니다. 꼭 잘 알아보셔서 면세 혜택 받으시길 바랍니다. 법인등록면허세는 약 10만원 정도입니다. 

6. 4대보험 
근로자가 없고 대표이사가 무보수라면 가입제외사업장 신고를 하면 됩니다. 마지막 절차가 필수가 아니란 이야기지요. ‘건강보험 사업장 가입제외 확인서’와 ‘이사회 회의록’ 1부를 작성해 법인 설립 후 팩스로 건강보험공단에 보내면 된다고 합니다. 

7. 상담사 연결 상담사들이 훈련이 잘 되어 있고 친절합니다. 혼자 고민하지 마시고 바로바로 전화해서 물어보세요.


+ Recent posts