의미기반 Social Network 키워드

Projects/CoRapport 2010.04.05 17:43 Posted by soulfree >동네청년<

SIOC : 의미기반의 콘텐츠 연결

FOAF : 친구의 친구

SKOS : 의미의 상위, 하위 개념

신고

C4F 블루투스 관련 바이너리 모음

Projects/CoRapport 2009.07.20 23:47 Posted by soulfree >동네청년<

이런저런 테스트해볼것이 있어서 ㅎㅎ

신고

ASP.NET App-Domain 못만든다고 할때...

Projects/CoRapport 2009.06.11 14:48 Posted by soulfree >동네청년<

출처 : 거만떡볶이의 일상다반사 http://chsoft.tistory.com/entry/%EC%97%90%EB%9F%AC%EC%B2%98%EB%A6%AC-Failed-to-execute-request-because-the-App-Domain-could-not-be-created-Error-0x80131902

XP로 개발환경을 바꿔서(블루투스 때문) 셋팅을 다시 해주어야 했습니다.
학부홈페이지 관리를 맡고 있는데 어셈블리 등록까지 마쳐도 이상하게도 응용프로그램 실행을 못한다고 웹브라우저에서 출력되더군요.
응용프로그램 이벤트로그 - 즉 이벤트뷰어를 보라는 이야기..- 에서 App-Domain을 만들지 못했다는 로그가 확인되서 구글링...
닷넷환경의 얾히고 섦힘 때문인가 보덥니다...

출처에서는...
웹서비스 종료해주고 net stop w3svc
최신 닷넷이 설치된 디렉토리 (c:\windows\microsoft.net\framework\vXXXX)라고 되어있는데 저는 그냥 2.0 디렉토리로 들어가서 작업했습니다. 학부홈페이지는 2.0으로 개발된거라... (WPF 개발을 해야하는 관계로 3.0, 3.5가 설치되어 있었죠.)
IIS와 연결된 모든 버전의 ASP.NET을 삭제.. aspnet_regiis -ua
v2.0로 설치.. aspnet_regiis -i
웹서비스 실행 net start w3svc
그리고 IIS에서 웹서비스 실행하면 놀랍게도 잘되더군요.
닷넷공부... 이제 시작인데 말이죠...벌써 고생길이 훤히 보입니다.ㅋㅋㅋ;;

신고

무료 XAML 편집기

Projects/CoRapport 2009.05.28 17:53 Posted by soulfree >동네청년<
나도 이젠 닷넷 & WPF 프로그래머의 기치를 내걸고 졸업논문 시스템 구현도 이제까지 주로 해왔던 자바를 떠나게 되었다.
개발환경 구축을 위하여 드림스파크에서 학생에게 무로 배포하는 블랜드2와 비주얼스튜디오2008(VS2008)을 사용하고 있었으나 블랜드에서 XAML(자멜) 편집기 수준은 그냥 문법에 색상을 넣는데 그치고 있다.
물론 VS2008에서는 자동완성 기능을 제공하고 있지만 그냥 자멜 실습만 할 요량으로 그 무거운놈을 쓰는것도 좀 그렇고
또 VS2008은 구문을 고쳐도 디자인 부분에서 바로 반영이 안되는 번거로움이 있다.

결국 자멜 편집기를 구글님에게 구하게 되었더니 역시나 해답이 나온다.
그 이름하여 Kaxaml - 가자멜이지만 왠지 가가멜에서 이름을 얻은듯하다.

사용자 삽입 이미지

스샷에서 보는 거처럼 검은 두건을 쓴 가가멜을 연상케하는 생김새를 가졌다.
뭐 블랜드에서 그 인터페이스를 가지고 왔긴 하겠다만은 말이다 ㅋ

알아낸 곳은 WPF Korea 이고 실제 다운로드 받는 주소는 이곳이다.
찰스페졸트의 WPF 프로그래밍 책을 실습할때 좋은 동반자가 될 것으로 보인다.
신고

