본문 바로가기

분류 전체보기483

[Working Copy] 아이패드 최고의 소스코드 뷰어, git 지원 앱 추천 오늘은 엄청난 아이패드 앱을 하나 소개/추천 드리려고 합니다. 코딩을 하시는 개발자 분들이나, 프로그래밍을 공부하시는 학생분들 아마 한번씩 이런 앱이 있었으면 하는 상상은 해 보셨을 겁니다. 컴퓨터에서처럼 완벽한 에디팅/컴파일 환경은 아닐지라도 최소한 아이패드의 강력한 모바일 특성을 고스란히 느낄수 있는 내맘에 쏙드는 깔끔한 UI의 소스코드 뷰어 없나? 라는 그런생각 말입니다. 앱소개 (Working Copy) 그런면에서 정말 완벽에 가까운 앱이라고 할수 있는것 같습니다. 바로 "Working Copy" 란 앱입니다. 음.. 이름은 어플만큼 섹시하지는 않네요 ㅎ 그런데 앱스토에서 찾아보시면 아시겠지만 사용자 평가가 엄청납니다. 무려 별점 4.5!! 저는 이 앱을 알기전에 아이패드에서 이앱 저앱 다~ 깔아.. 2018. 12. 5.
[Azure DevOps] Visual Studio에서 Git 사용하기 2021-03-25 update log: MS가 Github을 인수한 이후로 Github도 개인 사용자에게 비공개 리포지토리를 무료로 사용할수 있게하였습니다. 코딩이라는 작업을 하다보면 소스를 이렇게 고쳤다가 저렇게 고쳤다가 수도없이 컴파일해서 테스트하고 하는데요 이럴때 가장 중요한게 버전 컨트롤이죠. 어떨때는 논리가 꼬여서 뭐가 최종버전인지 뭐가 맞는건지도 몰라서 최악의 경우에는 다시 처음부터 만들기도 하고 그랬습니다. 그래서 예전에는 프로그램 개발버전별로 폴더를 만들어서 혹시나 하는 상황에 대비하려고 했던 적도 있었습니다. 그런데 Git이라는 획기적인 버전관리도구가 나와서 이 모든 걱정거리를 싹 해결해 주었습니다. 대신 Git이라는 새로운 공부거리가 생기기는 했지만요. 프로그래밍을 공부하는 사람이라면.. 2018. 12. 5.
HTML Parcer 예제프로그램 분석과 코드 활용방안 Intro 이전 글에서 CodeProject.com에서 받은 코드를 컴파일하는 간단한 방법을 소개한 적이 있었는데 그때 받았던 코드를 본인의 프로그램에 사용하기 위해서 나름대로 로직을 분석한 결과를 정리해 두려 합니다. CodeProject.com에서 다운받은 C++ 프로젝트 컴파일 하는 방법 다운받았던 프로그램은 "HtmlParser"라는 프로그램으로 웹페이지 주소를 넣으면 해당 코드를 받아와서 HTML 코드를 분석해서 코드의 계층구조를 트리 형태로 시각화 시켜주고 원하는 특정 태그나 속성을 필터링 할 수도 있는 그런 기능을 합니다. 저는 전자공시 사이트인 Dart에서 필요한 기업정보를 가져오기 위해서 웹페이지 크롤링 방법을 고민하고 있는 중입니다. 당현히 HTML파싱이 빠질수 없기 때문에 잘 만들어진.. 2018. 12. 4.
DART API를 이용한 재무제표 접근법 2021-03-10 update log: DART API에 많은 변경사항이 있어서 포스팅 내용과 다른 부분이 있습니다. 내용 수정 예정이니 참고해주세요. DART API로 제무재표를 DART에서는 국내 상장기업의 재무정보에 접근할 수 있는 통로로 API를 제공을 하고 있습니다. API를 이용하면 간단하게 내가 원하는 기업의 특정 재무정보를 불러오는 프로그램을 만들 수 있다는 얘기죠. 저는 기업코드를 입력하면 해당 기업의 제무재표에서 내가 원하는 지표, 예를 들어, 매출, 부채, 자본 등 이런 값들을 불러오는 그런 프로그램을 만들고자 합니다. 필요한 지표를 불러올 수 있다면 활용은 다양하게 할 수 있겠죠. 그런데 문제가 있었습니다. DART에서는 극히 제한적인 정보들만 API로 제공하고 있었습니다. 제가 .. 2018. 12. 3.
[C++/MFC] CString 다양한 기능들 정리 CString은 MFC에서 문자열을 처리를 아주 쉽게 처리할 수 있도록 제공해주는 클래스라서 내장된 기능이 어마어마 합니다. 사용법만 알면 간단히 사용할 수 있도록 만들어 두었는데 그 내부를 보면 사용하는것 만큼 간단하지는 않습니다. 그 많은 기능들을 최적화해서 (물런 네이티브 문자열 처리에 비해 속도가 느리기는 함) 제공하기 위해서는 상당히 복잡한 구조로 되어있습니다. 언제나 처럼 저는 복잡한 내부구조는 관심없고, 쉽게 쓸수만 있으면 그만입니다. ㅎ 문자를 자르고 붙이고 뭐 이런건 이본이고 그외에도 다양한 기능을 CString 자체에서 할수 있으니 MFC를 사용한다면 어떤 기능들이 있는지 알아둘 필요는 있을 것 같습니다. 다는 아니지만 음 이정도는 내가 써볼만 하겠다 하는 기능들만 모아봤습니다. CSt.. 2018. 12. 3.
isalum / iswalnum / _ismbcalnum / _istalnum - 정수값이 영어,숫자인지 확인 isalum, iswalnum, _ismbcalnum, _istalnum 용도 확인하고자 하는 문자의 정수값이 영어나 숫자를 나타내는지를 확인 구문 #include int isalnum(int c); int iswalnum(wint_t c); int _isalnum_l(int c, _locale_t locale); int _iswalnum_l(wint_t c, _locale_t locale); #include int iswalnum(wint_t c); int _iswalnum_l(wint_t c, _locale_t locale); #include int _ismbcalnum(unsigned int c); #include int _istalnum(_TINT c); 매개변수 c 확인할 문자의 정수값 loca.. 2018. 11. 30.
isalpha / iswalpha / _ismbcalpha / _istalpha - 정수값이 영문자인지 확인 isalpha, iswalpha, _ismbcalpha, _istalpha 용도 확인할 정수값이 영문자(alphabet)인지 확인 구문 #include int isalpha(int c); int iswalpha(wint_t c); int _isalpha_l(int c, _locale_t locale); int _iswalpha_l(wint_t c, _locale_t locale); #include int iswalpha(wint_t c); int _iswalpha_l(wint_t c, _locale_t locale); #include int _istalpha(_TINT c); 매개변수 c 확인할 문자의 정수값 locale locale 반환 문자의 정수값이 A~Z, a~z 의 영문자인경우 nonzero를 .. 2018. 11. 30.
_strinc / _stcsinc / _mbsinc / _wcsinc - 바로뒤의 문자 포인터 반환 _strinc, _stcsinc, _mbsinc, _wcsinc 용도 바로 뒤에 따라오는 문자의 포인터 반환 구문 #include char *_strinc(const char *current, _locale_t locale); #include unsigned char *_mbsinc(const unsigned char *current); #include wchar_t *_wcsinc(const wchar_t *current, _locale_t locale); 매개변수 current 문자 포인터 locale 사용할 locale 반환 current 바로 다음위 문자 포인터 추가설명 current 매개변수의 문자에서 바로 다음에 있는 문자의 포인터를 반환하는 함수입니다. "_strinc"처럼 "locale"매.. 2018. 11. 30.
isspace / iswspace / _ismbcspace / istspace - 정수값이 공백문자인지 확인 isspace / iswspace / _ismbcspace / istspace 용도 파라미터의 정수값이 공백문자인지 확인 구문 #include int isspace(int c); int iswspace(wint_t c); #include int istspace(_TINT c); 매개변수 c 확인하고자 하는 정수값 반환 확인한 정수값이 공백문자에 해당된다면 nonzero를 반환 추가설명 T캐릭터 함수를 사용하면 아래와 같이 호출됩니다. 미정의시: isspace _MBCS 정의시: _ismbcspace _NICODE 정의시: iswspace 끝! 2018. 11. 30.
strncmp / wcsncmp / _mbsncmp / _tcsncmp - 지정크기만큼 문자열 비교 strncmp, wcscmp, _mbsncmp, _tcsncmp 용도 두 문자열을 지정한 수(크기) 만큼만 비교 구문 #include int strncmp(const char *string1, const char *string2, size_t count); int _strncmp(const char *string1, const char *string2, size_t count); #include int wcsncmp(const wchar_t *string1, const wchar_t *string2, size_t count); #include int _mbsnbcmp(const unsigned char *string1, const unsigned char *string2, size_t count); 매개.. 2018. 11. 30.
유니코드 / 멀티바이트 / T캐릭터 - 문자열 함수 유니코드 / 멀티바이트 / T캐릭터 - 문자열 함수strcpy_s / wcscpy_s / _mbscpy_s / _tcscpy_s - 문자열을 복사strncpy / wcsncpy / / _tcsncpy - 사이즈 만큼 복사strlen / wcslen / _mbslen / _tcsnlen - 문자수 반환strcat / wcscat / / _tcscat - 두 문자열 이어 붙이기strncat/wcsncat / / _tcsncat - 사이즈 만큼 이어 붙이기strcmp / wcscmp / / _tcscmp - 문자열 비교 (반환 값(-1, 0, 1))strncmp / wcsncmp / _mbsncmp / _tcsncmp - 지정크기만큼 문자열 비교stricmp / wcsicmp / / _tcsicmp - 대소문.. 2018. 11. 29.
enum의 비트연산 활용 (여러가지 조건 한번에 비교하기) 열거자라고 하는 enum의 bit 연산을 활용하면 복수의 조건을 비교선택해야 하는 상황에서 간단하게 코드를 작성할 수 있습니다. 평소에 enum을 사용한 코드들을 보면 깊이 생각지 않고 개발자가 명명한 enum의 이름대로 직관적으로 코드의 흐름만 이해하고 넘어갔기 때문에 배우지 못했던 방법이었는데 알고나니 유용한것 같습니다. enum의 용도 enum은 말그대로 나열되는 이름들에 차례대로 번호를 부여해서 논리적 관계를 기술하기 여려운 개념도 산술적으로 기술할수 있도록 해주는 유용한 기능입니다. 그래서 코드의 가독성이 높아지도록 할 수 있는데요. 예를 들어 다음과 같습니다. enum day { Mon=1, Tue, Wed, Thr, Fri, Sat, Sun }; int today = Mon; int some.. 2018. 11. 29.
joie(조이) 카시트 커버 완전분해 세탁 아이가 무럭무럭 자라서 9kg을 달성했네요. 신생아때부터 쓰던 카시트를 계속쓰다보니 몸이 눌리는거 같고 계속 뒤만 보고 있어서 미안하고 그래서 카시트를 하나 사야겠다 했더니 마눌님께서 중고로 딱 적당한 카시트를 하나 장만해왔네요.joie 카시트인데 전에 쓰시던 분이 사용을 제법 하신것 같은데 사용기간에 비해서 상태는 좋았습니다. 찾아보니 영국 프리미엄 유아브랜드라고 광고를 하더군요. ㅋ 기분좋게 집으로 들고들어와서 다시한번 상태를 확인하고 바로 사용을 해야겠다 싶었어요. 판매자 분께서 팔기전에 세탁도 해두셨다고 했었거든요. 그런데... 음... 세탁을 하신거 같긴한데... 뭔가 이상한데??직전에 세탁을 하시긴 했었나봐요. 시트 안쪽부분은 아직 덜말라서 축축하더라구요. 그리고 시트를 통째로 씻으셨는지 플라.. 2018. 11. 22.
다이소에서 가성비 갑 무선충전기(패드) 득템 다이소에서 득템한 무선충전기 SPEEDY 소개드립니다. 용인민속촌 티켓이 생겨서 정말 오랜만에 민속촌 나들이를 나갔었는데요. 가는길에 엄청큰 다이소가 있어서 참새가 방앗간들어가듯 다이소로 빨려들어갔습니다. 역시 큰 다이소는 볼게 만더군요 ㅎ 그러다가 무려 5천원짜리 무선충전기를 발견했습니다. 5만원도 아니고 5천원. 이정도면 속아도 배가 아플정도는 아니겠거니 해서 하나 집어 왔습니다. 사진에는 글씨가 작아서 잘 안보이는데 제품사양이 정격 입력 10W입니다. 출력은? 출력은 안써있네요. 뭐 들어간 만큼만 나온다고 한다면 퀄컴 퀵차지 1.0이 10W니까 5천원짜리면 준수하다고 생각하는데, 과연 출력이 얼마나 될지 한번 측정해 보겠습니다. 제품은 이렇게 생겼습니다. 전원을 연결하면 조~기 아래에 빨갛게 산태표.. 2018. 11. 20.
[C++/MFC 핵심노트] Class (클래스) 정의,선언 - PART 1 2018-12-12 update log: 더미프로젝트 변경으로 인한 실습코드 수정 클래스는 C++을 객체 지향 언어라고 부르게하는 가장 중요한 부분이라고 합니다. 클래스는 사용자가 내부의 데이터 멤버와 함수를 정의해서 만드는 데이터 타입입니다. 그리고 이렇게 만들어진 클래스는 인스턴스를 생성해서 사용하게 된다고 합니다. 클래스의 개념만으로는 저도 뭔소린가 싶은데, 예제를 보면서 차근차근 이해해 보도록 하겠습니다. Class 정의 클래스 사용에 앞서 정의가 필요합니다. 클래스가 어떤 구조를 가지고 있으며 어떤 타입의 객체를 가지고 어떤 동작을 할 것인지 개략적인 컨셉을 설명해주는 과정입니다. 정의를 하는 방법은 "class" 라는 키워드와 함께 사용할 이름과 중괄호로 둘러싼 본문을 차례대로 써주면 됩니다... 2018. 11. 19.