프로그래밍 QnA + 설치 및 활용 QnA

lcdbba의 이미지

for문 돌리 때 전위증감 후위증감...

안녕하세요....

다들 새해 복 터지시길....

전 for문 사용할 때 항상 후위증감식 표현으로 for문 돌렸었는데... 책을 보다보니 전위 증감으로 많이 사용하시더라고요....

for문에서 사용할 때는 전위 후위 증감이 동일하게 증감되는걸 볼 수 있는데

그냥 코딩 스타일인건지 아님 다른 이유가 있는지 궁금해서 올립니다.

tyburn의 이미지

3.10 이후의 커널 버전에서의 struct proc_dir_entry 사용법에 대한 질문입니다.

현재 proc 파일 시스템 부분을 진행하고 있습니다만,
제가 참고하고있는 책(한빛미디어, IT EXPERT : 리눅스 커널 프로그래밍, 2006)에서 다루는 버전은 2.6버전이고 현재 kernel.org에서 구한 버전은 4.3.3이라서
차이가 큽니다. 때문에 어차피 배울 거 변경 사항이 있으면 그건 구글링으로 찾아본다는 방침으로 지금까지 해왔습니다만, 구글링으로도 제대로 된 답을 제 능력으로는 찾을 수 없었기에 질문드립니다.

3.10 버전 이후에서는 create_proc_entry 함수가 아예 삭제되고, proc_create로 대체되었으며, linux/proc_fs.h에서 정의되어있던 struct proc_dir_entry의 정의가 fs/proc/internal.h로 이동되었다는 사실까진 알아냈습니다.

chossfox의 이미지

자바로 만든 테트리스 질문

간단하게 만들어서

.블럭 생성
.블럭 이동
.블럭 회전
.꽉찬 라인 제거
.라인 제거 마다 점수증가

이정도...?

간단한 설명을 하면
블럭을 [4][4] array로, 게임 패널을 [30][20] array로 나타 냈습니다.
그리고 블럭 부분을 1로 하고 나머지는 0으로 초기화 해서 블럭을 표현했고,
이 것을 토대로 [30][20]개의 Label을 만든 후 1인 부분(블럭)을 BackgroundColor로 블럭 색을 만들었습니다.

움직이는 것은 백그라운드 제거, 배열 값 변경, 변경 값으로 백그라운드 설정 으로 나타냈습니다.
Thread로 3초마다 1칸씩 내리고, KeyListener로 좌, 우, 회전을 할 수 있게 했습니다.

magmacoffee의 이미지

안드로이드와 라즈베리파이(파이썬)의 소켓 통신 중 문제가 생겼습니다.

안드로이드(클라이언트)와 라즈베리파이(서버)의 소켓 통신을 하려는데 Broken pipe 에러가 납니다.

지금 전체 시스템 구조가

안드로이드 <---TCP---> 라즈베리파이2 <---MODBUS---> 터치스크린

이렇게 되어 있어서 라즈베리파이와 터치스크린 간에 연동은 마친 상태입니다.

안드로이드 앱에서 버튼을 눌렀을때 파이를 거쳐 터치 스크린에 그 값이 변경되는것 까지도 됩니다.

그런데 최초 접속시 스크린의 정보를 가져와야 하는 상황에서 상태 값을 라즈베리파이 -> 스마트폰 으로 보내는 과정에서 에러가 발생하네요

Broken pipe 에러를 구글링 해보니 소켓이 닫힌 상태에서 읽기/쓰기 를 하려고 하면 발생하는 것이라고 이해했습니다만..

정확히 이해한게 맞는지도 모르겠습니다.

소켓을 열어두면 예외가 발생하지 않는 이상 계속 유지되는 걸로 알고 있는데 이것도 잘못알고 있는건지 참 막막합니다.

saehymkldp의 이미지

PHP + APACHE + IE 환경에서 한글 문제[캐릭터셋]

안녕하세요~~~
우선 현재 캐릭터셋 설정된 상태는 아래와 같이 UTF-8로 설정되어 있습니다.

그런데 간단한 php 코드를 만들어 리눅스 CLI에서 php -f test.php로 실행해보면
str : 우라나라 length : 12 --> 이렇게 한글이 3바이트로 되어 UTF-8로 잘 나옵니다.
그런데 ie 브라우저에서는 8바이트로 나옵니다.2바이트로 나오네요??

그리고 IE에서 인코딩을 보면 한국어로 설정되어 있습니다.(크롬에서는 UTF-8로 보입니다)
그래서 php 코드 상단에 header("Content-Type: text/html; charset=UTF-8"); 를 추가하면
12바이트로 정상적으로 나옵니다.

