web programming... -_-a

leilei의 이미지

gif 이미지를 만들어 주는 C로 만든 어플이 하나 있는데요...
웹에서 이놈을 실행시켜서 만들어진 이미지를 웹브라우저에 뿌리고 싶은데..
어찌해야 잘 했다는 소리를 들을 수 있을련지 모르겠네요.. ^^a

생각해야 할건 속도구요.. 가능한 빠르게 처리를 해 줘야 한다네요..
php로 그냥 어플을 바로 실행해야 할지 아님 어떤 다른 방법이 있을지..

좋은 방법 좀 추천해 주세요..

whatisid의 이미지

cgi 권한이 막힌게 아니라면, 바로 cgi로 실행되게 하시면 될텐데요^^

namhw의 이미지

phpschool 에서 찾아봤는데,,,이런 방법도 있을것 같네요.

http://phpschool.com/bbs2/inc_view.html?id=39365&code=function2&start=0&mode=search&field=title&search_name=&operator=and&period=all&category_id=&s_que=c%BE%F0%BE%EE

아니면 제작하신 C 프로그램을 포기하시고 PHP에서 GD라이브러리를
이용해서 이미지를 생성하는 프로그램을 만들어도 좋을것 같습니다.

촌놈.

whatisid의 이미지

코드를 php로 새로 만드는 의견이 나와서 방법 하나 추가합니다.

많은 스터디와 시간이 필요한 방법 중에 하나로

Zend API를 만드는 방법도 있습니다.

http://www.php.net/manual/en/zend.php

속도가 정말 중요하고, 개발기간은 상대적으로 덜 촉박하다면,

한번 고려해 보심이.....

ssehoony의 이미지

반응 시간이 중요하고 이미지가 실시간으로 갱신되는게 아니라면
crond 로 일정 주기로 이미지를 생성하고 웹에서는 그냥 그 이미지를 보여주니느게 좋겠네요.
다만 신경 쓸게 파일명이 변경이 일어나지 않으면 사용자는 캐쉬된 이미지 때문에 실제 서버에서 이미지가 변경되도 클라이언트는 변하지 않는 경우가 있으니깐 src="img.gif?[unixtimestamp]" 하는 식으로 ? 인자로 이미지 변경에 맞춰 변하는 임의의 인자를 넘겨 주시면 될 것네요.

ironiris의 이미지

어떤 이미지인지 알려주시면 다른 분들이 상황에 맞는 시나리오를 알려주시기 편할것 같습니다.

leilei의 이미지

ironiris wrote:
어떤 이미지인지 알려주시면 다른 분들이 상황에 맞는 시나리오를 알려주시기 편할것 같습니다.

전체 커다란 이미지가 이미 마련되어 있습니다..
그중에 클라이언트쪽에서 어떤 위치를 중심으로 일정한 크기의 어떤 부분을
요구하게 됩니다. 그럼 그 부분만 담아서 보여 주는 방식입니다.

가능한 빠른 시간안에 응답을 해 줘야 합니다.. 현재로썬...
그냥 php로 system()이나 exec()로 실행...
인자로 받은 경로에 이미지를 만든다음 그 만들어진 이미지의 경로를
html안에 담아서 줄까 생각 중입니다.

progcom의 이미지

leilei wrote:
ironiris wrote:
어떤 이미지인지 알려주시면 다른 분들이 상황에 맞는 시나리오를 알려주시기 편할것 같습니다.

전체 커다란 이미지가 이미 마련되어 있습니다..
그중에 클라이언트쪽에서 어떤 위치를 중심으로 일정한 크기의 어떤 부분을
요구하게 됩니다. 그럼 그 부분만 담아서 보여 주는 방식입니다.

가능한 빠른 시간안에 응답을 해 줘야 합니다.. 현재로썬...
그냥 php로 system()이나 exec()로 실행...
인자로 받은 경로에 이미지를 만든다음 그 만들어진 이미지의 경로를
html안에 담아서 줄까 생각 중입니다.

속도를 기준으로 본다면 해당 프로그램을 네트워크 데몬으로 바꾸어버리는게 가장 빠릅니다. 메모리에 이미지를 미리 로드해놓고, 직접 HTTP 접속을 관리해서 요청이 넘어오는대로 잘라서 뿌리는게 빠를테지요. (이미지 전용 웹서버가 되겠군요)
FastCGI로 비슷하게 구성하는 것도 괜찮을테고요.

큰 이미지라는걸 생각하면, 실제로 처리 시간도 시간이지만, 디스크에서 읽어들이는데에도 소모 시간이 클 것 같습니다.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.