본문 바로가기

tmux mouse Scroll wheel https://blog.outsider.ne.kr/702 안됨 https://code.i-harness.com/ko-kr/q/a5d3c0'set -g mouse on' 더보기
데드락 이노디비 데드락 패턴 상호거래 데드락트랜잭션 1에서 userId='A'에게 배타적 잠금 상태트랜잭션 2에서 userId='B'에게 배타적 잠금 상태이 상태에서 양쪽으로 배타적 잠금 요청시 발생. 유니크 인덱스 관련트랜잭션 1,2,3이 다음과 같은 insert문 동시 실행insert into tb values(9) 1번이 먼저 배타적 잠금을 가지고 있고, 그렇기에 트랜잭션 2,3번은 공유잠금을 획득하기 위해 대기.1번이 롤백할 경우 가상의 레코드에 공유잠금을 획득, 그러나 없다는걸 알게되고 insert를 위해 2,3번이 동시에 배타적 잠금을 걸려고 시도.하지만 두개의 트랜잭션이 모두 공유잠금 상태이기때문에 아무도 못걸고 데드락 발생.http://kuaaan.tistory.com/100 외래키 잠금a, b .. 더보기
HA 구성 HA, 고 가용성. 서비스 가용율을 95%, 99.9% 보장 등등을 위해 HA를 구성한다고 한다. 로드밸런싱L4, L7 스위치Fault Tolerancefailover http://tansfil.tistory.com/58https://www.lesstif.com/pages/viewpage.action?pageId=46366798https://d2.naver.com/helloworld/284659https://d2.naver.com/helloworld/605418https://12bme.tistory.com/196http://kimstar.kr/blog/wp-content/uploads/2014/11/%EC%84%9C%EB%B2%84%EC%9D%B4%EC%A4%91%ED%99%94.pdf 더보기
DB MySQL을 중심으로(innoDB엔진) 지연된 쓰기일반 적인 사용 DBMS들의 경우 대부분 지연된 쓰기를 지원.Insert, Update, Delete를 버펄이 후 일괄처리한다. 메모리운영체제에 따라 실제 할당되는 메모리 계산이 쉽지 않다.단순히 mysql 설정 파라미터로 할당해둔 메모리양을 항상 할당되었다고 생각하는것이 편하다. 쿼리 실행구조쿼리를 요청하면1. 쿼리 파서가 쿼리 문장을 토큰(msql이 인식하는 최소 단위)으로 분리해 트리 형태의 구조로 만듬2. 전처리기 : 파서트리를 기반으로 구조적 문제가 있는지 확인. 각 토큰을 테이블 이름이나 칼럼이름 내장함수와 같은 개체를 매핑해 각각의 존재여부와 접근권한을 확인.3. 옵티마이저 : 들어온 쿼리문장을 저렴한비용으로 가장 빠르게 처리할 방법을 찾는다.4. 실행 : 옵티마이저에 의해 나온 .. 더보기
[gradle] buildscript dependencies 와 dependencies 의 차이 gradle을 이용하여 의존성 관리 스크립트를 짜면보통 다음과 같은 형태의 스크립트로 구성한다.apply plugin: 'java' repositories { mavenCentral() } dependencies { compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final' testCompile group: 'junit', name: 'junit', version: '4.+' }출처 - gradle.org 문서의 Example 8.1 하지만 종종 위와 같은 형태가 아닌repositories{} 와 dependencies{} 를 buildscript{} 로 감싸는 경우가 있다.import org.apache.commons.c.. 더보기
[JAVA] checked exception & unchecked exception checked Exception & unchecked Exceptionchecked Exception컴파일러 수준에서 인지할 수 있는 예외try{}catch(){} 의 사용을 강제 unchecked ExceptionruntimeException을 상속한 모든 ExceptionRuntime(실행시)에 인지 할 수 있는 예외try{}catch(){}문이 선택적예외 처리의 유의 사항이펙티브 자바에서 제시하는 예외처리의 유의점은 다음과 같다(항목 57 ~ 65)항목. 57 - 예외 상황에서만 예외를 사용하자다음과 같은 코드는 작성하면 안된다try { int i = 0; while(true) range[i++].climb();} catch(ArrayIndexOutOfBoundsException e) { }항목. .. 더보기
[Git GUI 툴] 3. SourceTree 를 이용한 Pull & Merge 3. SourceTree 를 이용한 Pull & Merge Git에는 Fetch와 Pull이 있습니다. 이 둘은 조금다른데 공식[?] 설명은 Fetch는 원격서버의 정보를 가져오지만 merge를 하지 않고, Pull은 정보를 가져와서 merge를 한다 라고 되어 있습니다. 쉽게 말해 Fetch는 원격서버의 정보를 새로고침 하는 것이고 Pull은 원격서버 정보를 로컬에 반영하는 것 입니다. 스샷을 봅시다.지난화 마지막에서 파일 하나를 수정한 후 커밋한 모습입니다. 원격서버는 다른 브랜치를 가리키고 있습니다.우선 변경점을 원격에 푸시하기전에 먼저 페치를 해 봅시다.(중간의 Fetch 아이콘을 누릅시다. 점화살표) 무언가 변화가 생겼습니다. Pull에 1 아이콘이 생기고 Push에도 1 아이콘이 생겼네요(빨간.. 더보기
[Git GUI 툴] 2. SourceTree 를 이용한 Commit & Push 소스트리 사용법 소개 두번째 시간입니다. 간단한건데 매우 오랜만에 올리네요 ㅠㅠ 2. SourceTree 를 이용한 Commit & Push소스트리를 이용해서 커밋과 푸시를 진행하는 방법을 스샷을 보면서 간략하게 소개하겠습니다. 우선 프로젝트에서 파일을 변경후 세이브를 합니다.(예시로 간단하게 파일 하나반 면경하였습니다) 그리고 소스트리를 틀어보면 아래와 같은 화면이 나옵니다. 파란박스에는 커밋되지 않은 변경점이 있다고(영어로 쓰인)부분이 보이시죠?그리고 녹색박스를 보면 정확히 어떤 파일이 바귀었는지 나옵니다. 지금은 파일 하나만 변경하여 하나만 보입니다.(우측엔 상세 변경내역이 표시 됩니다)이전에 깃에 대해 설명할때, 깃은 커밋 직전 staging 이라는 한단계를 더 거친다고 했습니다. 현재는 파일이 .. 더보기
[JAVA] cg 로그 남기기 (링크) http://devday.tistory.com/entry/%EC%9E%90%EB%B0%94-Java%EC%97%90%EC%84%9C-GC-Garbage-Collection-%EB%A1%9C%EA%B7%B8-Log-%EB%82%A8%EA%B8%B0%EA%B8%B0 더보기
[Git GUI 툴] 1. SourceTree 설치 및 깃 저장소(GitHub) 연동 Git GUI 도구인 소스트리에 대한 소개와, 소스트리를 이용해서 깃을 이용하는 방법을 소개합니다.소스트리에 대해서는 사용하는 사람마다 호불호가 많이 갈리지만 전 이쁜[?] GUI로 인해서 좋아하는 편입니다. 소스트리 다운로드 사이트http://www.sourcetreeapp.com/ 소스트리는 위 사이트에서 받아서 설치하시면 됩니다.설치는 정말 받아서 설치하면 끝납니다 1. 깃 저장소 연동하기 (GitHub 이용)깃허브의 깃 저장소와 소스트리를 연동하는 예제를 먼저 진행합니다. 소스트리 설치가 끝났으면 실행을 합니다. 실행시 다음화면이 나오는데 여기서는 Mecurial을 사용하지 않을 것이기에 맨 아래I don't want to Mecurial 을 눌러주세요짚고가기 : Git 과 Mecurial 그리고.. 더보기
[HTML] HTML Attribute와 javascript Property 이전 포스팅인 [HTML] HTML Attribute와 javascript Property 에서 HTML Attribute 와 javascript의 Property에 대해 좀더 제대로 정리를 하기위해 남깁니다. 우선 w3school 에서 얻을 수 있는 HTML Attribute에 대한 설명은 다음과 같습니다. HTML AttributesHTML elements can have attributesAttributes provide additional information about an elementAttributes are always specified in the start tagAttributes come in name/value pairs like: name="value" - attributes(속성.. 더보기
[jQuery] attribute vs property 그리고 .attr() 과 .prop() 현재 jQuery버전은 2.1.0 등이 릴리즈 되고 있는 상황이지만... 한번 정리를 하고 넘어가고자 글을 남깁니다. jQuery 1.6 부터 .prop() 메소드가 추가되었습니다.즉 본래 다른 속성인 attribute와 property를 .attr() 메소드로 가져오던 것을 1.6부터는 구분하기 시작했습니다. 그럼 .attr()과 .prop()는 어떻게 다를까요?.attr()은 attribute 정보를, .prop()는 property 정보를 가져 옵니다.즉 먼저 attribute와 property 의 차이를 알아야 하는데요.명확하게 설명하기가 힘들지만 설며을 하자면 (더 명확한 설명을 아시는분 꼭 이야기 해 주세요) attrubute는 HTML Element 의 속성들을 뜻하며property는 자바스.. 더보기
[spring] 2. 테스트 해당 글에 사용된 토비의 스프링 3의 그림 및 소스 등에 대한 저작권은 이일민 님께 있습니다. 문제가 발생시 해당 글은 언제든지 내려질 수 있습니다.해당 글은 이일민 님의 허락하에 작성되었습니다.덧. 본인의 복습과 정리를 목적으로 작성하였기에 토비의 스프링을 읽지 않으셨다면 잘 안맞는 부분이 있을 수 있습니다. 토비의 스프링 2장은 테스트에 관한 이야기 입니다. 단위테스트한가지의 관심에만 집중할 수 있도록 작성한 작은 단위의 테스트 코드.개발자가 설계하고 만든 코드가 의도한 대로 작동하는지 개발자 스스로 빠르게 확인하기 위해 사용. 포괄적인 테스트전반적인 기능의 동작을 모두 테스트하는 것이라 볼 수 있다.예를 들어 Dao를 테스트 한다면 CRUD기능들과 예외발생 부분 등을 모두 검증 하는 것이다. 1장에.. 더보기
[TDD] Selenium WebDriver를 이용한 테스트(링크) Selenium WebDriver에 관련된 정리 글들 셀레니움 - http://docs.seleniumhq.org/ 솔웅님의 셀레니움관련 글 - http://coronasdk.tistory.com/727 셀레니움을 이용한 웹 어플리케이션 테스트 프로세스 - http://www.nextree.co.kr/selenium%EC%9D%84-%ED%99%9C%EC%9A%A9%ED%95%9C-%EC%9B%B9%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EC%8B%9C%ED%97%98/ [구루비] 셀레니움을 이용한 UI 테스트 - http://wiki.gurubee.net/pages/viewpage.action?pageId=6259762 더보기
[GIT] 각 Merge에 대한 설명(링크) 쭈욱 읽어보니 소스트리등의 Git GUI툴이나이클립스, 인텔리j의 Git 플러그인에서의 머지는 Commit Merge를 기본으로 하고 있다.Fast-Froward Merge를 위해선 따로 체크를 해주어야 한다. Git의 Merge 정책을 세울때 참고하면 꽤 좋은글. http://dogfeet.github.io/articles/2011/git-merge.html 더보기