본문 바로가기
반응형

전체 글83

[C++] 문자열을 정수로 바꾸기, 문자열 파싱하기 (stringstream, sstream) 오늘은 C++의 stringstream에 대해서 알아보겠습니다. C++로 코딩을 하다보면, 한 문자열을 파싱하는 경우, 또 한 문자열에서 특정 데이터타입을 추출해야하는 경우가 있습니다. 이때 sstream은 아주 유용한 라이브러리 입니다. #include 우선, sstream을 불러와야합니다. 데이터 타입 추출(변환) 다음은 정수가 공백" " 으로 구분된 문자열을 정수형태 데이터로 추출하는 예시이다. #include #include #include #include int main() { std::string input_string = "10 20 30 40 50"; std::stringstream ss(input_string); std::vector numbers; int num; while (ss >>.. 2024. 3. 24.
[C++] vector 기본 문법 및 명령어 고정 크기의 배열 : array 가변 크기의 배열 : vector 실행중에 메모리 할당. Overhead 프로그램 실행흐름에서 동떨어진 위치의 코드를 실행할 때, 추가적으로 시간, 메모리 등의 자원이 사용되는 현상 capacity vs size size = 할당 된 요소 수 capacity = 메모리에 할당 된 용량의 크기이다. 원래 초기화 했던 vector를 넘어가면, size는 length처럼 가변적으로 변한다. capacity또한 변하긴 하는데, 2배 단위로 늘어나고, pop과 같이 요소를 삭제해도 다시 줄어들지 않는다. shrink_to_fit()와 같은 함수를 사용하면 다시 줄일 수 있다. 기본 문법 및 명령어 ===참조=== v[idx] idx 번째 원소 참조 v.at(idx) idx번째 원소.. 2024. 3. 22.
[일반화학실험] 탄산염의 분석 레포트 Title 탄산염의 분석 Purpose 탄산염과 염산이 반응하면서 발생하는 이산화탄소를 측정함으로써 어떠한 탄산염 물질인지 밝혀낼 수 있다. Theory 1. 알칼리 금속()은 탄산염과 합쳐져 형태를 띈다. ▶ 알칼리 금속 알칼리 금속은 주기율표의 1족 가운데 수소를 제외한 나머지 화학 원소를 통틀어 일컫는다. 리튬(Li), 나트륨(Na), 칼륨(K), 루비듐(Rb), 세슘(Cs), 프랑슘(Fr)이 이 화학 계열에 속한다. ▶ (알칼리 금속 특징) ● 반응성이 매우 강하다. 상온에서도 물이나 산소와 쉽게 반응하므로 석유나 파라핀 속에 보존한다. ● 대체로 은백색을 띄며, 무르고 밀도가 낮은 고체이다. ● 끓는점과 녹는점이 낮다. ● 전자를 잃고 +1가의 양이온으로 존재하기 쉬우며, -1가의 할로젠 원소 .. 2024. 3. 21.
[일반화학실험] 재결정과 여과, 거르기 레포트 Title 일반화학실험1 레포트 - 재결정과 여과 Purpose 강한 산과 염기 성질을 이용해서, 용해도가 비슷한 두 물질을 분리한다. Theory(이론) ◆용해도 용해도는 용질이 용매의 포화상태까지 녹을 수 있는 한도를 말한다. 그리고 보통 용매 100g 속에 최대로 녹을 수 있는 용질의 그램(g) 수를 의미한다. ◆ 혼합물의 분리 혼합물을 원하는 각각의 순수한 물질로 분리하는 것이다. 예로는 크로마토그래피, 추출, 증류가 있다. ◆ 재결정 화합물 정제를 위한 방법들 중 하나로, 온도에 따른 용해도 차이가 큰 고체 물질을 높은 온도에서 녹여 포화 상태의 용액으로 만든 후, 서서히 냉각시키면서 순수한 고체를 얻는 과정을 말한다. ◆ 재결정의 종류 1) 단일 용매 재결정 : 용매 하나를 써서 재결정하는 방.. 2024. 3. 21.
[C++] 포인터 call by reference, new 연산자 오늘은 C++에서 포인터와, new 연산자 나아가서 vector 에 대해서 알아볼 것이다. 포인터 : what var point? 포인터는 말 그대로 무엇을 가르키는지 주소(위치)를 나타냅니다. 간접 참조 연산자 *을 사용하여 표현할 수 있습니다. int a = 6; //일반 변수 a int* b; //변수의 주소(위치)를 담는 포인터 변수 b b = &a; // a의 주소를 b에 대입, 이제 b는 a를 가르키는 포인터 cout 2024. 3. 20.
WSL 메모리 차지문제, GNU grub 부팅 해결 21년 제조 LG그램이 줌이나 포토샵 쪼금만 켜도 계속 허덕이길래 보니까 메모리가 항상 10GB정도는 사용되고 있었다. 그래서 사용량을 보니까 vmmemWSL이 친구가 제일 많이 잡아먹고 있었다. 예전에 리눅스를 깐다고 virtual box 깔고 멀티부팅 설정하고 한게 문제가 된 것 같았다. 리눅스 멀티부팅 삭제 그래서 우선 우분투 멀티부팅을 삭제했다. 아래 글을 참고해서 Bootice 라는 프로그램을 사용해 GRUB을 제거했다. Dual Boot에서 Ubuntu 삭제하기 (Window10 & Ubuntu) 대학교 1학년 때 학교 연구 활동을 했었다. 그때 라즈베리파이를 활용해 ROS를 사용할 일이 있어서 Ubuntu를 노트북에 설치했었고 아직까지 계속 유지됐었다. 그런데 그 노트북을 어머니가 사용하 s.. 2024. 3. 15.
Windows 11 WSL 환경 설정하기 1. 윈도우 powershell을 우클릭하여 관리자 권한으로 실행 후 아래의 명령어 입력 Enable-WindowsOptionalFeature -Online -Featurename Microsoft-Windows-Subsystem-Linux 윈도우에서 Linux 서브 시스템을 활성화 하는 명령어이다. 2. Microsoft Store에서 Ubuntu를 깔고, 처음 아이디와 비밀번호를 설정하기 비밀번호는 창에서 안보이는게 맞으니 안심하고 계속 치면 됩니다. 3. WSL 터미널 스크린에서 이후 다음과 같은 명령어를 입력하기 $ sudo apt update $ sudo apt upgrade $ sudo apt install git build-essential gdb 패키지들을 최신버전으로 만들고, git 과 .. 2024. 3. 10.
피로그래밍 20기 회고록(웹개발 연합동아리, 사이드 프로젝트) 지원 동기 개발자가 되고싶었던 비전공자 이모씨... 이것저것 찍먹 해볼라다가 이번 방학때는 웹개발을 공부하고 싶었던 찰나에 "비전공자를 위한 웹개발 연합 동아리" 라는 타이틀의 피로그래밍을 발견하게 되었다. 더 자세한 지원 내용은 아래를 참고하면 좋을 것 같다. 피로그래밍 20기 합격후기(면접 질문, 자기소개서) 피로그래밍이란? 비전공자를 위한 웹개발 연합동아리. python과 django 프레임워크를 사용하여 웹개발을 한다. 방학때마다 활동을 하고 이번이 20기로 활동중이다. 피로그래밍 홈페이지를 들어가보 jubrodev.tistory.com 활동기간 23.12.26 ~ 24.02.20 겨울방학 몰입했던 피로그래밍 20기 활동이 끝이 났다 정말 커리큘럼이 탄탄하고 각 세션 내용도 좋고, 운영진들도, 활.. 2024. 2. 26.
[django 서버 배포] connect() failed (111: Unkown error) 해결하기 Reference AWS EC2에 Django 배포하기(with Gunicorn/Nginx) 소개 AWS EC2에 Gunicorn/Nginx를 사용하여 Django 서버를 배포하는 과정을 다룬다. Django 3.2.7 / WSL2 Ubuntu 환경 / zsh shell 사용 eunche.github.io 이번 프로젝트에서 django에서 WS는 nginx, WAS는 gunicorn을 이용해 웹 서버를 배포하고 있었다. 그런데 nginx와 gunicorn을 연결시켜주는 데 자꾸 오류가 났다. 에러로그 확인하는법 tail -f /var/log/nginx/error.log 2024/02/07 06:19:25 [error] 16708#16708: *2 connect() failed (111: Unknown e.. 2024. 2. 11.
[Mysql] (1054, "Unknown column in 'field list'") 오류해결 현재 상황은 django를 사용하고 있고, AWS E2C로 DB 서버만 띄워놓은 상태이고, 팀원들과 공유를 하려고 하니 (1054, "Unknown column 'fundings_funding_msg.written_date' in 'field list'") 다음과 같은 에러가 발생했다. 테이블을 찾아가보니 진짜로 written_date라는 column이 없었다. 장고 모델에는 다같이 있는데,, 다같이 migrate 했을텐데 뭐가 문제일까..?? 계속 추가 마이그레이션을 해봐eh, written_date cloumn 자체를 못읽는것같아 모델 코드를 다시 보았다. auto_now_add=True: auto_now_add를 True로 설정하면 해당 필드가 객체 생성 시 현재 날짜와 시간으로 설정된다는 의미입니.. 2024. 2. 5.