'2007/10'에 해당되는 글 6건

Spring In Action 두번째 판 :: 2007/10/30 09:25

스프링 인 액션
 아마존닷컴이 오랜만에 리모델링을 했다. 왠만해서 잘 디자인을 바꾸지 않던 아마존이..

내가 아는 싸이트 중에 대표적으로 디자인을 안바꾸는 싸이트 중 하나로 무역거래와 관련된 Worldbid.com 이란 싸이트가 있다. 내가 캐나다에 있었을 때 밴치마킹 했던 싸이트인데 밴쿠버 빅토리아 섬에 있고 그 당시 이 분야에서는 No.1 이었다. 사업모델이 우수하고 그 분야에서 초기 선점을 해서 단순해 보이는 싸이트지만 전세계에 회원수도 많고 지금도 탄탄할 것이다.

그런데 5년이 넘도록 디자인이 그대로이다. 이 분야 있는 사람들은 변하는 것을 싫어하나 보다.  

8월 중순에 "Spring In Action" 책을 출간된 이후 바로 주문을 했다. 그런데 그동안 예약주문이 많았던 탓인지 9월 초가 되서야 출고가 되었다. 한국까지 오는데 1~2주 걸려 추석 바로전에 한달이 넘어서 책을 받아봤다.

그동안 이런저런 일로 바쁜 탓에 자세히 못봤는데, 시간이 되는데로 정리를 해볼까 한다.

인기있는 프로그래밍 언어는? :: 2007/10/25 10:03

프로그래밍 언어에 대한 (인기)지수를 한달에 한번씩 업데이트하여 보고하는 싸이트이다.

http://www.tiobe.com/tpci.htm



웹프로그래밍 언어에서 본 인기도를 조사한 내용이 있네요.

http://www.jasonkolb.com/weblog/2007/02/programming_tre.html


Job Market

Jobs

Available jobs are a pretty good indicator of the number of development projects for a given language.  Java pretty much dominates in this area, with C# coming in a distant second, and ASP.NET and PHP not too far behind.  Not a bad showing for Microsoft, actually.

Monthly Searches

Monthly_searches

Monthly searches show pretty much the same trend, Java is the 800-lb gorilla here too.  Surprisingly, though, Javascript is second even though it's not anywhere near the top in available jobs.  I suppose that could be because it's almost the de-facto programming language of the Web, so all the hobbyist and design programmers tend to use it as well.

Open Source Projects

Open_source_projects

Ah, open source projects, the secret sauce for many programmers and the foundation of many custom development projects.  Java still wins this round, but PHP gives it a run for its money.  C# gives a strong showing as well, surprisingly--strong open source support for a proprietary language, very interesting.

Dollars Per Click

Dollars_per_click

Every programming has an ecosystem of products around it, whether its training and certification, IDE's, or debugging and profiling tools.  The dollars per click that advertisers are willing to pay is a good indication of how much competition there is for upsells of the language, and in this area Java finally meets some serious competition from PHP.

Books Available

Books_available

I'm not surprised that Java dominates the number of books available since it's been around the longest, but C# again makes a strong showing here coming in right after PHP.

뉴욕의 프로그래머 :: 2007/10/24 18:49

뉴욕의 프로그래머
얼마전 온라인 서점을 뒤지다 책을 2권 샀다.

하나는 임백준님의 소설 "뉴욕의 프로그래머"이고, 또 하나는 징징대는 아이에게 시달리는 와이프를 위한 "배려깊은 사랑이 행복한 영재를 만든다"이다.

프로그래머를 직업으로 하고 있는 사람들은 한번 읽어보면 좋은 책인듯하다. 소설이지만 참 공감하고 재밌는 스토리이다.

"컴퓨터 사이언스를 가르치는 교육이 어떤 사람을 전문적인 프로그래머로 만들지 못하는 것은 붓짓과 채색방법을 가르치는 교육이 어떤 사람을 전문적인 화가로 만들지 못하는 것과 같다."

"실수를 못견뎌하고 두려워하는 사람은 실수로부터 아무것도 배우지 못하는 사람만큼이나 성장 가능성이 없다. 나날이 성장하는 사람은 실수를 두려워하지도 않고 거부하지도 않는다. 실수는 아픈 고통을 안겨주지만 성장하는 사람은 그것을 자신의 일부로 끌어안고 실수와 함께 나아간다. 실수 자체는 비웃을 일이 아닌다. 다만 실수와 함께 성장하지 못하는 사람은 웃음거리가 될 만하다."

