반응형

개발 113

g

[개발 환경] WSL GitHub clone, 네트워크 실패 시 nameserver 변경 방법

WSL을 새로 설치하다가 git clone을 받았는데 실패하는 경우가 종종 있습니다. 이런 경우 원인이 DNS와 연관된 경우가 많은데 이런 경우에 어떻게 해결하는지 알아보도록 하겠습니다. WSL GitHub clone, 네트워크 실패 시 nameserver 변경 방법 어떤 에러가 발생하는지 새롭게 설치하거나 네트워크에 문제가 발생하였을 때 git clone을 하면 문제가 발생할 수 있습니다. Network is unreachable 나 Could not resolve host와 그럴 때 네트워크 문제인지 확인하는 방법이 ping입니다. ping github.com 아래와 같은 정상적인 응답이 오지 않는다면 DNS 문제임을 의심해보아야 합니다. 왜 발생하는지 일반적으로 WSL을 사용하면 IP 주소를 Dyn..

g

[개발 환경] WSL 문제 발생 시 추가로 설치하는 방법

WSL을 사용하다가 문제가 발생하거나 새로운 버전을 사용해보고 싶을 때가 있습니다. 이럴 때 어떻게 설치하는 것인지 설치 방법에 대해서 알아보도록 하겠습니다. WSL 문제 발생 시 추가로 설치하는 방법 추가 설치가 필요한 경우 리눅스 환경에서 개발하다 보면 환경 설정이 여간 어려운 것이 아닙니다. 아래와 같은 경우들이 있을 것 같아요. 기본 제공 패키지가 깨졌다. 설정한 지 너무 오래돼서 어디다가 어떻게 설정했는지 모르겠다. 가이드 대로 신규 설치를 했는데 자꾸 에러가 뜬다. 기본 동작이 어느 순간부터 안되는데 아무리 찾아봐도 해결할 수가 없다. 새롭게 배우는 사람에게 환경 설정을 알려줘야 할 때 어떻게 했는지 기억이 안 난다. 등등.. 윈도와 같이 사용자 친화적이지 않은 리눅스 환경에서 개발하다 보면 ..

g

[컴파일러] LLVM, Clang 설치 방법, 명령어 및 버전 변경 방법

LLVM 프로젝트의 일부인 Clang 컴파일러를 설치하는 방법을 알아보도록 하겠습니다. Clang 컴파일러란? Clang은 LLVM 프로젝트의 컴파일러 중 하나로 C, C++, Objective-C를 위한 최적화된 컴파일러입니다. Clang은 높은 표준 준수도와 빠른 컴파일 속도로 유명하며, 대부분의 경우 기본 컴파일러로 사용됩니다. LLVM/Clang 설치하기 (apt 명령어) Ubuntu에서 Clang을 설치하는 방법은 다음과 같습니다. sudo apt update sudo apt install clang 위 명령어를 터미널에서 실행하여 Clang 컴파일러를 설치할 수 있습니다. LLVM/Clang 설치하기 (빌드된 바이너리 다운로드) 아래 버튼을 클릭하면 llvm의 빌드된 바이너리를 다운로드할 수 ..

g

[Linux] Ubuntu apt 명령어 종류, 예제 및 사용 방법

