자바로 GUI구현했는데요.

chy5205의 이미지

안녕하세요..

요즘 자바로 프로젝트에 한창인 프로그래머 입니다.

다름이 아니라 제가 요즘 프로젝트 하는게 자바를 이용한 컴파일러 구현입니다.

이것을 하게된 이유는 제가 대학생 프로그래밍 경시대회를 준비하다가 팀연습을 위해 모여야 하는데 다들 시간상 바쁘고 그래서

어느 한 서버에 접속해서 방장이 컴파일할수 있는 고유권한을 가지고 접속한 상대방들은 코딩을 할수 있고 코딩한 내용은 실시간으로 접속자에게 보여지게 되고

방장이 컴파일을 하면 결과를 각 접속자에게 뿌려주는 프로그램을 구현중입니다.

뭐 부가적인것으로 채팅을 넣을수도 있겠구요..

채팅같은 경우는 거의 모든 자바 프로젝트에 많이 있더라구요.

근데 컴파일러를 구현할려고 하니까 막상 벽에 막힌거 같은 기분이 드네요.

이제 제가 궁금한점 몇개 있습니다.

1) 코딩은 문제가 없습니다. 그냥 GUI에 Text하나 넣어서 거기에 코딩을 하면 되니깐요.
하지만 그 내용을 컴파일을 할려고 하니 어렵네요.

어떻게 VB studio나 Dev를 끌어와야 될지 도통 감이 오질 않습니다.

현재 운영중엔 코드패드http://codepad.org) 처럼 만들어 보고싶습니다.

혹시 저와같은 프로젝트를 하셨거나 비슷한 프로젝트를 하신 경험자분의 조언을 구합니다.

danskesb의 이미지

처음에 자바로 컴파일러 구현이라는 말만 듣고 단순한 프로젝트는 아닌 거 같다고 답글 달려고 했는데, 기능 목록을 보니 개발 환경 같네요. 컴파일러하고는 다릅니다.

코드패드 같은 걸 구현하고 싶다면 이미 설치되어 있는 컴파일러를 불러온 다음, 그 결과를 되돌려줘야 할 겁니다. 자바에서 외부 실행 파일을 불러올 수 있는 방법은 찾아보면 바로 나옵니다. http://download.oracle.com/javase/1.5.0/docs/api/java/lang/ProcessBuilder.html 여기도 참고하세요. 상대방이 서로를 신뢰할 수 있는 환경이라면 모르겠지만, 대화방에 참가한 사람이 악의적인 코드를 의도적으로 컴파일해서 실행하는 걸 막게 하는 환경 짜는 것도 또 하나의 과제입니다.

---- 절취선 ----
http://blog.peremen.name

chy5205의 이미지

참고해보고 만들어볼께요...

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.