TortoiseCVS 사용하기 :: 2007/10/22 10:51

3년 전에 회사내에서 CVS 사용 전도(?)를 위해 작성한 문서이다.
Eclipse + CVS 사용 압박에도 텍스트편집기만 쓰길 래..

http://www.java2go.net/tools/cvs/tortoisecvs.html

Compiling and Building with MinGW :: 2007/10/15 13:56


Compiling and Building with MinGW


How to create a console application

Here's an example. The following is a code sample for a simple C program. Cut and paste it into a file named hello.c to try it out.

#include <stdio.h>

int main(int argc, char **argv)
{
  printf ("Hello\n");
  return (0);
}
           
If you want to create a console mode executable hello.exe from a c file called hello.c, try the following:
gcc -c hello.c
           
This compiles hello.c into an object file, hello.o
gcc -o hello hello.o
           
This creates an executable hello.exe from hello.o. Alternatively, you can compile and link in one step using:
gcc -o hello hello.c 
           

The following is a code sample for a simple C++ program. Cut and paste it into a file named hello.cpp to try it out.

#include <iostream>
int main(int argc, char **argv)
{
 std::cout << "Hello" << std::endl;
 return (0);
}
           

For the C++ program, use the following to compile and link:

g++ -c hello.cpp
g++ -o hello hello.o
           

How to create a windows application?

Here's an example. The following is a code sample for a simple Windows program. Cut and paste it into a file named hello.c to try it out.

   #include <windows.h>

   int WINAPI WinMain (HINSTANCE hInstance, 
                        HINSTANCE hPrevInstance, 
                        PSTR szCmdLine, 
                        int iCmdShow) 
   {
      MessageBox (NULL, "Hello", "Hello Demo", MB_OK);
      return (0);
   }
               

If you want to create a Windows executable hello.exe, from a c file called hello.c, try the following:

   gcc -c hello.c
               
This compiles hello.c into an object file, hello.o
   gcc -o hello hello.o -mwindows
               
This creates an executable hello.exe from hello.o The -mwindows switch is needed to create Windows executables instead of console applications. It assures the appropriate Windows libraries are linked in for you. To get a console screen along with a standard windows application, add the -mconsole flag as well as -mwindows.

If you have resources from a resource file (.rc) that also need to be added to your executable, you'll need to compile the resource file as well as your other source files and include the compiled resources when linking to create the executable. Here's an example that shows how to compile and link in a resource file named resfile.rc.

   windres -o resfile.o resfile.rc
   gcc -o hello hello.o resfile.o -mwindows
               

How to create a dll

Here's an example. Cut and paste the following into a file named dllfct.h:

   #ifdef BUILD_DLL
   // the dll exports
   #define EXPORT __declspec(dllexport)
   #else
   // the exe imports
   #define EXPORT __declspec(dllimport)
   #endif

   // function to be imported/exported
   EXPORT void tstfunc (void);
               

Cut and paste the following into a file named dllfct.c:

   #include <stdio.h>
   #include "dllfct.h"

   EXPORT void tstfunc (void)
   {
      printf ("Hello\n");
   }
               

Cut and paste the following into a file named hello.c:

   #include "dllfct.h"

   int main ()
   {
      tstfunc ();
      return (0);
   }
               

To create the dll and an executable that uses it, try the following:

   gcc -c hello.c
   gcc -c -DBUILD_DLL dllfct.c
   gcc -shared -o tst.dll -Wl,--out-implib,libtstdll.a dllfct.o
   gcc -o hello.exe hello.o -L./ -ltstdll

How to create a def file for a dll

