프로그래밍 QnA

pr0gr4m의 이미지

리눅스 시스템 프로그래밍 입문하려고 합니다.

파일 시스템과 커널을 공부하고 싶어서 리눅스 시스템 프로그래밍에 입문하려고 합니다.

아직 이쪽 계열에 접하여 공부한지 오래되지는 않았지만

C프로그래밍 자체는 무난한 콘솔게임들은 만들 수 있을정도로 익숙해졌고

자료구조와 알고리즘도 어느정도 공부해봤습니다.

리눅스 환경 자체 또한 간단한 커맨드나 서버구축정도는 익히고 있습니다.

지금 공부하고있는것들을 마무리한 후에 이제 시스템 프로그래밍을 공부하려고 하는데

아래 세 책중에 무엇을 볼지 추천해주시면 감사드리겠습니다.

처음에 말씀드린것처럼 주 관심분야는 '파일 시스템'과 '커널'입니다.

Beginning Linux Programming
(http://www.yes24.com/24/goods/2999640?scode=032&OzSrank=1)

twinwings의 이미지

[완료] C++11 std::thread, 강제종료 할 수 없는건가요?

#include <iostream>
#include <thread>
 
class hello
{
public:
	void run()
	{
		tid = std::thread(std::bind(&hello::forever, this));
	}
private:
	void forever()
	{
		while(1)
		{
			std::cout << "hello" << std::endl;
			std::this_thread::sleep_for(std::chrono::seconds(1));			
		}
	}
private:
	std::thread tid;
};
 
int main()
{
	hello h;
	h.run();
 
	std::this_thread::sleep_for(std::chrono::seconds(10));
	return 0;
}

main에서 빠져나오면서 hello의 소멸자가 호출되고,

glay1234의 이미지

파이썬 Django에서 멀티 테이블 사용하려면 어떻게 해야 되나요?

안녕하세요!

django를 배우고 있는 중입니다.

ORM이라는 쉬우면서도 쉽지가 않네요;;

제가 해볼려고 하는 것은 주식 분별 데이터를 저장하여 웹에서 처리 할려고 하는데

분별 데이터를 Model로 만들면

't_min_stock' 테이블 하나만 생성되어서 여기 주식 전 종목데이터를

집어 넣는데 테이블 크기가 너무 방대해 질것 같아서

't_min_000300_stock' 이런식으로 종목코드별로 데이터를 넣고 Model을 사용하고 싶은데...

여쭤 볼데가 없네요...

구글링에서 one model mutiple table 이런식으로

검색해서 봤는데

아직 초보라 이해가 잘 안되네요...

Django 잘 아시는 분 질문이 어리숙하더라도 조언 부탁드립니다.

C만 주구장창하니 python도 어렵네요;;;

happyKYS의 이미지

32bit 와 64bit architecture 에 대한 소소한 궁금증.

안녕하세요~ 매번 여러 개발자 분들 답변에 잘 배워갑니다.

ARMv7 에서 ARMv8 으로 제품군들이 넘어가는 현재 시점에서.. 그냥 아키텍쳐에 대한 소소한 궁금증이 생겨 질문드려봅니다. 가볍게 봐주세요~

제 생각에 우선 banked register가 없어지고 동시에 가용가능한 general purpose register가 늘었느니 아키텍쳐 파이프 라이닝을 어떻게 늘렸느니 이런 관점은 둘째치고 단순히 32bit -> 64bit로 bus bandwidth, register bandwidth가 늘었을때의 장점이 통상 우리가 생각하기에 idle하게 성능 증가가 된다에 대한 의문인데요.

일반 사람들이 보통 "와 니 컴퓨터 64비트 컴퓨터네~ 내꺼 32비트 컴퓨터인데 니께 내꺼보다 2배는 빠르겠다" 이런소리도 하곤 하죠.. 단순한 수치상 비교에 따른 생각입니다만, 어쨌든 저런식으로 사고하시는 분들도 많죠.

근데 정말 성능증가의 포인트가 어느부분에 있느냐가 의문이 듭니다.

skyjjogari의 이미지

파이썬 파일 부팅시 자동실행 + 강제종료

파이썬 2.7버전으로 코딩중입니다.

gedit /etc/xdg/lxsession/LXDE-pi/autostart 실행 하여

파이썬파일을 부팅 시 자동으로 실행하게 하였습니다.

문제는 부팅 후 자동실행되어 잘 작동은하는데..

이걸 중간에 강제로 종료 시키려면 어떻게해야하는지 알고싶습니다.

ctrl+z 나 ctrl+d를 눌러도 자동실행 상태에서는 종료가 되지 않습니다.

많은 의견 부탁드립니다.

감사합니다.

rma8806의 이미지

/proc/[pid]/stat 내용 업데이트 주기

안녕하세요..

허접 리눅스 개발자 입니다.

프로세스 별 cpu 사용량을 모니터링 하게 해달라는 요청이 있어서 /proc/[pid]/stat 내용에서 14,15번째의 값의 증가치를 이용해서 값을 구하였습니다.

편의상 이 14, 15번째의 값을 utime, stime 이라고 하겠습니다.

exemple [/proc/[pid]/stat]
30182 (TTTTest) R 30124 30182 30124 34845 30182 4218880 142 0 0 0 5274 0 0 0 20 0 1 0 55611251 17408000 386 18446744073709551615 4194304 4260634 140733397159392 140733397158504 4203154 0 0 0 0 0 0 0 17 2 0 0 0 0 0 6360520 6361584 33239040 140733397167447 140733397167457 140733397167457 140733397168110 0

vivisection의 이미지

디비관련 질문 드립니다

제가 디비를 잘 몰라서 그러는데요
dbms는 mysql 이고, 나중에 정식 출시하면 다른걸로 바뀔수도 있습니다
보통 웹사이트들 보면 비밀번호 변경은 있는데 아이디 변경이 없잔아요?
아이디 변경도 하고 싶은데 보통은 안하니까 왜 안하는지 위험요소 같은게 있는건지 궁굼합니다

참고로 update, select, insert 정도 알고 있는 실력입니다

duwnsrl의 이미지

리눅스 서버 프로그래밍 질문입니다.

tcp 소켓 서버를 하나 열었는데

클라이언트로 부터 간단히 어떠한 문이 들어오면

서버에서 리눅스 안에있는 프로그램을 실행 시킬수 있나요? ㅠㅠ

어떠한 방법이 있나요? 고수님들 부탁드립니다.

redpig의 이미지

유니코드 문자열 관련 질문 드립니다.

char *str="\uD14C\uC2A4\uD2B8";
puts(str);

이걸 컴파일해서 실행하면 "테스트"라고 정상 출력됩니다.
근데, "\uD14C\uC2A4\uD2B8" 이 문자열을 소켓통신을 통해 받아서 출력하면 "테스트"라고 나오지 않고 그냥 "\uD14C\uC2A4\uD2B8" 이렇게 그냥 그대로 출력되는데요.
이걸로 봐서 위의 경우엔 아마도 컴파일러가 유니코드 문자임을 인지하고 "테스트"로 변경해서 컴파일한 것이고
소켓통신으로 받을 경우엔 컴파일시 알수 없으므로 그냥 그대로 출력되는것 같은데요.

소켓통신을 통해 받았을 경우 "테스트"로 출력되게 할려면 어떻게 하면 될까요?

페이지

프로그래밍 QnA 구독하기