MFC로 UI를 만들다가

내가 만든 클래스로 std::vector 를 이용하려던 중

c:\program files (x86)\microsoft visual studio 10.0\vc\include\xmemory(48): error C2558: class 'CFrameSet' : 복사 생성자를 사용할 수 없거나 복사 생성자가 'explicit'으로 선언되었습니다.

이런 에러가 뜬다. 여기서 'CFrameSet'은 내가 만든 클래스의 이름이다.

vector를 쓰기 위해 복사생성자를 만들어두긴 했는데 깜빡 잊고 파라미터에 const를 빼먹은 것이 문제였다.



FrameSet.h

#pragma once
class CFrameSet
{
public:
	CFrameSet(void);
	CFrameSet(const CFrameSet& dup);
	~CFrameSet(void);

	...

public:
	void operator =(const CFrameSet& dup);
};




FrameSet.cpp
#include "StdAfx.h"
#include "FrameSet.h"

CFrameSet::CFrameSet(void) :
	...
{
	...
}

CFrameSet::CFrameSet(const CFrameSet& dup)
{
	*this = dup;
}

CFrameSet::~CFrameSet(void)
{
	...
}


void CFrameSet::operator =(const CFrameSet& dup)
{
	...
}


Posted by Kugi
,



 

말 그대로 간단한 연결리스트이다.

오랫만에 즉흥적으로 만들어 본 것이라서 문제점이 있을 수도 있다.

 

LinkedListTest.c

================================================================================================

 

 

Posted by Kugi
,



안드로이드 어플리케이션 개발 중 다음과 같은 에러를 만났다.



[2012-09-24 13:14:07 - ddmlib] 현재 연결은 사용자의 호스트 시스템의 소프트웨어의 의해 중단되었습니다
java.io.IOException: 현재 연결은 사용자의 호스트 시스템의 소프트웨어의 의해 중단되었습니다
 at sun.nio.ch.SocketDispatcher.write0(Native Method)
 at sun.nio.ch.SocketDispatcher.write(Unknown Source)
 at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source)
 at sun.nio.ch.IOUtil.write(Unknown Source)
 at sun.nio.ch.SocketChannelImpl.write(Unknown Source)
 at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213)
 at com.android.ddmlib.Client.sendAndConsume(Client.java:575)
 at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:348)
 at com.android.ddmlib.Client.requestAllocationStatus(Client.java:421)
 at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:837)
 at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:805)
 at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData(DeviceMonitor.java:765)
 at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:652)
 at com.android.ddmlib.DeviceMonitor.access$100(DeviceMonitor.java:44)
 at com.android.ddmlib.DeviceMonitor$3.run(DeviceMonitor.java:580)
[2012-09-24 13:14:12 - DeviceMonitor] Failed to start monitoring 0019aeec51c87e
[2012-09-24 13:14:15 - DeviceMonitor] Failed to start monitoring 0019aeec51c87e



휴대전화 단말기에 USB 케이블을 연결해서 어플리케이션을 돌리던 중

 

전화를 받기 위해 급하게 뺐다가 나중에 다시 꽂아보니 생긴 일이었다.

 

어딘가에 연결이 남아있어서 그런것이라고 생각되어서 컴퓨터를 재부팅하고

 

단말기의 환경설정에서 "USB 디버깅 모드"를 해제하였다가 다시 적용시켰더니 간단하게(?) 해결되었다.

 

Posted by Kugi
,



어느날 갑자기 익스플로러에서

 

syntaxhighlighter로 작성한 블로그 내의 소스코드들이 제대로 보이지 않게 되었다.

 

혹시나 하여 크롬으로 들어가보니 깔끔하게 출력되는 것을 볼 수 있었다.

 

익스플로러의

 

인터넷 옵션 - [일반] 탭에서

 

저장된 페이지와 쿠키들을 삭제한 다음 페이지를 새로고침 해주면 정상적으로 보이게 된다.

 

 

 

 

 

 

Posted by Kugi
,



file name: HttpServerDemo.java

======================================================================================

import java.io.IOException;
import java.io.OutputStream;
import java.net.InetSocketAddress;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.concurrent.Executors;

import com.sun.net.httpserver.Headers;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;

public class HttpServerDemo {
  public static void main(String[] args) throws IOException {
    InetSocketAddress addr = new InetSocketAddress(8080);
    HttpServer server = HttpServer.create(addr, 0);

    server.createContext("/", new MyHandler());
    server.setExecutor(Executors.newCachedThreadPool());
    server.start();
    System.out.println("Server is listening on port 8080" );
  }
}

class MyHandler implements HttpHandler {
  public void handle(HttpExchange exchange) throws IOException {
    String requestMethod = exchange.getRequestMethod();
    if (requestMethod.equalsIgnoreCase("GET")) {
      Headers responseHeaders = exchange.getResponseHeaders();
      responseHeaders.set("Content-Type", "text/plain");
      exchange.sendResponseHeaders(200, 0);

      OutputStream responseBody = exchange.getResponseBody();
      Headers requestHeaders = exchange.getRequestHeaders();
      Set<String> keySet = requestHeaders.keySet();
      Iterator<String> iter = keySet.iterator();
      while (iter.hasNext()) {
        String key = iter.next();
        List values = requestHeaders.get(key);
        String s = key + " = " + values.toString() + "\n";
        responseBody.write(s.getBytes());
      }
      responseBody.close();
    }
  }
}

 


Posted by Kugi
,