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

allday05의 이미지

프로그램 C 먼저배우고있는 완전초짜 java 매크로 제작 에대한질문입니다

제가 java에대한 매크로 가필요한데요 매크로에대해서 정말 아무것도모릅니다..
그래서 대충 뭔가 감이라도 필요하다싶어 이글을올리는데요
java 매크로 제작법은 C처럼 함수쓰고 그에대한 것을 써서 매크로를 제작하는건가요?
전혀감이안잡힙니다 ㅠ 도와주십시요 선생님들

skynsn3423의 이미지

유닉스 select 와 파이프를 이용해서 서버,클라이언트 채팅 프로그램을 만들고 있습니다.

소켓을 아직 배우지 않아. 소켓 개념은 없구요. 파이프를 이용해서 서버를 통하여 할수 있다면 n명의 사람이 들어와도 채팅을 하게 하고싶습니다.
argv[1] 번으로 ID를 받아 그 ID로 소켓을 만들어 server에서 는 그 ID 명으로 파이프를 만들고, 클라이언트도 argv[1]로 파이프를 만들게 하여, 양방향 통신을 하려고 했는데 ㅠ 막혔습니다 ㅠ
/******* server **********/

#include
#include
#include
#include
#include
#include
#include
#include
#define MSG_SIZE 1024

kby2194의 이미지

binarytree 자료구조 공부하는 학생인데 오류가 이해가 가질않네요..

bst_remove_max(root_ptr->left(), root_ptr->data()); //여기서 오류가 나는데요

오류가 "main_savitch_10::bst_remove_max' : 매개 변수 1을(를) 'main_savitch_10::binary_tree_node *'에서'main_savitch_10::binary_tree_node *&'(으)로 변환할 수 없습니다." 입니다.

bst_remove_max의 매개변수 1은 binary_tree_node*& root_ptr 이구요.

제가 넣은 값은 root_ptr->left() 로 root_ptr은 binary_tree_node* 이고 left() 멤버 함수는 binary_tree_node* 를 리턴하는

함수입니다. 포인터와 참조를 나름 조금 했다고 생각했는데 이런 오류조차 해결할수 없으니 당황스럽네요..

*를 *&로 바꿔야 할 거 같은데 어떻게 바꿔야하는건지 도저히 감이 잡히질 않습니다. 부탁드리겠습니다ㅠㅠ

perrshp의 이미지

Fedora 19 나비가 실행되면 아이콘이 사라집니다.

안녕하세요? 어제 Fedora 19 64비트, Gnome 3.8을 설치한 입문자입니다.
이전에는 Ubuntu 13.10을 사용하다가 wifi 연결이 갑자기 연결되지 않아 갈아탔고 데스크탑용으로 사용중입니다.

구글링으로 이곳저곳에서 나비 설치, 빌드까지 성공했으며 'nabi &' 실행을 하면 상단 왼쪽에 아이콘이 표시되다가 사라져버립니다.
이러면 어떻게 한영전환을 한/영 키로 설정해야 할지 모르겠습니다.

oasisfunc의 이미지

C++막 공부하는 학생입니다.. string이나 char*을 typedef로 재정의 불가인가요?

링크드리스트에 기본 data를 문자열로 쓰고 싶은데요..
(ID를 링크드리스트에 저장하는 용도)

typedef string Data 는 아예안되고
typedef char* Data 이것도 안되구요;;

#define Data char* 역시 안됩니다! (->이경우 'BYTE' 다음에 'char'가 올 수 없습니다. ;이 필요합니다. 와 같은 에러가 엄청많이 뜹니다 ㅎ;;

Data를 쓴 이유는 나중에 수정쉽게 할려고인데..
그냥 char*나 string으로 전부 고치는게 나을까요...?

jungmin0787의 이미지

Raid level 5 구성 관련 질문입니다.