C#과 JAVA 간단히 비교한 사이트

Projects/CoRapport 2009.04.28 11:41 Posted by soulfree >동네청년<

http://www.harding.edu/fmccown/java1_5_csharp_comparison.html

아래 복사는 Creative Commons License.에 따라 적법하게 긁어온것임.


 

Java (J2SE 5.0) and C# Comparison
This is a quick reference guide to highlight some key syntactical differences between Java and C#.
This is by no means a complete overview of either language. Hope you find this useful!
Also see VB.NET and C# Comparison.



 



Java Program Structure C#
package hello;

public class HelloWorld {
   public static void main(String[] args) {
      String name = "Java";

      // See if an argument was passed from the command line
      if (args.length == 1)
         name = args[0];

      System.out.println("Hello, " + name + "!");
    }
}
using System;

namespace Hello {
   public class HelloWorld {
      public static void Main(string[] args) {
         string name = "C#";

         // See if an argument was passed from the command line
         if (args.Length == 1)
            name = args[0];

         Console.WriteLine("Hello, " + name + "!");
      }
   }
}
Java Comments C#
// Single line
/* Multiple
    line  */

/** Javadoc documentation comments */
// Single line
/* Multiple
    line  */

/// XML comments on a single line
/** XML comments on multiple lines */
Java Data Types C#

Primitive Types
boolean
byte
char
short, int, long
float, double


Reference Types

Object   (superclass of all other classes)
String
arrays, classes, interfaces

Conversions

// int to String
int x = 123;
String y = Integer.toString(x);  // y is "123"

// String to int
y = "456";
x = Integer.parseInt(y);   // x is 456

// double to int
double z = 3.5;
x = (int) z;   // x is 3  (truncates decimal)

Value Types
bool
byte, sbyte
char
short, ushort, int, uint, long, ulong
float, double, decimal
structures, enumerations

Reference Types
object    (superclass of all other classes)
string
arrays, classes, interfaces, delegates

Convertions

// int to string
int x = 123;
String y = x.ToString();  // y is "123"

// string to int
y = "456";
x = int.Parse(y);   // or x = Convert.ToInt32(y);

// double to int
double z = 3.5;
x = (int) z;   // x is 3  (truncates decimal)

Java Constants C#
// May be initialized in a constructor
final double PI = 3.14;
const double PI = 3.14;

// Can be set to a const or a variable. May be initialized in a constructor.
readonly int MAX_HEIGHT = 9;

Java Enumerations C#

enum Action {Start, Stop, Rewind, Forward};

// Special type of class
enum Status {
  Flunk(50), Pass(70), Excel(90);
  private final int value;
  Status(int value) { this.value = value; }
  public int value() { return value; }
};

Action a = Action.Stop;
if (a != Action.Start)
  System.out.println(a);              
// Prints "Stop"

Status s = Status.Pass;
System.out.println(s.value());      // Prints "70"

enum Action {Start, Stop, Rewind, Forward};

enum Status {Flunk = 50, Pass = 70, Excel = 90};

No equivalent.





Action a = Action.Stop;
if (a != Action.Start)
  Console.WriteLine(a);             // Prints "Stop"

Status s = Status.Pass;
Console.WriteLine((int) s);       // Prints "70"

Java Operators C#

Comparison
==  <  >  <=  >=  !=

Arithmetic
+  -  *  /
(mod)
/  
(integer division if both operands are ints)
Math.Pow(x, y)

Assignment
=  +=  -=  *=  /=   %=   &=  |=  ^=  <<=  >>=  >>>=  ++  --

Bitwise
&  |  ^   ~  <<  >>  >>>

Logical
&&  ||  &  |   ^   !

Note: && and || perform short-circuit logical evaluations

String Concatenation
+

Comparison
==  <  >  <=  >=  !=

Arithmetic
+  -  *  /
(mod)
/  
(integer division if both operands are ints)
Math.Pow(x, y)