There are several methods that can be tried in order to create a definition file (.def) when one is not supplied.

  • One option is the tool, pexports which is provided in the MinGW Utilities package, mingw-utils. See the Downloads page for the Current version. If your dll has functions that use the Pascal calling convention, you'll need to use the -o option.
  • Another option is the tool, impdef. More instructions on how to create def files from dlls, a copy of impdef and more information on how to use it are available at Colin Peters' site. See the Tutorials section. Other compilers may also supply versions of the impdef program that can be used to create a .def file which will work with any compiler. If you have another version of impdef from another compiler, you may wish to try it. Some handle the Pascal calling convention better than others. Borland has a version of impdef and other compiler utilities available for download at their Borland Community web site. Their Borland C++ version 5.5 compiler includes several utilities to help convert between standard formats, their formats and Microsoft's formats.
  • Another option is to use nm which comes with the MinGW distribution. This option will not work for all dlls. Problems may occur if the dll is stripped or compiled as 16 bit. To use this technique, you'll need to filter the output from nm to create a def file. This can be done by hand in an editor or automated using tools like Perl (Practical Extraction and Report Language) or grep (global regular expression print) and sed (stream editor). Even with the automated methods, you may have to make some changes by hand if the Pascal calling convention is used by the dll. See Colin Peters' site for more details on this case. (Versions of sed and grep are available from various sites including archives that host gnuish MSDOS and archives such as Virtually Un*x that contain Win32 ports of common Unix tools and from the self-hosting MinGW port distribution. The ActiveState version of Perl works well on Win32 platforms.) Here are examples of possible filtering techniques.
    • This example uses grep and sed. If you have a dll named file.dll that you wish to create a def file for named file.def, try the following:
       
         echo EXPORTS > file.def
         nm file.dll | grep ' T _' | sed 's/.* T _//' >> file.def
                                 

      To create a library file named file.a from the dll and def file, type:

         dlltool --def file.def --dllname file.dll --output-lib file.a
                                 
    • This example uses Perl. Copy the following Perl script to a file called dll.pl and use it:
         open (OUTFILE,">dll.def");
         print OUTFILE "EXPORTS\n";
         open (INFILE,"dll.fil");
         while(<INFILE>)
         {
            if ($_ =~ /T _/)
            {
               $line = $_;
               $line =~ s/.* T _//;
               print OUTFILE $line;
            }
         }
         close (INFILE);
         close (OUTFILE);
                                 

      If you have a dll file named file.dll. At the command line, type:

         nm file.dll > dll.fil
         perl dll.pl
                                 

      A def file named dll.def will be created. You can rename this as needed. You'll also probably want to delete dll.fil when you're finished with this process.

  • If you don't have any of these tools on your system, you can still use nm to create a def file and edit it by hand through an editor. For example:
       nm file.dll > dll.fil
       find " T _" dll.fil > dll.def
                            

    Replace the line at the top of dll.def that was created by the find program and shows a file name with a line that says EXPORTS. Set your editor to search for T _ and erase it and anything on the line before it, leaving only the routine names in the file.

  • If the previous options don't work, you can still try to create a def file using the output from the objdump program (from the MinGW distribution). Here's an example.
     
       objdump -p file.dll > dll.fil
                            
    Search for [Ordinal/Name Pointer] Table in dll.fil and use the list of functions following it to create your def file.

출처: http://www.mingw.org/docs.shtml

이클립스 플러그인 모음 :: 2007/10/08 11:20

개발시 유용한 이클립스 플러그인들입니다.

Properties Editor
http://propedit.sourceforge.jp/index_en.html

AJDT: AspectJ Development Tools
http://www.eclipse.org/ajdt/downloads/

Spring IDE
http://springide.org/project/wiki/SpringideInstall

JadClipse
http://sourceforge.net/projects/jadclipse/

QuickREx
http://sourceforge.net/projects/quickrex/

Java2Html
http://www.java2html.de/eclipse.html

Maven2
http://m2eclipse.codehaus.org/

Eclipse Memory Monitor
http://www.kyrsoft.com/opentools/memmon.html

Eclipse Status Monitor
http://www.kyrsoft.com/opentools/stmemmon.html

Velocity Web Edit
http://velocitywebedit.sourceforge.net/

Subversive - SVN Team Client
http://www.eclipse.org/subversive/downloads.php
http://www.polarion.com/products/svn/subversive.php?src=eclipseproject

Subclipse - SVN Team Client
http://subclipse.tigris.org/

TestNG
http://beust.com/eclipse

EclEmma - Java Code Coverage for Eclipse
http://update.eclemma.org/

Eclipse Checkstyle
http://eclipse-cs.sourceforge.net/