레이드 레벨 5 구성시 c++프로그래밍 으로 표현 하는 방법이 궁금합니다..
만약 디스크 4개의 수를 입력하고 그 값을 32 bit 로 바꾸고 패리티 값을 구하고 각 디스크에 분산 하는데
그 하는 과정에서 , 기존에 있던 각 비트에 있던 값은 어떻게 처리하는 건가요.
#include
using namespace std;
void main()
{
int Drive[5][32];
int Num[5];
int ParityValues[32];
cout << "정수 5개를 입력하세요. ";
int i, j;
for(i = 0; i < 5; i++)
{
cin >> Num[i];
for(j = 31; j >= 0; j--)
Drive[i][j] = ((Num[i] >> j) & 1);
}
int sum = 0;
for(i = 0; i < 32; i++)

chobozzang의 이미지

QT socket과 Thread에 관한 질문입니다.

qt 로 client ui 프로그램을 작성하고 있습니다.
서버에서 socket으로 약 1초에 2~3번 정도 뿌려주는 데이터를 ui에서 표시해야 하고, 가끔 설정을 서버로 전송해줘야 하는데요.
ui에 부하가 심할까봐 백그라운드로 socket 으로 들어오는 패킷을 읽으려고 하는데요. Thread 를 생성해 thread 내부에서 QTcpSocket을 할당해주고 읽으려고 하는데

qsocketnotifier socket notifiers cannot be disabled from another thread
qsocketnotifier socket notifiers cannot be enabled from another thread

이런 오류가 자꾸 뜨네요... 어쩔땐 제대로 된 값을 읽구요.
Qt socket을 처음 써봐서 잘못된 방식으로 쓰고 있는 것 같은데요... 고수님들의 조언 좀 부탁드리겠습니다. 현재 제가 테스트하려고 한 관련 소스도 첨부합니다.

cococo의 이미지

php 에서 transaction 이 중단되는 게 가능한가요?

음... 코드 작성하다가 궁금해서 질문해 보려고 하는데, 생각나는 곳이 이곳밖에 없어서 질문드려 봅니다.

1. php 로 코드 작성
2. transaction 걸고
3. db 값 조작
4. db 조작 코드가 길어서, commit 이나 rollback 코드가 작동되기 전에
5. = 예를 들어 update 가 10초 걸리는데, 5초 째에
6. 페이지를 닫아버린다. ( = 사용자가 페이지 먹통된 줄 알고 중간에 닫았다던가... )

이럴 때, 사용자의 조작( 브라우저의 페이지 닫은 거 ) 이후 DB에 대한 모든 조작은 어찌 되는 걸까요?

11. beginTransaction 하고 commit 이나 rollback 을 안 해 줬으니, 조작 결과가 DB에 write 안 되는 걸까요?
12. php 엔진 혹은 db 엔진에서 beginTransaction 자체를 취소하는 걸까요?

트랜젝션 관련 예외처리 작성하다가, 궁금해서 적어 봅니다.
비슷한 문제에 직면하셨던 분들은 리플달아 주시면 대단히 감사하겠습니다.

gildong17778의 이미지

-

kws4679의 이미지

코드 중복, 리팩토링 질문드릴께요

코드 중복시 반드시 중복을 없애고 분리한다고들 하더군요

그런데 중복인줄 알고 분리했다가 분리된부분을 수정하는과정에 예상치 못한 결과를 초례한다던가

아니면 완전히 중복히 아닌경우 공통된 부분만을 추출하느라 구조가 복잡해지는 경우가 많더군요

예를들어 웹페이지를 만들때 글 작성과 글 수정 페이지가 있습니다. 글 수정 페이지를 글 작성 페이지에서 input 박스에 내용만 채워져있는 형태로

만들고자 할때 두 페이지는 거의 동일한 코드를 가지고있을텐데요 이런경우 어떻게들 하시나요?

그리고 작성페이지에 내용을 검사하는 루틴과 수정 페이지에 내용을 검사하는 루틴도 거의 비슷할텐데 일부는 달라질수가 있죠 예컨데 수정 페이지에서는 특정 필드를 검사한다던가

이런경우에 공통된 검사를 분리하는게 좋은가요?

이렇게 중복된 내용을 추출하면 함수가 기하급수적으로 늘어나고 재사용하기 힘든 형태의 함수가 존재하거나 해당 함수가 존재하는지 찾기 힘든경우조차 생기곤 하는데

이런 문제를 해결할수 있는 방법이 있을까요? 예컨데 함수명 알파벳 순으로 정렬을 한다던가....

페이지

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