Assignment
=  +=  -=  *=  /=   %=  &=  |=  ^=  <<=  >>=  ++  --

Bitwise
&  |  ^   ~  <<  >>

Logical
&&  ||  &  |   ^   !

Note: && and || perform short-circuit logical evaluations

String Concatenation
+

Java Choices C#

greeting = age < 20 ? "What's up?" : "Hello";

if (x < y)
  System.out.println("greater");

if (x != 100) {   
  x *= 5;
  y *= 2;
}
else
  z *= 6;

int selection = 2;
switch (selection) {     // Must be byte, short, int, char, or enum
  case 1: x++;            // Falls through to next case if no break
  case 2: y++;   break;
  case 3: z++;   break;
  default: other++;
}

greeting = age < 20 ? "What's up?" : "Hello";

if (x < y) 
  Console.WriteLine("greater");

if (x != 100) {   
  x *= 5;
  y *= 2;
}
else
  z *= 6;

string color = "red";
switch (color) {                          // Can be any predefined type
  case "red":    r++;    break;       // break is mandatory; no fall-through
  case "blue":   b++;   break;
  case "green": g++;   break;
  default: other++;     break;       // break necessary on default
}

Java Loops C#

while (i < 10)
  i++;

for (i = 2; i <= 10; i += 2)
  System.out.println(i);

do
  i++;
while (i < 10);

for (int i : numArray)  // foreach construct 
  sum += i;

// for loop can be used to iterate through any Collection
import java.util.ArrayList;
ArrayList<Object> list = new ArrayList<Object>();
list.add(10);    
// boxing converts to instance of Integer
list.add("Bisons");
list.add(2.3);   
// boxing converts to instance of Double

for (Object o : list)
  System.out.println(o);

while (i < 10)
  i++;

for (i = 2; i <= 10; i += 2)
  Console.WriteLine(i);

do
  i++;
while (i < 10);

foreach (int i in numArray) 
  sum += i;

// foreach can be used to iterate through any collection 
using System.Collections;
ArrayList list = new ArrayList();
list.Add(10);
list.Add("Bisons");
list.Add(2.3);

foreach (Object o in list)
  Console.WriteLine(o);

Java Arrays C#
int nums[] = {1, 2, 3};   or   int[] nums = {1, 2, 3};
for (int i = 0; i < nums.length; i++)
  System.out.println(nums[i]);

String names[] = new String[5];
names[0] = "David";

float twoD[][] = new float[rows][cols];
twoD[2][0] = 4.5;

int[][] jagged = new int[5][];
jagged[0] = new int[5];
jagged[1] = new int[2];
jagged[2] = new int[3];
jagged[0][4] = 5;

int[] nums = {1, 2, 3};
for (int i = 0; i < nums.Length; i++)
  Console.WriteLine(nums[i]);

string[] names = new string[5];
names[0] = "David";

float[,] twoD = new float[rows, cols];
twoD[2,0] = 4.5f;

int[][] jagged = new int[3][] {
    new int[5], new int[2], new int[3] };
jagged[0][4] = 5;

Java Functions C#
// Return single value
int Add(int x, int y) {
   return x + y;
}

int sum = Add(2, 3);

// Return no value
void PrintSum(int x, int y) {
   System.out.println(x + y);
}

PrintSum(2, 3);

// Primitive types and references are always passed by value
void TestFunc(int x, Point p) {
   x++;
   p.x++;      
// Modifying property of the object
   p = null;    // Remove local reference to object
}

class Point {
   public int x, y;
}

Point p = new Point();
p.x = 2;
int a = 1;
TestFunc(a, p);
System.out.println(a + " " + p.x + " " + (p == null) );  // 1 3 false




// Accept variable number of arguments
int Sum(int ... nums) {
  int sum = 0;
  for (int i : nums)
    sum += i;
  return sum;
}

int total = Sum(4, 3, 2, 1);   // returns 10

// Return single value
int Add(int x, int y) {
   return x + y;
}

