겸손한 개발을 위한 자양분


아웃룩으로 일정관리를 해왔는데,

하루에 수십통씩 메일이 오다보니
메일 저장 공간을 1년마다 분리해줘야 하는 불편함이 있었다.
( 분리를 하지 않으면 1Gb 가 넘는 저장공간에 느려지고 멈추고 막 그런다 아웃룩... )

다음으로, 구글으로 일정관리를 하려 했으나,
내 일정은 괜찮겠지만, 회사 일정이 타사의 DB에서 관리된다는
보안상의 취약점이 있어 포기해야했다.

그래서 찾게된 것이
ical 을 지원하는 웹베이스의 일정관리 프로그램 phpicalendar 되겠다.

ical 은 애플에서 지원되는 캘린더인데,
많이 유명한가보다.
아웃룩에서도 지원이되고, 구글 캘린더, 무슨 캘린더, 저런 캘린더 왠만한 캘린더에서는 다 지원한다.
이것이 가장 큰 장점.

즉, phpicalendar 를 사용하면,
자신의 서버에 ical 형식의 데이터를 두어,
웹에서 일정을 볼 수 있고,
사용자는 자신이 사용하기 편한 툴을 사용하여 일정을 갱신하면 된다.


다음은 지금 구축하고 있는 일정관리의 진행.


phpicalendar 를 설치하고 주의 일정을 웹상에 게시한 화면이다.
ical이 공유된 상태에서 자동으로 갱신된다.


ical 을 관리하고 공유하기 위해 사용하는 툴로는
windows calendar 를 사용하고 있다.
vista 에서 기본제공되는 프로그램으로
기능은 오피스보다 떨어지지만,
오피스보다 가볍다는 장점 하나만으로... 쓰고있다...

일단, 더 봐야하겠지만
ical은 플랫폼의 특성을 타지 않고 사용할 수 있다는
장점. 그 확장성으로 진행에 무리는 없을것 같다.


http://phpicalendar.net/

환경 :
  WindowsServer 2003
  Apache 2.x
  WebDav모듈사용.
  phpicalendar 2.24 설치


phpicalendar 2.24를 설치하고
한글테스트를 진행하였는데,
메인화면에서는 잘 표시되는 한글이
이벤트를 클릭하면 깨져서 표시된다.

이벤트를 출력해주는 소스파일은 다음과 같다
/phpcalendar2.24/includes/event.php

에디트 툴을 이용해서
해당 파일을 열고

$event['description']  = stripslashes(utf8_decode(urldecode($event['description'])));
$event['event_text'] = stripslashes(utf8_decode(urldecode($event['event_text'])));
$event['location'] = stripslashes(utf8_decode(urldecode($event['location'])));

위의 문장을 찾아 붉은색 부분을 삭제해 준다

$event['description']  = stripslashes((urldecode($event['description'])));
$event['event_text'] = stripslashes((urldecode($event['event_text'])));
$event['location'] = stripslashes((urldecode($event['location'])));

이처럼 수정하고, 저장후에
이벤트를 확인하면
한글이 정상적으로 출력되는것을 볼 수 있다.

NAME

signal - list of available signals

DESCRIPTION

Linux supports both POSIX reliable signals (hereinafter "standard signals") and POSIX real-time signals.

Standard Signals

Linux supports the standard signals listed below. Several signal numbers are architecture dependent, as indicated in the "Value" column. (Where three values are given, the first one is usually valid for alpha and sparc, the middle one for i386, ppc and sh, and the last one for mips. A - denotes that a signal is absent on the corresponding architecture.)

The entries in the "Action" column of the table specify the default action for the signal, as follows:

Term
Default action is to terminate the process.
Ign
Default action is to ignore the signal.
Core
Default action is to terminate the process and dump core.
Stop
Default action is to stop the process.

First the signals described in the original POSIX.1 standard.

Signal Value Action Comment







or death of controlling process
SIGINT 2 Term Interrupt from keyboard
SIGQUIT 3 Core Quit from keyboard
SIGILL 4 Core Illegal Instruction
SIGABRT 6 Core Abort signal from abort(3)
SIGFPE 8 Core Floating point exception
SIGKILL 9 Term Kill signal
SIGSEGV 11 Core Invalid memory reference
SIGPIPE 13 Term Broken pipe: write to pipe with no readers
SIGALRM 14 Term Timer signal from alarm(2)
SIGTERM 15 Term Termination signal
SIGUSR1 30,10,16 Term User-defined signal 1
SIGUSR2 31,12,17 Term User-defined signal 2
SIGCHLD 20,17,18 Ign Child stopped or terminated
SIGCONT 19,18,25
Continue if stopped
SIGSTOP 17,19,23 Stop Stop process
SIGTSTP 18,20,24 Stop Stop typed at tty
SIGTTIN 21,21,26 Stop tty input for background process
SIGTTOU 22,22,27 Stop tty output for background process

The signals SIGKILL and SIGSTOP cannot be caught, blocked, or ignored.

Next the signals not in the POSIX.1 standard but described in SUSv2 and SUSv3 / POSIX 1003.1-2001.

