전체 글
[C++] 여러 변수 출력하기
여러 변수 출력하기 #include using namespace std; int _tmain(){ int a = 10; int b = 11; int c = 12; cout
[C++] Hello world 출력해보기
Hello world 출력해보기 Hello world 가장 기본적인 출력 방법 (std::cout ) #include //입, 출력을 위한 필수 헤더파일 int _tmain(int args, _TCHAR* argv[]){ std::cout
Visual Studio C++ 개념 사전
c++ 공부 내용을 지속해서 추가하는 게시글입니다.참고 책 > Part1. C에서 C++로 문법 전환하기 Chap 1. C와는 다른 C++[C++] Hello world 출력해보기[C++] 여러 변수 출력하기[C++] Visual Studio 에서 추가로 사용하는 헤더파일 [C++] 문자열 데이터 std::string[C++] 자료형[C++] 변수 선언 및 정의[C++] auto 자료형[C++] 메모리 동적 할당. new(), delete()[C++] 참조자 형식 int &n = a; [C++] 범위 기반 for 문 for(auto n : nList) Chap 2. C++ 함수와 네임스페이스[C++] 디폴트 매개변수[C++] 오버로딩, 함수다중정의, 템플릿 함수[C++] 인라인 함수[C++] 네임스페이스..
Swagger UI - API 관리 도구
본 게시글은 커리어리의 게시글을 소개하는 글입니다. 프론트엔드개발자이신 김의중님의 게시글입니다. Swagger UI 🧑💻 Swagger UI란? Swagger UI는 개발자들이 API를 더 효과적으로 개발하고, 테스트하고, 문서화하고, 사용하게 해주는 도구의 역할로서 등장했습니다. 그 외의 특징 - API의 정의를 바탕으로 자동으로 문서를 생성 (시간을 절약) - 실시간으로 문서를 업데이트 (동기화 문제 해결) - 대화형 인터페이스 (API를 더 쉽게 이해하고 테스트할 수 있게 해줌) 🧑💻 이런 사람들에게 추천해요! 시간과 자원의 부족, 혹은 문서화의 중요성 인식 부족으로 인해 API 문서가 없거나, 수동으로 API문서를 만들고 있다면 시간을 절약하고, 문서의 정확성과 일관성을 유지하는데 도움을 주..
AI 배워야 하나
본 게시글은 커리어리의 게시글을 소개하는 글입니다. 카카오엔터테인먼트 whatever 개발자이신 박승규 _Andy 님의 게시글입니다. AI 나중에 배워도 돼요 🧑💻 저는 개발자로 일하고 있습니다만 AI관련된 기사나 이야기들이 너무 많이 들려서 AI를 공부해야겠다는 다짐을 몇년째하고 있습니다. 🧑💻 비슷한 생각을 하는 사람이 많다고 느꼈는지 Basecamp의 CEO인 Jason fried가 지금 당장 AI를 배울 필요는 없다는 글을 썼습니다. 저와 같은 마음을 가진 분들은 Jason fried의 글을 읽어보시길 추천드립니다. 🧑💻 You can learn AI later : https://world.hey.com/jason/you-can-learn-ai-later-08fce896 3줄로 요약하면 다음..
MFC 마우스 이동으로 OpenGL 화면 회전 값 받기
마우스가 눌러진 후에 마우스를 움직이면 회전값을 올리는 코드이다. void MyView::OnMouseMove(UINT nFlags, CPoint point) { xAngle += (point.y-mouseDownPt.y) / 3.6; yAngle += (point.x-mouseDownPt.x) / 3.6; mouseDownPt = point; } 위의 계산 공식에서 3.6을 나눠주는 이유? 마우스를 1 픽셀 이동했을 경우 1/3.6 회전, 즉 0.27777778도 회전하게 되는데, 이 회전량이 사용자가 가장 자연스럽게 느껴지므로 3.6으로 나눴다. 좀더 회전정도를 강하게 하고 싶다면 이 값을 줄이면 회전이 팍팍!! 되도록 할 수 있다. [출처] http://www.gisdeveloper.co.kr/?p..
OpenGL x, y, z축 회전 후 좌표값 구하기
X축 회전 x = x; y = y*cos(angle) - z*sin(angle); z = y*sin(angle) + z*cos(angle); Y축 회전 x = x*cos(angle) + z*sin(angle); y = y; z= -x*sin(angle) + z*cos(angle); Z축 회전 x = x*cos(angle) - y*sin(angle); y= x*sin(angle) + y*cos(angle); z = z; [다음 링크의 회전 메트릭스 참고] https://www.charlezz.com/?p=934
IT 기업 비전공자 취업 SI 업체말고는 어려울까요?
본 게시글은 커리어리의 질문과 답변을 정리한 글입니다. 익명님의 질문 비전공자로서 국비교육 웹개발 풀스텍과정을 수료했습니다. 그 과정에서 Java, Oracle, SpringFramework, JavaScript, HTML, CSS 등을 배웠습니다. 프론트엔드, 백엔드에 대한 한분야에 마음을 정하지는 못한채로 취업 준비를 했습니다. 이 스펙으로 연봉 2000 후반대의 si 업체말고는 합격한 곳이 없습니다. 연봉 3000대의 괜찮은 회사에 면접을 볼 수 있는 기회가 생겼는데 그 회사는 .net/ Domino/ SharePonint라는 것을 통해 개발을 하고 있었습니다. 들어보지도 못했던 언어를 다루고 있는 회사들.. 국비교육과정과 취업시장이 달라서 난감합니다. 연봉따지지 않고 우선 취업이 먼저일까요? 커리..
개발자 경력정리 방법이 궁금합니다.
본 게시글은 커리어리의 질문과 답변을 정리한 글입니다. 익명님의 질문 현직자 분들을 경력정리를 어떻게 하고 계시나요? 정리하기 좋은 양식이나 정리 꿀팁이 있을 까요? 커리어리의 현직자분들의 답변 왓에버 멘토링님의 답변입니다. 🧑💻 최근에는 경력을 정리하기 좋은 툴들이 많이 있습니다. 링크드인, 원티드, 리멤버에 자신이 회사에서 진행했던 프로젝트 위주로 간단한 정리를 해두시면 좋을 것 같아요. 프로젝트의 상세 내용이나 문서/코드는 링크를 걸어주시면 될 것 같습니다. 코멘토 프론트엔드 개발자이신 송동훈님의 답변입니다. 🧑💻 요즘에는 원티드나 서핏, 리멤버 등에서 많이 템플릿을 제공하고 있어요. 저는 템플릿들의 공통점을 취합해서 노션으로 정리하려고 해요. 본 게시글이 문제가 될 경우 댓글을 남겨주시면 감사..
현직 개발자들의 코드 리뷰 방식을 알고싶어요
본 게시글은 커리어리의 질문과 답변을 정리한 글입니다. 익명님의 질문 사내 코드 리뷰를 어떻게 하는 것이 좋을까요? 고민 1. 코드 리뷰를 할 때 코드에 대한 사람마다의 기준이 있을 텐데 개인의 기준으로 평가해도 될까요? 고민 2. 연차가 많으신분의 코드 리뷰를 신입이 해도 될까요? 제 시야가 좁아서 오히려 잘못된 리뷰를 해주면 어떡하죠? 고민 3. 신입이 연차가 있으신분에게 리뷰를 달면 어떤 기분이신지도 궁금합니다. 커리어리의 현직자분들의 답변 퍼블리 소프트웨어 엔지니어이신 손정현님의 답변입니다. 🧑💻 사내 코드 컨벤션(가이드라인)을 기준으로 리뷰합니다. 사내에 대략적인 프로젝트의 구조를 통일시키기 위한 가이드라인이 존재해요. 이 가이드라인을 코드 컨벤션이라고 부릅니다. 주로 사내 코드 컨벤션을 기준..
OpenGL gluLookAt 카메라 회전 적용 (구에서 점의 회전 좌표 구하기)
구에서 x,y,축회전했을 때의 좌표 α : y 회전 값, β : x 회전 값 이라고 했을 때 점P의 좌표값은 P (d cosα cosβ, d sinα, d cosα sinβ) 이다. 원리는 아래 이미지를 참고하면 이해가 될 것입니다. 선분 OB의 값: d cosα B (d cosα cosβ, 0, d cosα sinβ) 가 된다. P의 y좌표: d sinα P (d cosα cosβ, d sinα, d cosα sinβ) α : y 회전 값, β : x 회전 값 OpenGL 시점 좌표계 설정에 구의 회전 좌표 적용! 시점 좌표계설정 GLU함수: gluLookAt(eyex,eyey,eyez, atx,aty,atz, upx, upy, upz) eyex, eyey, eyez: 카메라의 원점, 카메라의 위치 a..
[MFC] CArray 동적 할당, 해제
MFC 배열 CArray 사용 /*초기화 */ CArray myarr; /*배열 사이즈 설정*/ myarr.SetSize(10); /*값 입력*/ myarr[3] = 5; myarr.setAt(3,5); // 인덱스(3)에 값 5 입력 /*sscanf로 값 입력*/ sscanf_s("77","%d",&my[3]); /*인덱스 지정 값 추가 및 확장*/ myarr.SetAtGrow(12,5) // 12에 5 넣으면 크기가 13으로 확장됨 사이에 빈공간이 생기고 /*값 조회*/ str.Format(_T("%d"), myarr[3]); str.Format(_T("%d"), myarr.getAt(3)); /*포인터로 값 조회*/ int * ptr = &my[3]; str.Format(_T"(%p %d"),ptr..
C언어 소수점의 자릿수 구하기
#include #include double targetValue = 0.988; double temp = targetValue; int count = 0; while(temp){ count++; temp = targetValue * pow(10,count); temp = fmod(temp,1.0); //실수 mod 연산 } printf("소수점 자릿수: %d",count);
[MFC] 다이얼로그와 클래스 연결
.cpp와 .h에 아래 코드처럼 저 위치에 Dialog ID를 입력해준다. CMainDialog.cpp MainDialog::MainDialog(CWnd* pParent /*=NULL*/) : CDialog(IDD_MAIN_DLG, pParent) , value_input_edit(_T("")) { } CMainDialog.h //대화상자 데이터 입니다. enum { IDD = IDD_MAIN_DLG};
[MFC] CSliderCtrl 을 Edit창에있는 값으로 SetPos하면 이전 위치의 흔적이 남는문제
Issue CSliderCtrl 을 Edit창에있는 값으로 SetPos하면 이전 위치의 흔적이 남는문제 Solution 흔적이 남았었는데.... 이리저리하다보니까 흔적이 없어졌다. 확실한 원인은 모르겠다. getPos를 해줘서 그런건가? 아니면 slider설정 하고 setText를 그후에 해줘서 그런건가? /*흔적이 남았던 코드*/ CEdit수정때 발생하는 이벤트함수{ int no = 2; CString str; str.Format("%d",no); edit->SetWindowText(str); //2로 설정 slider->SetPos(no); } /*흔적이 안남게된 코드*/ CEdit수정때 발생하는 이벤트함수{ int no = 2; slider->SetPos(no); //여기서 setPos를 하면 아래..
[MFC] 스레드에서 메인스레드 ui 접근해서 상태 변경
Issue MFC에서 스레드를 생성하고 CMainFrame에 Docking해둔 CDialogBar 내의 CSliderCtrl과 CEdit의 상태를 변경하고자 한다. Solution생성한 스레드에서는 메인스레드에 있는 ui에 바로 접근하지 못한다. 따라서 thread를 생성할 때 접근하고자 하는 컨트롤 윈도우의 핸들값을 넘겨줘야한다. (이때 주소값을 넘겨주면 안된다. 핸들과 주소값 은 다른 것임!) 그 후 thread에서 handle값을 받아서 윈도우함수(?)를 사용해서 값을 변경하도록한다. (::SendMessage, ::SetTextWindowA) (그외에 thread외부에 생성된 변수를 사용할때는 thread를 시작할때 주소값을 넘겨주면 된다. 넘길수있는 인자는 하나이기 때문에 넘길값이 여러개면 구조..
[MFC] 리소스 뷰에서 컴포넌트 최상단에 위치시키기
Resourc.h에서 ctrl 윈도우를 제일 아래에 위치시키면 제일 아래에 위치 시킨 것이 제일 상단에 생성된다. 위 이미지에서는 IDC_MAIN_PANORAMA_CUR가 제일 상단에 위치 될 것이다.
[MFC] 다이얼로그 모달 방식 malloc 불가?
모달방식은 스택에 대화상자가 생성되는 것이라고 한다. 그런데 동적할당은 힙에 메모리가 생성되는 것인데 스택에 생성된 대화상자에서 동적할당을하면 메모리 충돌 때문에 오류가 나는 것 같다.
[MFC] CListCtrl 팁
1. CListCtrl 모든 선택 표시 해제2. CListCtrl 원하는 항목을 리스트의 최상단에 위치 시킨다. SetTopIndex()3. CListCtrl 현재 클릭한 셀 index 얻기4. CListCtrl의 row text 길이에 맞춰서 셀의 가로길이가 자동설정 되도록함5. CListCtrl 이전 스크롤위치 유지하기6. CListCtrl에서 item이 selected 된상태에서 header 클릭시 selected를 유지하고 select된 item의 위치에 맞춰서 scroll을 이동해줌7. CListCtrl row 높이 설정8. CListCtrl item 색상 변경9. 특정 row 하이라이트 및 스크롤 위치 이동10. 특정 컬럼을 삭제하고, 추가하기 1. CListCtrl 모든 선택 표시 해제lis..