int sum = Add(2, 3);

// Return no value
void PrintSum(int x, int y) {
   Console.WriteLine(x + y);
}

PrintSum(2, 3);

// Pass by value (default), in/out-reference (ref), and out-reference (out)
void TestFunc(int x, ref int y, out int z, Point p1, ref Point p2) {
   x++;  y++;  z = 5;
   p1.x++;       // Modifying property of the object     
   p1 = null;    // Remove local reference to object
   p2 = null;   // Free the object
}

class Point {
   public int x, y;
}

Point p1 = new Point();
Point p2 = new Point();
p1.x = 2;
int a = 1, b = 1, c;   // Output param doesn't need initializing
TestFunc(a, ref b, out c, p1, ref p2);
Console.WriteLine("{0} {1} {2} {3} {4}",
   a, b, c, p1.x, p2 == null);   // 1 2 5 3 True

// Accept variable number of arguments
int Sum(params int[] nums) {
  int sum = 0;
  foreach (int i in nums)
    sum += i;
  return sum;
}

int total = Sum(4, 3, 2, 1);   // returns 10

Java Strings C#

// String concatenation
String school = "Harding ";
school = school + "University";   // school is "Harding University"

// String comparison
String mascot = "Bisons";
if (mascot == "Bisons")    
// Not the correct way to do string comparisons
if (mascot.equals("Bisons"))  
// true
if (mascot.equalsIgnoreCase("BISONS"))  
// true
if (mascot.compareTo("Bisons") == 0)   // true

System.out.println(mascot.substring(2, 5));   // Prints "son"

// My birthday: Oct 12, 1973
java.util.Calendar c = new java.util.GregorianCalendar(1973, 10, 12);
String s = String.format("My birthday: %1$tb %1$te, %1$tY", c);

// Mutable string
StringBuffer buffer = new StringBuffer("two ");
buffer.append("three ");
buffer.insert(0, "one ");
buffer.replace(4, 7, "TWO");
System.out.println(buffer);     // Prints "one TWO three"

// String concatenation
string school = "Harding ";
school = school + "University";   // school is "Harding University"

// String comparison
string mascot = "Bisons";
if (mascot == "Bisons")   
// true
if (mascot.Equals("Bisons"))   
// true
if (mascot.ToUpper().Equals("BISONS"))  
// true
if (mascot.CompareTo("Bisons") == 0)    // true

Console.WriteLine(mascot.Substring(2, 3));    // Prints "son"

// My birthday: Oct 12, 1973
DateTime dt = new DateTime(1973, 10, 12);
string s = "My birthday: " + dt.ToString("MMM dd, yyyy");

// Mutable string
System.Text.StringBuilder buffer = new System.Text.StringBuilder("two ");
buffer.Append("three ");
buffer.Insert(0, "one ");
buffer.Replace("two", "TWO");
Console.WriteLine(buffer);     // Prints "one TWO three"

Java Exception Handling C#

// Must be in a method that is declared to throw this exception
Exception ex = new Exception("Something is really wrong.");
throw ex;  

try {
  y = 0;
  x = 10 / y;
} catch (Exception ex) {
  System.out.println(ex.getMessage());
} finally {
 
// Code that always gets executed
}

Exception up = new Exception("Something is really wrong.");
throw up;  // ha ha


try
{
  y = 0;
  x = 10 / y;
} catch (Exception ex) {     
// Variable "ex" is optional
  Console.WriteLine(ex.Message);
} finally {
 
// Code that always gets executed
}

Java Namespaces C#

package harding.compsci.graphics;












import
harding.compsci.graphics.Rectangle;  // Import single class

import harding.compsci.graphics.*;   // Import all classes

namespace Harding.Compsci.Graphics {
  ...
}

or

namespace Harding {
  namespace Compsci {
    namespace Graphics {
      ...
    }
  }
}

// Import all class. Can't import single class.
using Harding.Compsci.Graphics;