Signal Value Action Comment




SIGPOLL
Term Pollable event (Sys V). Synonym of SIGIO
SIGPROF 27,27,29 Term Profiling timer expired
SIGSYS 12,-,12 Core Bad argument to routine (SVID)
SIGTRAP 5 Core Trace/breakpoint trap
SIGURG 16,23,21 Ign Urgent condition on socket (4.2 BSD)
SIGVTALRM 26,26,28 Term Virtual alarm clock (4.2 BSD)
SIGXCPU 24,24,30 Core CPU time limit exceeded (4.2 BSD)
SIGXFSZ 25,25,31 Core File size limit exceeded (4.2 BSD)

Up to and including Linux 2.2, the default behaviour for SIGSYS, SIGXCPU, SIGXFSZ, and (on architectures other than SPARC and MIPS) SIGBUS was to terminate the process (without a core dump). (On some other Unices the default action for SIGXCPU and SIGXFSZ is to terminate the process without a core dump.) Linux 2.4 conforms to the POSIX 1003.1-2001 requirements for these signals, terminating the process with a core dump.

Next various other signals.

Signal Value Action Comment




SIGEMT 7,-,7 Term
SIGSTKFLT -,16,- Term Stack fault on coprocessor (unused)
SIGIO 23,29,22 Term I/O now possible (4.2 BSD)
SIGCLD -,-,18 Ign A synonym for SIGCHLD
SIGPWR 29,30,19 Term Power failure (System V)
SIGINFO 29,-,-
A synonym for SIGPWR
SIGLOST -,-,- Term File lock lost
SIGWINCH 28,28,20 Ign Window resize signal (4.3 BSD, Sun)
SIGUNUSED -,31,- Term Unused signal (will be SIGSYS)

(Signal 29 is SIGINFO / SIGPWR on an alpha but SIGLOST on a sparc.)

SIGEMT is not specified in POSIX 1003.1-2001, but neverthless appears on most other Unices, where its default action is typically to terminate the process with a core dump.

SIGPWR (which is not specified in POSIX 1003.1-2001) is typically ignored by default on those other Unices where it appears.

SIGIO (which is not specified in POSIX 1003.1-2001) is ignored by default on several other Unices.

Real-time Signals

Linux supports real-time signals as originally defined in the POSIX.4 real-time extensions (and now included in POSIX 1003.1-2001). Linux supports 32 real-time signals, numbered from 32 (SIGRTMIN) to 63 (SIGRTMAX). (Programs should always refer to real-time signals using notation SIGRTMIN+n, since the range of real-time signal numbers varies across Unices.)

Unlike standard signals, real-time signals have no predefined meanings: the entire set of real-time signals can be used for application-defined purposes. (Note, however, that the LinuxThreads implementation uses the first three real-time signals.)

The default action for an unhandled real-time signal is to terminate the receiving process.

Real-time signals are distinguished by the following:

1.
Multiple instances of real-time signals can be queued. By contrast, if multiple instances of a standard signal are delivered while that signal is currently blocked, then only one instance is queued.
2.
If the signal is sent using sigqueue(2), an accompanying value (either an integer or a pointer) can be sent with the signal. If the receiving process establishes a handler for this signal using the SA_SIGACTION flag to sigaction(2) then it can obtain this data via the si_value field of the siginfo_t structure passed as the second argument to the handler. Furthermore, the si_pid and si_uid fields of this structure can be used to obtain the PID and real user ID of the process sending the signal.
3.
Real-time signals are delivered in a guaranteed order. Multiple real-time signals of the same type are delivered in the order they were sent. If different real-time signals are sent to a process, they are delivered starting with the lowest-numbered signal. (I.e., low-numbered signals have highest priority.)

If both standard and real-time signals are pending for a process, POSIX leaves it unspecified which is delivered first. Linux, like many other implementations, gives priority to standard signals in this case.

According to POSIX, an implementation should permit at least _POSIX_SIGQUEUE_MAX (32) real-time signals to be queued to a process. However, rather than placing a per-process limit, Linux imposes a system-wide limit on the number of queued real-time signals for all processes. This limit can be viewed (and with privilege) changed via the /proc/sys/kernel/rtsig-max file. A related file, /proc/sys/kernel/rtsig-max, can be used to find out how many real-time signals are currently queued.

CONFORMING TO

POSIX.1

SEE ALSO

kill(1), kill(2), setitimer(2), sigaction(2), signal(2), sigprocmask(2), sigqueue(2)

> ldd 실행파일이름

lloyd@lloyd-desktop:~/MyProjects/MyFirstTest/bin/Release$ ldd /usr/lib/libstdc++.so.6
    linux-gate.so.1 =>  (0xb7f5a000)
    libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7e33000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7e28000)
    libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7cd8000)
    /lib/ld-linux.so.2 (0xb7f5b000)


de·pend·en·cy, -an·cyn. (pl. -cies)
1 의존 (상태)
2 종속;부속 건물, 별관
3 속국, 보호령
4 식솔
5 의존증, 중독()

디펜던시, 의존성