본문 바로가기

분류 전체보기30

[C++]금지된 Forbidden의 C++ 이 글은 16년 경력의 소프트웨어 개발자 David Barr 님의 Forbidden C++이라는 영상을 요약한 글입니다. https://www.youtube.com/watch?v=j0_u26Vpb4w&t=145s 실제로 소프트웨어 개발자로 일하면서 내가 사고를 치기도 하고, 실제로 안전하지 않게 쓰인 코드를 보기도 한 적이 있다. 이러한 실수들을 피하기 위하여 자신에게 다시 새기는 의미로 이 글을 작성한다. namespace std #include #include using namespace std; namespace ns1 { void TestFunction() { cout 2023. 3. 2.
[C++]소켓 프로그래밍 라이브러리 3선 아쉽지만, C++은 언어에서 자체적으로 소켓 프로그래밍을 위한 기본 라이브러리를 탑재하고 있지 않다. 아마도 C++의 지향점이 Java나 C#과는 다르기에 그런 것으로 짐작된다. 그렇기에 자연스럽게 외부의 라이브러리를 쓰게 된다. 윈도 환경에서 C++로 소켓 프로그래밍을 하기 위해 가장 흔하게 쓰이는 3개의 라이브러리가 있다. Winsock (Windows Sockets) - 소켓 프로그래밍과 네트워크 서비스(IP라우팅 & Name Resolution)를 제공하는 마소의 라이브러리이다. Winsock은 TCP와 UDP 프로토콜을 모두 제공한다. 그리고 소켓 통신의 기본이 되는 함수들을 제공한다. Boost.Asio - Boost는 크로스 플랫폼을 지원하는 C++ 라이브러리이다. 다양한 기능을 가지고 있으.. 2023. 3. 2.
[Flutter] 네이버 지도 API 사용법 https://www.ncloud.com/product/applicationService/maps NAVER CLOUD PLATFORM cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification www.ncloud.com https://pub.dev/packages/flutter_naver_map/versions/1.0.0-dev.5 flutter_naver_map 1.0.0-dev.5 | Flutter Package Naver Map plugin for Flutter, which provides map service of Korea. pub.dev 최신.. 2023. 3. 2.
[C++]파일 입출력(I/O) Udemy에서 C++ 언 매니지드 프로그래밍을 수강하면서 배운 내용을 정리한 것입니다. 파일 입출력 ifstream 파일입력 ofstream 파일 출력 fstream 파일 입력 및 출력 파일 스트림에 > 조장자 (manipulaotr)등 도 쓸 수 있음 //읽기 전용으로 파일을 오픈 ifstream fin; fin.open("helloWorld.txt"); //Tm기 전용으로 파일을 오픈 (파일이 없으면 만듦) ofstream fout; fout.open("helloWorld.txt"); //읽기와 쓰기 범용으로 파일을 오픈 fstream fs; fs.open("helloWorld.txt"); open() 각 스트림마다 open() 메서드가 있음 fin.open("HelloWorl.txt",ios_bas.. 2023. 3. 1.
[C++]std::string C++의 신 기능은 항상 우월한가? Udemy에서 C++ 언매니지드 프로그래밍을 수강하면서 배운 내용을 정리한것 입니다. std::istringstream std::cin과 비슷: 키보드 대신 string으로부터 읽어옴 sscanf()와 비슷 std::ostringstream std::cout와 비슷 : 콘솔 대신 string에 출력함 sprintf()와 비슷 cout, cin도 스트림이다. 하지만 자주 쓰이는 기능은 아님 현업에서 C++ 개발을 할때 , C 헤더를 써도 될까요? 현업의 C++ 애플리케이션에서는 여전히 성능 상의 이유로 많은 C 함수들을 사용. C C++ 그럼에도 std::string class는 정말 유용하다! 성능 이전에 문자 배열 길이에 대한 고민이 줄어들어 개발자의 실수로 인한 에러를 방지하는데 도움을 준다. 하지만.. 2023. 3. 1.
[C++]bool과 참조 C++ 새로운 기능 Udemy에서 C++ 언매니지드 프로그래밍을 수강하면서 배운 내용을 정리한것 입니다. 초기 C++의 새로운 기능들 bool 데이터형 true / false 참조(refernce) 매우 중요. 성능 유지 하면서 값을 참조 개체(객체)지향 프로그래밍(OOP) C++의 새로운 기능들 C++ 표준 위원회 "너가 뭘 좋아하는지 몰라서 다 준비해 봤어" 많은 기능이 나왔지만, 쓰이지 않는 기능 또한 많다. C++의 진짜 전문가는 사용하지 말아야 할 기능을 아는 사람이다. Bool 데이터형 OLD // 만약 student가 아니면 if(IsStudent() == 0) { //... } // 만약 student라면 if(IsStudent() == ) // 2 &num 2 => 3 함수를 콜하면서 그림에서 나온것처럼 n.. 2023. 3. 1.
[Flutter][프로젝트]Edge Rider 개발 프로젝트 명 edge_rider 미션 자전거 라이딩을 하면서 이동거리를 기록 하는 앱의 개발 버전 0.1 기능 - 네이버 지도를 활용해서 지도 UI 구현 - 현재 위치(GPS기반)를 지도에 보여줄것 - Start 버튼을 누르면 GPS를 기반으로 누적 이동 거리 측정 - 현재의 이동속도를 화면에 표시할것 - Stop 버튼을 누르면 주행완료 - 주행완료하면 누적 이동거리와 이동에 걸린 시간을 이용하여 평균 이동속도를 계산 - 평균 이동속도를 이용하여 칼로리 소모량 계산 - 모든 계산이 완료되면, 다이얼로그로 총 이동거리, 이동시간, 평균 이동시간 그리고 칼로리 소모량 표시 조작법 - Start 버튼 탭 후 라이딩 시작으로 판정 - Stop 버튼 탭하면 라이동 완료로 판정 플러그인 geolocator : 9... 2023. 2. 25.
[C++]C++ 버전 11 14 17 이전에 면접을 보면서 C++에 대한 이야기를 주고 받다가 모던 C++로 넘어오면서 추가된 기능들에 대한 화제가 나온 적이 있다. 이전까지만 해도 버전별 특징을 아는것이 중요한가 싶었지만, 면접을 통해서 자신이 사용하는 도구(C++)에 대한 상세한 지식이 필요하다 느끼는 중요한 계기가 되었다. 그렇다면 사람들은 어째서 모던 C++에 이렇게 많은 관심을 가지게 되었을까??? 1998년 C++98이 출시된 이후로 큰 업데이트가 없다가, 2011년에 C++11이 소개되면서 새로운 기능과 개선 사항을 도입하여 언어를 현대화하고 현대 소프트웨어 개발 방식에 맞추었기 때문이다. 그렇기에 사람들은 C++11을 "Modern C++"라고 부른다. 현업에서 현재 가장 많이 쓰이고 있을 C++11 부터 17까지 세가의 버전.. 2023. 2. 25.
Flutter 앱 프로젝트 생성(VS code) 1. Ctrl+shift+p를 눌러 command pallete 호출합니다. 2."flutter"를 입력한 후,Flutter: New Project를 선택 3.프로젝트의 용도를 선택하고, 프로젝트가 설치될 위치를 지정합니다. 4.프로젝트의 이름을 입력하고 엔터를 눌러주세요. 성공적으로 프로젝트가 생성 되었습니다. 2023. 2. 18.