Java Classes / Interfaces C#

Accessibility keywords
public
private
protected
static



// Inheritance
class FootballGame extends Competition {
  ...
}

// Interface definition
interface IAlarmClock {
  ...
}

// Extending an interface
interface IAlarmClock extends IClock {
  ...
}

// Interface implementation
class WristWatch implements IAlarmClock, ITimer {
   ...
}

Accessibility keywords
public
private
internal
protected
protected internal
static

// Inheritance
class FootballGame : Competition {
  ...
}

// Interface definition
interface IAlarmClock {
  ...
}

// Extending an interface
interface IAlarmClock : IClock {
  ...
}

// Interface implementation
class WristWatch : IAlarmClock, ITimer {
   ...
}

Java Constructors / Destructors C#

class SuperHero {
  private int mPowerLevel;

  public SuperHero() {
    mPowerLevel = 0;
  }

  public SuperHero(int powerLevel) {
    this.mPowerLevel= powerLevel;
  }

  // No destructors, just override the finalize method
  protected void finalize() throws Throwable {
    super.finalize();   // Always call parent's finalizer  
  }
}

class SuperHero {
  private int mPowerLevel;

  public SuperHero() {
     mPowerLevel = 0;
  }

  public SuperHero(int powerLevel) {
    this.mPowerLevel= powerLevel;
  }

  ~SuperHero() {
   
// Destructor code to free unmanaged resources.
    // Implicitly creates a Finalize method.

  }
}

Java Objects C#

SuperHero hero = new SuperHero();

hero.setName("SpamMan");
hero.setPowerLevel(3);

hero.Defend("Laura Jones");
SuperHero.Rest();  // Calling static method

SuperHero hero2 = hero;   // Both refer to same object
hero2.setName("WormWoman");
System.out.println(hero.getName());  // Prints WormWoman

hero = null;   // Free the object

if (hero == null)
  hero = new SuperHero();

Object obj = new SuperHero();
System.out.println("object's type: " + obj.getClass().toString());
if (obj instanceof SuperHero)
  System.out.println("Is a SuperHero object.");

SuperHero hero = new SuperHero();

hero.Name = "SpamMan";
hero.PowerLevel = 3;

hero.Defend("Laura Jones");
SuperHero.Rest();   // Calling static method

SuperHero hero2 = hero;   // Both refer to same object
hero2.Name = "WormWoman";
Console.WriteLine(hero.Name);   // Prints WormWoman

hero = null ;   // Free the object

if (hero == null)
  hero = new SuperHero();

Object obj = new SuperHero();
Console.WriteLine("object's type: " + obj.GetType().ToString());
if (obj is SuperHero)
  Console.WriteLine("Is a SuperHero object.");

Java Properties C#

private int mSize;

public int getSize() { return mSize; }
public void setSize(int value) {
  if (value < 0)
    mSize = 0;
  else
    mSize = value;
}


int s = shoe.getSize();
shoe.setSize(s+1);

private int mSize;

public int Size {
  get { return mSize; }
  set {
    if (value < 0)
      mSize = 0;
    else
      mSize = value;
  }
}

shoe.Size++;

Java Structs C#



No structs in Java.

struct StudentRecord {
  public string name;
  public float gpa;

  public StudentRecord(string name, float gpa) {
    this.name = name;
    this.gpa = gpa;
  }
}

StudentRecord stu = new StudentRecord("Bob", 3.5f);
StudentRecord stu2 = stu;  

stu2.name = "Sue";
Console.WriteLine(stu.name);   
// Prints "Bob"
Console.WriteLine(stu2.name);   // Prints "Sue"
Java Console I/O C#
java.io.DataInput in = new java.io.DataInputStream(System.in);
System.out.print("What is your name? ");
String name = in.readLine();
System.out.print("How old are you? ");
int age = Integer.parseInt(in.readLine());
System.out.println(name + " is " + age + " years old.");


