본문 바로가기

Team Thoth

[개발환경설정] 윈도우즈 환경에 Git 설치하기 Git 설치다운로드다음 링크에서 윈도우즈 인스톨러를 다운로드합니다.https://git-scm.com/downloads git.exe 파일을 실행해 설치를 시작합니다. 라이선스 확인라이선스 확인 후 [Next] 버튼을 클릭합니다.설치할 컴포넌트 선택중요한 항목은 이미 선택되어 있으니 [Next] 버튼 클릭합니다. 기본 편집기 선택git에서 사용할 기본 편집기 선택, 가장 편한 에디터 선택 후 [Next] 버튼 클릭 PATH 환경설정Git 명령을 실행할 환경을 선택 아래 설명을 참고해 선택 후 [Next] 버튼 클릭(윈도우즈 명령 프롬프트에서도 Git 명령어 실행이 필요한 경우 2번째 옵션 선택) Use Git from Git Bash only: Git Bash(Git에서 제공하는 명령어 입력 및 실행 프.. 더보기
[디자인(설계)] 팩토리 메소드 패턴과 Class 타입을 활용 객체 생성 시 참조 관계 제거 데브맥스 프레임워크를 개발하고 있습니다. 데브맥스에서 사용하는 기술을 틈틈히 정리 및 공유하려 합니다.(데브맥스 프레임워크에 대한 소개는 다음에 진행하겠습니다.) 이번 글에서는 팩토리 메소드 패턴(부모 클래스에 알려지지 않은 구체 클래스를 생성하는 패턴)과 클래스 타입을 활용해, 여러가지 객체 생성 시 참조 관계를 제거하는 방법을 소개합니다. 배경1) 메인UI에서 여러가지 서브UI를 동적으로 생성하고 싶다.2) 메인UI 소스에서 서버UI 소스 참조시 서브UI가 많아질 수록 메인UI 소스가 복잡해 진다. 과제메인UI에서 서브UI Id로 서브UI 객체를 생성할 수 있어야 한다.메인UI 소스에서 서브UI 소스를 직접 참조하지 않아야 한다.서브UI가 늘어나도 메인UI 소스는 변경되지 않아야 한다. 방안팩토리 메.. 더보기
Github 메인화면(README.md) 꾸미기 Github를 통해 소스관리를 하는데요. 이왕이면 첫화면에 설명도 넣고 하면 방문자들에게 도움이 됩니다.(물론 첫화면 꾸미는 것 보다 안의 오픈소스의 내용이 더 중요합니다.) README.md 파일은 마크다운(Markdown) 문법을 이용합니다. 위키등에서 사용하는 문법인데 익혀놓으면 다양하게 사용할 수 있습니다. README.md 파일은 메인 디렉토리 외에 어떤 서브디렉토리에도 파일을 생성하면 Github 페이지에 출력됩니다. 마크다운 문법을 설명하는 내용의 링크를 소개합니다.Github에서 제공하는 마크다운 설명문서(영문: 3분 짜리)마크다운 문법 가이드 - scriptogr.am마크다운 문법 - Daring Fireball(영문) 더보기
[작업일지] 느슨하지만 괜찮아~ 작업 중단한지 어언 한달이 다되어 간다. ㅠㅜ 본래 마냥 쉬면 불안하기 마련인데이번은 다르다... 요즘 읽는 사이먼 사이넥의 "나는 왜 이일을 하는가?"의 영향이 큰 것 같다. 요즘 나에게 왜?라는 질문을 많이 한다.그리고 답을 찾으려 이런 저런 고민을 한다. 하지만 대부분 기존에 생각했던 것들이 다시 답으로 나오는 걸 보니내가 우리가 고민하고 생각했던 것들이 헛된게 아니라는 확신이 든다. 아무쪼록 생각이 정리되고 난 후 다시 작업을 시작 할 수 있을 것 같다. 아자아자재밌는 일 가치있는 일을 마음껏 하고, 행복해 지자~ 끝~ 더보기
[작업일지] 문자입력은 보류 중. 2월 20일 발표가 잡혔다. 그래서 발표준비를 해야한다. ㅠㅜ(살짝쿵 홍보 RT:FM 프로그래머로 사는 법 http://onoffmix.com/event/12062) 난 천상 개발자인가보다 발표보다 개발이 더 좋으니... 문자입력을 어떻게 처리할까 고민하고 참고소스도 들여다 보는데...음... 예상대로 많이 어렵다. 에디터를 만든다는 것 만만치 않다. 우선 클릭하고 입력하고 선택, 이동만 되게 하고다음 더블클릭해서 수정되게 하고다음 여러줄 입력 할 수 있게 하고나중에 글자별 스타일 적용 시키고~ 후후 쉽게 가야지~ IME처리가 문제예요~ 영어만하면 입력받아서 문자 그려주면 될 것 같구먼... 아무튼 문자입력은 잠정 보류 입니다. PS - 미래를 준비하기 위해 딴일도 해야하는뎅 ㅠㅜ 동시에 몇개씩 일을 하.. 더보기
[작업일지] 그루핑 완료(alpha 0.4) 그루핑에 대한 작업이 일단락 됐다. 겹치면 그룹화 되는 좀 일반적(파워포인트 등에서는 그룹 메뉴가 있다.)이지 않은 방식이지만 편한 것 같아서 시도해 봤다. 초반에 방향을 잘못잡아 반정도 작업한 것을 완전히 갈아 엎었지만 오히려 갈아 엎으며 코드도 짧고 깨끗해 지고 내가 모든 것을 구현하지 않고 프레임워크(파이어몽키)의 메소드들을 이용했다. (DoAddObject, DoRemoveObject) 그리고 Unittest의 도움을 대단히 많이 봤다.(해보니 좋다 TDD) 아직은 어설프지만 리펙토링 및 대규모 코드 갈아 엎기 할때 놓치지 않아서 마음이 편하다. 어쨌든 그루핑을 끝내서 0.4 버전이 완료가 됐고 마음같아서는 다음버전 기능인 문자입력을 들어가고 싶지만 더 큰것을 준비해야 하기에 잠시 멈춰야 겠다. .. 더보기
[작업일지] 그루핑 처리 토트캔버스 작업하며 느끼고 배우는 것들을 기록해야 겠다는 생각에 작업일지를 쓴다.나중에 어떤 생각을 하며 작업했는지 되돌아 보면 재미있을 것 같다. 오늘은 아이템 그루핑 작업을 했다.그루핑 작업에 대한 테스트케이스만 45개나 된다.하지만 Zoom과 Rotate기능이 들어가면 또 생기겠지...하하 이제 3가지 항목만 처리하면된다.TopLeft로 크기 조정 시 예외중간크기 아이템을 큰아이템 위의 작은아이템이 덮을때 중간아이템에 작은 아이템을 추가하는게 맞을까? 하는 사용성원의 경우 원의 영역에 아이템이 포함되는지 체크 얼른 그룹핑 끝나고 5단계로 넘어가고 싶다~ 더보기
Github for Windows 소개 Github for Windows우연히 Github 홈페이지를 서성이다. 새로운 물건이 보이네요.그 물건은 바로 "Github for Windows"입니다.Mac 환경에서 Github for mac을 보며 "맥에서는 참 편하구나..." 하고 생각했던 물건이 윈도우에도 나왔네요.워낙 UX가 편하게 되어 있어 따로 설명하지 않고 화면만 추가합니다.다운로드 및 설치아래의 Github 홈페이지에서 다운로드 받을 수 있습니다.github:windows - http://windows.github.com/환경설정 - local repository 설정 등 저장소 가져오기 - clone. Github repository -> Local repository수정 후 commit - 수정된 항목이 있을 경우 우측 노란 박스.. 더보기
TortoiseGit을 이용해 Github에 저장소 생성 및 데이터 올리기 이번 포스트에서는 실질적으로 Github의 원격저장소에서 소스를 가져오고 수정하여 올리는 내용을 설명합니다. 아래의 절차대로 진행하겠습니다. 1, Github에 저장소 만들기 2, 로컬 저장소 만들기 3, 로컬저장소에 저장 4, 원격저장소에 저장(Github에 반영) Github에 저장소 만들기 우선 원격저장소를 생성하기 위해 Github(https://github.com)에 접속 후 로그인합니다. 저장소 생성 메인화면 우측의 "Your repositories" 옆의 [New repository] 버튼을 클릭합니다. 아래와 같은 화면이 나오면 Project Name에 생성할 프로젝트 명(현재는 테스트를 위해 TEST입력)을 넣고 [Create reposityry] 버튼을 눌러 저장소를 생성합니다. 아래와.. 더보기
음력달력 생성기(hjLunarCalendarGenerator), 음력양력변환, 달력파일 생성(소스공개) 더보기
git에서 파일 무시하기(ignore pattern) 제가 사용하는 TortoiseGit에는 TortoiseSVN과 다르게 GUI에서 ignore pattern을 제공하지 않습니다. 그래서 무시할 패턴을 작성한 파일을 수동으로 생성해야 합니다. 2가지 방법이 있습니다. ".gitignore" 파일 생성, ".git/info/exclude" 파일 변경 두가지 모두 파일의 내용은 동일합니다. 우선 .gitignore 방식으로 설명합니다. 1, 작업 디렉토리 최상위에 ".gitignore"파일을 생성합니다. (또는 작업 디렉토리 최상위의 ".git/info/exclude"파일을 오픈합니다.) 2, 위의 파일을 메모장 등으로 엽니다. 3, 원하시는 제외 패턴을 작성하고 파일을 저장 합니다.(끝) 패턴 작성 시 참고사항은 # 이후의 내용은 주석 처리 됩니다. 제가 .. 더보기
Github와 로컬 환경 설정 이번 포스트에서는 Github의 사용자 인증을 위한 SSH Key 등록에 관하여 설명합니다. 현재 저는 TortoiseGit을 사용하므로 Puttygen 및 pageant를 이용하여 SSH Key 생성 및 인증작업을 진행 하는 방식으로 설명합니다. SSH Key 등록은 아래의 절차로 진행합니다. 1, SSH 생성(with PuTTY Key Generator) 2, 인증 에이전트(Pageant.exe)에 Key 등록 3, Github에 public key 등록 SSH 생성 해당 작업은 TortoiseGit의 설치가 선행되어야 합니다. 만약, 설치 전이시면 설치를 먼저 해주세요. PuttyGen 실행 시작 메뉴를 이용하여 TortoiseGit의 PuttyGen를 실행합니다. Open SSH key 생성 화면.. 더보기
Windows용 Git Client(msysgit: Git for Windows, TortoriseGit) 설치 이번 포스팅에서는 윈도우즈에서 Git을 사용할 수 있는 환경을 구성하는 방법을 설명합니다. 앞선 글에서 말씀드린 것과 같이 msysgit과 TortoiseGit을 대상으로 합니다. msysgit은 윈도우용 Git 프로그램입니다. TortoiseGit은 Git의 편한사용을 위한 사용자 인터페이스라고 보시면 됩니다. 설치는 아래 순서로 진행 됩니다. 1, msysgit(Git for windows) 설치 2, TortoiseGit 설치 3, 설치 확인 msysgit 설치제품 홈페이지가 변경이 되었습니다.(Github로 이동했습니다.) 다운로드 및 설치과정은 동일합니다.http://msysgit.github.io/ 이전주소제품 홈페이지(http://code.google.com/p/msysgit/) 방문 다운로.. 더보기
GIT과 Github 안내 개인적으로 진행하는 오픈소스에서 Github를 이용하기로 하여, Github 사용법을 조사하여 포스팅 합니다. 순서는 아래와 같이 순서로 진행하겠습니다. GIT과 Github 안내Windows용 Git Client(msysgit: Git for Windows, TortoriseGit) 설치 Github와 로컬 환경 설정Github에 저장소 생성 및 데이터 올리기 새로 시작하시는 분들에게 참고가 됐으면 하네요. 우선 기본적인 개념을 정리해 볼게요. Git이란? 공식사이트 : http://git-scm.com/ 리누스 토발즈가 linux kernel 소스 관리를 위해 만든 소스 버전 관리 프로그램입니다. Git은 속도에 중점을 둔 분산형 버전관리 시스템(DVCS)이며, 대형 프로젝트에서 효과적이고 실제로 유.. 더보기