본문 바로가기

분류 전체보기

(81)
프로세스/ps 명령어/pstack 명령어/kill 명령어 오늘은... 이런 분들께 도움이 되면 좋겠다 프로그램을 실행 시켰는데 이게 진짜 실행된건지 확인해보고 싶다 🖐 자신이 실행시킨 프로그램이 안죽어본 적이 있다 🖐 왜 안죽는지 모르겠다 🖐 좀비 프로세스를 만들고 당황한적 있다 🖐🖐🖐 바로 나야나 리눅스 환경에서 프로그램을 짜봤다하면 한번쯤은 들어봤을 process(프로세스)와 PID에 대해서 알아보고자 한다 그리고 이를 확인할 수 있는 명령어도 정리하려고 한다 1. Process(프로세스)란? 프로세스란 단어는 많이 익숙할텐데, 딱 뭐라고 정의하기는 어려운 단어다 보통 프로그램과 많이 비교가 된다 프로그램은? 하드 디스크에 저장되어 있는 실행코드 프로세스는? 프로그램을 구동하여 프로그램 자체와 프로그램의 상태가 메모리 상에서 실행되는 작업 단위 즉, 실행시..
백준 11720번: 숫자의 합(Python) https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net cnt = input() cntInt = int(cnt) if cntInt 100: exit(1) numList = input() ret = 0 for i in numList: ret += int(i) print(ret) 문제에도 나와있듯이 언어별로 숫자형 크기 다루는게 다르니까 int 범위 넘어갈 때만 잘 다루면 될듯 자꾸 if문에 조건 쓸 때 || 나 && 쓰게 된다.. 습관이 무섭다
백준 11654번: 아스키 코드 (Python) a = input() print(ord(a)) * 문자열 → 아스키 코드로 변환하는 함수 ord(문자열) * 숫자 → 아스키 코드로 변환하는 함수 chr(숫자) C++로 풀라다가 아... 변환하는 라이브러리 뭐있지 하다가 그냥 파이썬으로 했는데 가끔 파이썬 쓰면 현타가 온다 C++로 개발하다가 내가 왜 이걸 이리 힘들게..? C하다가 내가 왜 이걸 이리 힘들게..? 근데 파이썬하면 이걸 왜 이렇게..? ㅋ
C++ 스마트 포인터를 알아보자 - (1) unique_ptr C++에는 아주 유용한 개념이 있다 메모리 관리를 할 때마다 고려해야할 점은 바로 "메모리 누수"인데, 그것에 대해 조금은 자유롭게 생각할 수 있는 스마트 포인터라는 것이다 가장 자주 사용하는건 shared_ptr이었는데, 여러 개가 있는건 이유가 있다는 생각이 들어서 하나씩 정리하려고 한다 (모던 C++ 입문 교재를 참고해서 작성하였습니닥) 1. 스마트 포인터에는 뭐가 있지? 스마트 포인터는 3가지가 있다 1) unique_ptr (오늘할거) 2) shared_ptr 3) weak_ptr 요렇게 3가지 인데, 참고로 스마트 포인터는 C++ 11에서 도입된 개념이다 C++ 03에는 auto_ptr라는 것도 있다고 한다 -_-a 하지만 삭제됨 쓰지마셈 1-1) 스마트 포인터 헤더는? #include or ..
백준 4673번: 셀프넘버 (C++) https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net #include #include #define MAX_NUM 10000 using namespace std; int selfNum(int num) { int sum = num; int d = num; do{ sum += d%10; d = d/10; }while(d!=0); return sum; } int main(void) { int n = 1; ..
백준 8958번: OX 퀴즈 (C++) https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net #include #include #include using namespace std; int countOXStr(string ox_str) { int len = ox_str.length(); int sum = 0; int score = 0; for( int i = 0; i < len; i++ ) { auto ox = ox_str.at(i); if( ox == 'O' ) { sc..
Boost Asio에 대해서 알아보자 Boost 비동기 통신 서버&클라이언트를 정리중... 필수 개념인 Asio에 대해서 먼저 정리해야겠다 생각들어서 따로 게시글로 뺐다 ㅈㄱㄴ boost 홈페이지에 설명이 잘 되어있어서, 요걸 정리하려고 한다 (첨부 링크 참조) 1. Boost.Asio ( Asynchronous I/O ) 가 뭐지? Boost 공식홈피: Boost.Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. cf) 어떤 운영체제여도, 실행 가능하게 동작하게 할 수 있는 플랫폼이 크로스..
C++ 클래스 멤버변수 초기화를 알아보자 클래스를 사용할 때, 클래스 안에 있는 멤버 변수에 대해서 초기화를 해줘야한다는 것은 잘 알고 있는데 여러가지 방법 중 어느 것을 써야할까? 에 대해서 다뤄보려고 한다 또 헷갈리는 일이 없도록 ~~ - 클래스 멤버 변수란 - 클래스 멤버 변수 초기화 방법 3가지 1. 클래스 멤버 변수 (Class Member Variable) 란 클래스 멤버 변수 초기화를 하려면, 먼저 멤버 변수를 알아야하니까 짧게 정리만 하려고 한다 위키백과 인용: 객체 지향 프로그래밍에서 멤버 변수(member variable) 또는 멤버 필드는 특정 객체와 연결된 변수의 하나이며, 해당 변수의 모든 메소드(멤버 함수)에 접근이 가능하다. 클래스 기반 언어에서 이들은 두 종류로 구별된다: ..... 그렇다.. 정의를 읽으면 알 수 ..