int c = System.in.read();   // Read single char
System.out.println(c);      // Prints 65 if user enters "A"

// The studio costs $499.00 for 3 months.
System.out.printf("The %s costs $%.2f for %d months.%n", "studio", 499.0, 3);

// Today is 06/25/04
System.out.printf("Today is %tD\n", new java.util.Date());

Console.Write("What's your name? ");
string name = Console.ReadLine();
Console.Write("How old are you? ");
int age = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("{0} is {1} years old.", name, age);
// or
Console.WriteLine(name + " is " + age + " years old.");

int c = Console.Read();  // Read single char
Console.WriteLine(c);    // Prints 65 if user enters "A"

// The studio costs $499.00 for 3 months.
Console.WriteLine("The {0} costs {1:C} for {2} months.\n", "studio", 499.0, 3);

// Today is 06/25/2004
Console.WriteLine("Today is " + DateTime.Now.ToShortDateString());

Java File I/O C#

import java.io.*;

// Character stream writing
FileWriter writer = new FileWriter("c:\\myfile.txt");
writer.write("Out to file.\n");
writer.close();

// Character stream reading
FileReader reader = new FileReader("c:\\myfile.txt");
BufferedReader br = new BufferedReader(reader);
String line = br.readLine();
while (line != null) {
  System.out.println(line);
  line = br.readLine();
}
reader.close();

// Binary stream writing
FileOutputStream out = new FileOutputStream("c:\\myfile.dat");
out.write("Text data".getBytes());
out.write(123);
out.close();

// Binary stream reading
FileInputStream in = new FileInputStream("c:\\myfile.dat");
byte buff[] = new byte[9];
in.read(buff, 0, 9);  
// Read first 9 bytes into buff
String s = new String(buff);
int num = in.read();  
// Next is 123
in.close();

using System.IO;

// Character stream writing
StreamWriter writer = File.CreateText("c:\\myfile.txt");
writer.WriteLine("Out to file.");
writer.Close();

// Character stream reading
StreamReader reader = File.OpenText("c:\\myfile.txt");
string line = reader.ReadLine();
while (line != null) {
  Console.WriteLine(line);
  line = reader.ReadLine();
}
reader.Close();


// Binary stream writing

BinaryWriter out = new BinaryWriter(File.OpenWrite("c:\\myfile.dat"));
out.Write("Text data");
out.Write(123);
out.Close();

// Binary stream reading
BinaryReader in = new BinaryReader(File.OpenRead("c:\\myfile.dat"));
string s = in.ReadString();
int num = in.ReadInt32();
in.Close();

Page last modified: 11/10/2007 07:31:19

Copyright © 2004 by Frank McCown
Please send any corrections or comments to fmccown@harding.edu.

Home

Creative Commons License
This work is licensed under a Creative Commons License.

신고

http request 및 response 헤더 보여주는 툴

Projects/CoRapport 2009.04.12 18:26 Posted by soulfree >동네청년<
헤더를 못봤다면 헤매였을 아까운 시간들 모두다 save ㅠㅠ;;ㅋㅋ 이젠 밝게 웃자

정확한 용도는 http 메시지 trace 용도이다. 제목도 HTTP trace!!
http://www.schroepl.net/cgi-bin/http_trace.pl
신고

닷넷 euc-kr 형식처리

Projects/CoRapport 2009.04.11 17:57 Posted by soulfree >동네청년<

스트림리더에 있었구나 ㅠㅠ 바이트 바꾸고 삽질했네...

http://hoons.kr/board.aspx?Name=qacshap&Mode=2&BoardIdx=7428&Key=&Value=

핵심은...
TextReader r = (TextReader)new StreamReader(res.GetResponseStream(), System.Text.Encoding.Default);

신고
TAG EUC-KR, 닷넷

닷넷에서 쿠키로 인증된 세션유지하기 :