어쩌면 얼마전에 ie버전을 11로 올린 이후에 생긴 문제 같기도 합니다. 확신은 못하겠음.

이런 상황에서 모든 페이지에 charset을 별도로 넣어줘서 해결해야 하는 건지요?
아니면 서버측(아파치, PHP) 설정을 변경해서 간단히 해결할 수 있는지요???

감사합니다~~~

kkwa1009의 이미지

배치파일.. 이런 것도 만들 수 있을까요?? 폴더 내 파일 이름 저장

검색하다 하다 안되어 질문을 드리게 됐습니다ㅜ

C:\A 폴더 안에 a.dsx, b.dsx, c.dsx 라는 파일들이 존재합니다.

제가 실행하려는 명령어는
"~~~~~~~~" a.dsx "~~~~~~"
의 형식인데요.. a가 작업이 완료되면 b가 작업시작, b가 작업이 끝나면 c가 작업을 시작하는 방식입니다.

그래서 제가 생각한 것은
변수를 하나 주고

for(파일이 없을 때까지)
{
변수 = 파일명 저장[파일의 순번]
"~~~~~~~" 변수 "~~~~~~"
}

이런 식으로 만들어야 겠다는 생각을 했습니다.
파일명을 순차적으로 가져오는 방법에 대해 아무리 찾아봐도 모르겠습니다ㅜㅜ
대부분이 dir을 가지고 폴더 내 파일을 전부 보거나 이런 식으로 되니,
dir의 결과를 임시 배열에 저장하고 그 배열을 for로 돌려야 하나 생각은 했지만 구현법이 떠오르지가 않습니다..

우선 기술적으로는 가능할까요?? 그리고 어떤 식으로 짜야할까요?

hanty11의 이미지

자바 Math와 상속관련 질문드립니다.

Math클래스 유용하게 자주사용하는데
Combination등의 기능이 필요한데 Math클래스에 정의되어있지 않더군요.
생각해봣는데 따로 클래스 만들필요없이 Math클래스 안에 넣으면 참 편리하게 쓸 수 있을거 같더라고요
그래서 Math를 재정의하기로 마음먹었습니다.
class Math extends Math{} (.....당연히...)는 안되더군요(...) 이렇게해서 Combination 메서드만 만들면 오버라이드 될것만 같았는데..
그래서 비록 Math의 이름은 아니지만
class math extends Math{} 이렇게 하면 Math의 기능을 다 쓸수 있겠다 싶어 했는데 Math클래스는 상속이 불가하더군요..
혹시 Math클래스에 기능을 추가하려면 어떻게해야할까요?
따로 클래스 만들면 쉽게 해결되는 일이긴 한데.. 그냥 이렇게 해보고싶어서요ㅠ
학생이라 모르는게많습니다ㅠ 한수가르쳐주시면 감사하겠습니다!

telepathy070의 이미지

shared_ptr과 포인터 변환에 대한 질문2

class StringContainer
{
public:
    StringContainer();
    char tmp_array[32];
};
 
StringContainer::StringContainer()
{
    memset(tmp_array, 0, sizeof(tmp_array));
    strcpy(tmp_array, "dream comes true!!!");
}
 
 
long long extern_raw_cstring_address;
std::shared_ptr<StringContainer> ext_cr;
 
function A()
{
    std::shared_ptr<StringContainer> cr = shared_ptr<StringContainer>(new StringContainer());
semjase의 이미지

java 스레드 초보예제인데 이해가 안가네요.

/* 아래는 간단한 스레드 예제입니다. 1에서 100까지 합을 구하는거에요.
주석부분의 sleep(10) 부분이 이해가 안됩니다.
두군데 sleep(10) 이 있는데 어느부분이든 주석을 풀면 계산이 제대로 안됩니다.
sleep은 그냥 쉬는 명령인데 왜 저 부분이 있으면 계산이 안돼나요? -_-;
*/
 
 
class Sum
{
	int num;
	public Sum() { num=0; }
	public void addNum(int n) { num+=n;}
	public int getNum() { return num; }
}
 
class AdderThread extends Sum implements Runnable
{
	int start, end;
	public AdderThread(int s, int e)
	{
		start=s;
		end=e;
	}
	public void run()
	{
		for(int i=start; i<=end; i++) {
			addNum(i);
Pi11ar의 이미지

'리눅스 문제 분석과 해결' 을 대체할만한 책

'리눅스 문제 분석과 해결'이라는 책이 절판 되어서 구하려고 온갖 노력을 해도 구하기가 힘드네요... 이책을 대체할만한 책이 있을까요?

페이지

프로그래밍 QnA + 설치 및 활용 QnA 구독하기