이번에는 Ubuntu 리눅스에서 사용되는 APT (Advanced Package Tool) 명령어에 대해 알아보겠습니다. APT는 패키지 관리 시스템으로, 소프트웨어 설치, 업데이트, 삭제 등을 편리하게 할 수 있게 해주는 도구입니다. APT란 무엇인가요? APT는 Ubuntu와 같은 Debian 기반의 리눅스 배포판에서 사용되는 패키지 관리 도구입니다. 이를 통해 소프트웨어 설치와 관리를 쉽게 할 수 있습니다. APT는 패키지의 의존성 관리와 버전 관리를 자동으로 해주므로 사용자가 번거로움 없이 소프트웨어를 관리할 수 있습니다. APT 명령어의 종류와 예제 1. 업데이트 (update) 시스템에 설치된 패키지 목록을 최신 상태로 업데이트합니다. sudo apt update 2. 업그레이드 (upgrad..

g

[코딩 테스트] 소프티어 연습 문제 - 성적평균 (C++)

소프티어 성적평균 문제를 풀어보았습니다. 소프티어 연습 문제 - 성적평균 (C++) https://softeer.ai/practice/info.do?idx=1&eid=389&sw_prbl_sbms_sn=249449 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 N명의 학생들의 성적이 학번순서대로 주어졌다. 학번 구간 [A, B]가 주어졌을 때 이 학생들 성적의 평균을 구하는 프로그램을 작성하라. 제약조건 1 ≤ N ≤ 10의 6 제곱인 정수 1 ≤ K ≤ 10의 4 제곱인 정수 1 ≤ Si ≤ 100 인 정수 1 ≤ Ai ≤ Bi ≤ N 입출력 예제 입력예제1 5 3 10 50 20 70 100 1 3 3 4 1 5 출력예제1 26.67 45.00 50.00 문..

g

[C++] 생성자에서 virtual 가상 함수 호출하는 경우의 문제

오늘은 생성자에서 가상함수를 호출하는 경우에 무엇이 문제가 되는지 알아보도록 하겠습니다. 생성자에서 virtual 가상 함수 호출하는 경우의 문제 이론적인 내용 C++ 생성자에서 가상 함수를 호출하는 것은 조심해야 하는 상황입니다. 가상 함수 호출은 객체의 실제 타입에 따라 동적으로 호출되는데, 생성자에서 가상 함수를 호출하면 예상치 못한 동작이 발생할 수 있습니다. C++에서 객체의 생성 과정은 다음과 같습니다: - 메모리 할당 - 기본 클래스의 생성자 호출 - 파생 클래스의 생성자 호출 가상 함수 호출은 객체의 실제 타입에 따라 동적으로 결정되는데, 생성자의 경우 파생 클래스의 생성자가 호출되기 전에 기본 클래스의 생성자가 호출되므로 파생 클래스의 가상 함수는 아직 초기화되지 않은 상태일 수 있습니다..

개발/C, C++ 2023.08.11

g

[C++] 복사 생성자(Copy Constructor) 의 이해 및 활용

오늘은 C++에서 복사 생성자의 개념에 대해서 알아보고 이해하는 시간을 가져보도록 하겠습니다. 복사 생성자(Copy Constructor)의 정의, 이해 및 활용 C++에서 복사 생성자는 중요한 개념 중 하나로, 객체를 복사하거나 전달할 때 사용되는 특별한 유형의 생성자입니다. 복사 생성자의 정의 복사 생성자는 객체의 내용을 다른 객체에 복사하는데 사용되는 특별한 생성자입니다. C++에서는 객체를 전달하거나 할당할 때마다 해당 객체의 복사 생성자가 호출됩니다. 기본적으로 C++ 컴파일러는 클래스에 대해 복사 생성자를 자동으로 생성해 주지만, 사용자가 직접 정의하여 커스터마이징 할 수도 있습니다. 기본 복사 생성자 기본 복사 생성자는 단순히 객체의 모든 멤버 변수들을 다른 객체에 복사하는 역할을 합니다. ..

개발/C, C++ 2023.07.27

g

[코딩 테스트] 소프티어 연습 문제 - 장애물 인식 프로그램 (C++)

오늘은 소프티어 연습문제 중 level 장애물 인식프로그램 문제를 풀어보았습니다. 소프티어 연습 문제 - 장애물 인식 프로그램 https://softeer.ai/practice/info.do?idx=1&eid=409&sw_prbl_sbms_sn=212619 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 설명 자율주행팀 SW 엔지니어인 당신에게 장애물과 도로를 인식할 수 있는 프로그램을 만들라는 업무가 주어졌다. [그림 1] 지도 예시 우선 [그림 1]과 같이 정사각형 모양의 지도가 있다. 1은 장애물이 있는 곳을, 0은 도로가 있는 곳을 나타낸다. 당신은 이 지도를 가지고 연결된 장애물들의 모임인 블록을 정의하고, 불록에 번호를 붙이려 한다. 여기서 연결되었다는..

g

[코딩 테스트] 프로그래머스 연습 문제 - 완주하지 못한 선수

오늘은 완주하지 못한 선수라는 간단한 문제를 풀어보았습니다. 프로그래머스 연습 문제 - 완주하지 못한 선수 https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 r..

g

[코딩 테스트] 프로그래머스 연습 문제 - 기능개발

프로그래머스 연습 문제 level2 기능개발 문제를 풀어보고 리뷰해 보도록 하겠습니다. 프로그래머스 연습 문제 - 기능개발 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100% 일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 제약 사항 작업의 개수(progress..

반응형