http://ttjkim.egloos.com/5455842
http://mihye.tistory.com/tag/CookieContainer --> 이 링크에서 보여주는 6번째 문장 다음에 CookieContainer 객체를 HttpWebRequest 객체의 CookieContainer 필드에 넣어줘야  정상적으로 동작할 것입니다.
즉 아래 소스의 붉은색 부분을 추가해줘야 합니다...


 

string repURL = "http://이미지주소.jpg";  
string weburl = "http://게시판주소.php";

/// Call Web Request   
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(weburl);  

//이부분에 다음과 같이 해줘야 할 것이다.
req.CookieContainer = new CookieContainer();

/// Read the content.  
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();                            

req = (HttpWebRequest)WebRequest.Create(repURL);  
req.CookieContainer = new CookieContainer(); /// 쿠키를 동일하게 해줍니다.  
req.CookieContainer.Add(resp.Cookies);  
req.Method = "GET"; /// GET방식으로 바꾸어 줍니다. (POST로 할 시 HTTP 403 Error 발생합니다.)                   

/// Read the content.  
WebResponse res = req.GetResponse();  
Image img = Image.FromStream(res.GetResponseStream());  
img.Save("special.bmp"); /// 받아온 이미지 저장 


 

왜냐하면 쿠키 컨테이너 객체가 생성되지 않은 상태에서 response 객체의 쿠키정보를 정상적으로 저장하지 못하기 때문입니다.

또한 HttpWebResponse 객체에 응답을 저장하고 작업을 완료했으면 close 메서드를 사용해서 스트림을 꼭 닫아줘야합니다. resp.Close() 이런식으로... 안그러면 어떤 경우에는 응답을 제대로 받지 못하는 WebException이 발생할 것입니다....
데이터베이스 쿼리랑 결과 받아오는 곳과 같은 소켓 + 스트림을 다루면 열었으면 닫는다는 생각을 항상하고 있는데
C 수업시간에도 파일입출력 가르쳐주면서 항상 강조했는데
이런 실수로 1~2시간을 낭비하다니 참... 서글픕니다...

신고

http://hc.apache.org/index.html

OverView

The Hyper-Text Transfer Protocol (HTTP) is perhaps the most significant protocol used on the Internet today. Web services, network-enabled appliances and the growth of network computing continue to expand the role of the HTTP protocol beyond user-driven web browsers, while increasing the number of applications that require HTTP support.

Designed for extension while providing robust support for the base HTTP protocol, the HttpComponents may be of interest to anyone building HTTP-aware client and server applications such as web browsers, web spiders, HTTP proxies, web service transport libraries, or systems that leverage or extend the HTTP protocol for distributed communication.

신고

이런저런 이유로 CoPlace 제작을 생각하다

Projects/CoRapport 2009.04.10 21:06 Posted by soulfree >동네청년<

이 글 위에와 같은 이유로 실버라이트 또는 플랙스 플래쉬 기반의 웹 컴포넌트 형식의 다운로더를 제작하는 것은 제약이 있었습니다.
가장 간단한 해결책은 파일쓰기기능을 부분적으로 지원한다는 실버라이트 3.0을 기다리던지
플랙스+AIR 기반으로 제작하는 것,
피해야 미덕이 된 액티브 X 기반으로 다운로드 컴포넌트를 제작하는 것이었죠.

실버라이트3.0을 기다린다 하여도 제작툴인 블랜드3가 무료로 제공된다는 보장도 없고 - 실은 개발환경 구축이 얽히고 섥히는게 싫음 - 또 졸업하기 전에 나올거라는 보장이 없어서 패스...
플랙스+AIR 기반 프로그램을 하려니 툴을 구입할 돈이 없고 액션 스크립트보다는 C#프로그래밍을 통한 윈도 어플리케이션을 만들고 싶어서 패스...
액티브X는 생각도 안하고 있습니다.

액티브X 처럼 동작하는 컴포넌트라면 차라리 그냥 어플리케이션을 만들어야겠다는 생각이 들어서
WPF기반의 UI를 제공하는 다운로드 어플리케이션을 제작하기로 마음 먹었습니다.
그것이 바로 CoPlace입니다.

