프로그래밍 QnA

livey의 이미지

3 tier 형태 프로그램 개발 관련.

3 tier 형태에서 클라이언트는 보안때문에 쿼리문을 사용하지 않고
미들웨어-DB서버 사이에서만 사용하는걸걸로 알고있는데

그렇다면 미들웨어와 클라이언트의 통신은 패킷을 직접 만들어서 사용해야하나요?
3 tier 구조로 프로그램을 어떻게 개발하는지 자세히 좀 알고싶습니다.
모바일/데스크탑 모두 사용 가능하게끔 만들어보고싶습니다. (__)

siba555의 이미지

unix계열 C함수중에 OS설정 charset이 utf-8인지 euc-kr인지 알수있는 함수가 있나요?

문자열파싱처리중인데 euc-kr은 한글이 2byte utf-8은 3byte로 표현이 되어서 둘을 구분해줘야할것 같은데요.
감사합니다.

hoya128의 이미지

header file 참조 구조?

헤더 파일에서 선언된 union과 struct가 서로 꼬였는데.. 어떻게 해결을 해야할지 모르겠습니다.

에서는 typedef union _uA { uB ub; ... } uA;

typedef struct _tA { ... } tA;

처럼 B.h를 이용하고,

에서는 typedef union _uB { ... } uB;

에서는 tA ta; 처럼 A.h를 이용합니다.

에서 #include "A.h" #include "B.h"

와 같이 사용을 하려고 하는데,
B.h에 있는 union을 A가 이용해서 안되네요...

구조를 약간 깨더라도
#include "B.h"
#include "A.h"
로 하려고 해도
A.h에 있는 union을 B가 이용해서 안되구요...

이거때메 헤더파일을 더 쪼개면 가독성이나 구조적 문제로 꺼려지는데..

dokeun의 이미지

마지막의 SoComplex();는 함수인가요?

C++ 어제 입문했습니다 ^^;
생성자와 복사생성자를 공부하느라 아래의 코드를 보고 있는데, 잘 이해가 안가는 부분이 있어서 질문 올립니다.
return 0;전의 SoComplex();는 SoComplex 클래스의 생성자를 호출하는 것 같은데, 정확하게 무슨 의미인지 모르겠습니다.

fensy의 이미지

c# double array 소켓전송 어떤식으로 해야되나요.?

c# 은 c랑 달리 포인터 개념이 사라진거 같은데여
소켓통신할때 byte array로만 통신이 되는데.. double array 통신을 하려면 어떻게 컨버팅 해서 보내야 될까요?

headengin의 이미지

module에서 stdin (/dev/stdin)을 입력 될때마다 읽어오고 싶은데요.. 도와주세요..

안녕하세요.
제가 요즘 module 프로그래밍을 하려고 하는데요,

module에서 stdin으로 들어오는 입력을 받고싶습니다.
(처음 한번만 argument로 넘겨주는게 아니고, 제가 입력하고 싶을때 입력하여 변화를 주려고요.)

사실은 keyboard interrupt로 구현하고 있었는데요,
SSH 접속으로 하다보니, input이 stdin 이더라구요.

그리고, 응용 프로그램으로는 stdin을 open해서 key를 받아서 잘 Test했습니다.
이거를 module로 하고 싶어서 찾아보니
open도 filp_open을 사용해야하더라구요.

아무튼, 혹시 방법을 아시는 분이나 알고 계신 분은 많은 조언 부탁드립니다.
제가 제어계측공학과를 전공하고 firmware / FPGA 일만 해오다가,
제어 관련된 일을 해보고 싶어서
공부중이거든요;;;
많은 도움 부탁드립니다. (__)

asleea의 이미지

STL과 Thread

STL이 Thread에 안전하지 않다고 하는 것은 여기저기서 주워들어 알고 있는데,

그 뜻이 만약

std::vector<int> vec;

라는 자원을 만들었다면 vec라는 자원에 접근이 안전하지 않다는 뜻인가요

아니면 같은 자원이 아니더라도 thread1 에서 vec1을 선언하고 thread2에서 vec2를 선언해서 따로 사용 하더라도 vector라는 STL을 사용 하는것 자체가 안전하지 않다는 뜻인가요?(vector 내부적으로 static member 변수가 존재 한다던가 해서)

위의 내용은 전자의 내용이 맞을 듯하긴한데 혹시나 해서, 그럼 컨테이너가 아닌 STL 알고리즘 관련 함수들은 그냥 여러 쓰레드에서 함수 사용자체가 안전하지 않다는 뜻이 겠죠?

chobozzang의 이미지

windows open 함수가 fail이 납니다...

제 노트북에서는 문제가 없었는데요... 다른 노트북에선 open 함수가 fail이 납니다... 혹시 권한 문제일까요...? 권한 문제라면 windows에서 권한을 수정할 수 있는 함수가 있을까요?

//qt에서 실행바이너리의 path를 얻어오는 함수
std::string clipath = QApplication::applicationDirPath().toStdString();
sprintf(fname, "%s/current", clipath.c_str());

if(0 < (fd=open(fname.c_str(), O_CREAT | O_WRONLY | O_TRUNC, 0777)))
{
qDebug() << "[" << fname << "] success to open";
}
else
{
qDebug() << "[Windows] [" << fname << "] failed to open";
}

sparkelholic의 이미지

혹시 node.js 기반으로 scp 구현한 모듈/프로젝트 아시는 분 계신가요?

저는 현재 node.js 기반으로 어플을 만들고 있는데, target 으로 file 을 전송할 필요가 있습니다.
target 은 scp 는 허용하지만 sftp 는 지원하지 않고 있습니다.

Host PC 의 scp command 를 fork 해서 사용하는 방식으로 쉡게 구현 가능하지만 윈도우 에서는 기본적으로 scp 가 없기에 이 방식은 고려 대상이 아닙니다. (또한 OS Dependent 한 다른 추가 어플 설치도 원하는 방식이 아닙니다. )
scp 를 지원한다는 node 기반 프로젝트를 2개 정도 찾았지만...

* node-scp ( https://github.com/ecto/node-scp )
==> Host PC 의 scp fork 해서 사용하는 방식으로 고려 대상에서 제외.

asleea의 이미지

#define B19200

#define B19200

에서 B가 뜻하는 것이 무엇인가요?

페이지

프로그래밍 QnA 구독하기