용도는 우리 실험실 선배님들의 역작인 iPlace - 웹기반 EJB 기술을 통한 협업 공동 작업 환경 웹 어플리케이션 -의 파일을 다운로드 받는 것이 주 용도가 되겠습니다.

차후 다운로드 기능이 어느정도 정상적으로 동작을 하면 교수님께 알려드리고 iPlace에서 지원하는 기능과 CoSpace - 웹데브 프로토콜을 이용한 협업 공동 작업 환경 소프트웨어 - 에서 아쉬웠던 기능을 집어 넣을까 생각해봅니다.

신고
실버라이트로 멀티 다운로드 컴포넌트를 만들 수 있을까 해서 이틀동안 고민해보았습니다.
일단은 안될거 같다는 결론이 드네요.
문제는 실버라이트의 보안요소 때문입니다.
파일을 쓰기위한 파일의 전체경로를 얻을 수 있는 메서드와 궁극적으로 파일을 쓰는 메서드가 보안중요로 묶여있어서,
런타임시 억세스할 수 없다는 에러메시지가 브라우저에 표시되는군요.
뭐 전용공간 isolated storage에 저장하도록 만들수는 있겠지만 적용하려는 웹 사이트 사용자들 지탄이 우려됩니다 ㅎㅎ;;
좀더 다른 방법을 찾아보아야겠어요 ㅎ ;;;
신고
은근히 시리얼 다룰 일이 많다...

http://msdn.microsoft.com/ko-kr/magazine/cc301786(en-us).aspx#S1

내가 사용하게 되는 firmtech의 BTWIN BM2001 블루투스 USB 어뎁터에서는
AT코드라는 firmtech 회사에서 만들어 내장한 명령어로 블루투스 장치와 통신하는데
제공되는 예제 프로그램으로도 아주 잘~~ 동작되었다.
AT코드를 수정할려면 이놈도 AVR 프로그램을 해야된다... 즉... 이 작은 놈 안에 ATMega128이 내장되어 있다는 이야기더라... 헐... 한번 진짜 심도있게 AVR 프로그램 공부를 해볼까...
신고

.NET 용 블루투스 라이브러리

Projects/CoRapport 2009.03.16 17:15 Posted by soulfree >동네청년<
http://inthehand.com/
검색을 통하여 알아낸...
이제 시작인지라... 좋은지 안좋은지는 모르겠다...
신고

[스크랩] RSS 재가공 라이브러리 'ROME'

Projects/CoRapport 2009.02.23 02:38 Posted by soulfree >동네청년<
http://javacan.tistory.com/entry/ReadRSSAtomFeedUsingROME

https://rome.dev.java.net/
신고

http://itmedia.kaist.ac.kr/

Proactive Display 연구를 위해서 간추린 링크...

http://itmedia.kaist.ac.kr/entry/차세대웹기술수업-강의02-All-About-Participation
http://itmedia.kaist.ac.kr/entry/차세대웹기술수업-강의02-02-참여시스템의-분류
http://itmedia.kaist.ac.kr/entry/차세대웹기술수업-강의02-02-PageRankRecommendationFolksonomy-Collective-Intelligence
http://itmedia.kaist.ac.kr/entry/차세대웹기술수업-강의02-01-All-About-Open-Sharing
http://itmedia.kaist.ac.kr/entry/차세대웹기술수업-강의03-02-Advanced-Issues-About-OpenSharing
http://itmedia.kaist.ac.kr/entry/차세대웹기술수업-강의03-03-Advanced-Issues-About-OpenSharing-Open-Social
http://itmedia.kaist.ac.kr/entry/차세대웹기술수업-강의03-05-Advanced-Issues-About-OpenSharing-Data-Portability
http://itmedia.kaist.ac.kr/entry/차세대웹기술수업-강의04-01-All-About-Platform

신고