2015년 12월 22일 화요일

디엠샵 테스트 구축 삽질기...

간만에 php 를 했더니.. 많이 까먹음..(핑게....)


1. 일단 관리자 로그인 했더니.. 태그 라이브러리들이 그냥 보임..

2. php 설정 빼먹음... short_open_tag 설정 해줌..

3. 이번엔 메뉴가 다 깨짐..

4. ftp 올릴때.. 바이너리로 안 올렸나 싶어.. 파일 다시 업로드 해봤지만.. 똑같음..

5. db 데이터를 살펴보니.. 한글 데이터가 일부 깨진것으로 보임..

6. database drop 하고 다시 재생성 한뒤 install 디렉토리 안의 두개의 sql 돌려 버림..

7. 돌리다 에러남..

8. 또 구글링....

9. 데이터 한덩어리씩 넣어보니.. 버티컬바(|) 가 들어있는 데이터가 문제있는 걸 발견

10. 원래 들어가지 않았나?? 싶어서. .찾아보니.. sql client가 문제였음..

11. 현재 squrrel 사용중..  다람쥐에서 프로시저 구분자를 버티컬 바로 한다는 자료 찾음.

12. http://stackoverflow.com/questions/2510618/why-does-mysql-refuse-pipe-character-in-string-on-insert-into

13. 설정 변경후 쿼리 돌리니.. 잘 돌아간다~~~

14. 관리자 비번 까먹음.. 다음 처럼..

update shop_user set user_pw = password(123456) where user_id = 'admin';

DMSHOP 테스트 설치 삽질기

1. dmshop 이전 구축 할 지도 모른다는 얘기에.. 테스트 구축 해 봄..

2. 소스 다운 받아서 설치 해보니.. 뭐 간단함..

3. CentOS 6.5 + mysql + php 5.3.3 + apache + ionCube(별도로 설치해야 함!)

4. 근데!!! 갑자기 Zend 관련 오류 발생

5. 그러면서 httpd subsys lock이 걸림..

6. 처음엔 httpd 문제인 줄 알고 열나 구글링...

7. 검색 2시간째...

   php 5.3 이상부터는 Zend란 확장기능 설치 방법이 변경 됐다는 걸 알아냄..

8. Zend Optimizer 란걸 설치 함. 절라 많이 바뀜..

9. 다시 httpd 재 시작... 여전히 오류..

   참고 로그..

 
[Tue Dec 22 11:18:53 2015] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Dec 22 11:18:53 2015] [notice] Digest: generating secret for digest authentication ...
[Tue Dec 22 11:18:53 2015] [notice] Digest: done
[Tue Dec 22 11:18:53 2015] [warn-phpd] The ionCube Loader is a Zend-Engine extension and not a module (pid 4221)
[Tue Dec 22 11:18:53 2015] [warn-phpd] Please specify the Loader using 'zend_extension' in php.ini (pid 4221)
PHP Fatal error: Unable to start ionCube Loader module in Unknown on line 0

10. 슬슬 감이옴..
현재 php.ini 에는 다음과 같이 설정했었음..
[Zend.loader]
zend_extension=/usr/lib64/php/modules/ZendGuardLoader.so
;zend_extension=/usr/lib64/php/modules/ioncube_loader_lin_5.3.so
zend_loader.enable = 1
zend_loader.disable_licensing = 0
zend_loader.obfuscation_level_support = 3
zend_loader.license_path =

11. 근데 로그 보면.. zend_extionsion 을 써주라고 되어 있음.. 그래서.. 기존 문법대로 써 줘봤음.. 위의 Zend.loader의 윗쪽에 추가..

[Zend]
;zend_extension=/usr/lib64/php/modules/ZendGuardLoader.so
zend_extension=/usr/lib64/php/modules/ioncube_loader_lin_5.3.so

12. 어? 된다!!!!!

13. 삽질 끗~~~!

2015년 12월 18일 금요일

MSSQL 쿼리 기록 조회...

어떤 쉐리가 데이터 지웠는데.. 안했다고 잡아 때는 중... 잡아서 고문해주마!!!

으흐흐흐흐흐흐흐흐흐!!!!





SELECT TOP 100 creation_time, 
               last_execution_time, 
               total_clr_time, 
               total_clr_time / execution_count         AS [Avg CLR Time], 
               last_clr_time, 
               execution_count, 
               Substring(st.text, ( qs.statement_start_offset / 2 ) + 1, 
               ( 
               ( CASE statement_end_offset 
               WHEN -1 THEN Datalength(st.text) 
               ELSE qs.statement_end_offset 
                                                                             END 
                 - 
                 qs.statement_start_offset ) / 2 ) + 1) AS statement_text 
FROM   sys.dm_exec_query_stats AS qs 
       CROSS apply sys.Dm_exec_sql_text(qs.sql_handle) AS st 
ORDER  BY total_clr_time / execution_count DESC; 

2015년 12월 16일 수요일

Class ASP 윈도우 메시지 서비스 정리한거..

하도 까먹어서 잘 된거 퍼옴..

Windows 2000 에서 발송

Set ObjMail        = Server.CreateObject("CDONTS.NEWMAIL")                                   ' 개체생성
ObjMail.Subject  = "테스트 메일 제목입니다."                                                             ' 메일제목
ObjMail.From     = "진실세상"                                                  ' 보내는사람 (형식 : 표시할이름<메일주소>) 
ObjMail.To         = "받는사람1;받는사람2"      ' 받는사람
ObjMail.Cc         = "참조1;참조2"                    ' 참조 
ObjMail.Bcc       = "숨은참조1;참조2"           ' 숨은참조  
ObjMail.Body     = "HTML 테스트 내용입니다."                     ' 메일 내용                           
ObjMail.MailFormat = 0                                                                                          ' HTML일떄 0, 일반 Text일때 1 으로 설정한다.
ObjMail.BodyFormat = 0                                                                                         ' HTML일떄 0, 일반 Text일때 1 으로 설정한다.
ObjMail.AttachFile "d:/Test/test.jpg"                                                                        ' 첨부파일 
ObjMail.Send
Set ObjMail = Nothing
%> 
※ 참고 : To, Cc, Bcc는 세미콜론(;)으로 연결해서 여러명에게 발송 가능합니다. (형식 : 표시할이름<메일주소>;표시할이름<메일주소>;....) 
             파일명을 변경해서 보낼경우 (ObjMail.AttachFile "d:/Test/test.jpg", "1.jpg")

Windows 2003 에서 발송1. 기본구조

Set ObjMail     = Server.CreateObject("CDO.Message")                                             ' 개체생성
ObjMail.Subject = "테스트 메일 제목입니다."                                                             ' 메일제목
ObjMail.From     = "진실세상"                                                  ' 보내는사람 (형식 : 표시할이름<메일주소>) 
ObjMail.To         = "받는사람1;받는사람2"      ' 받는사람
ObjMail.Cc         = "참조1;참조2"                    ' 참조 
ObjMail.Bcc       = "숨은참조1;참조2"           ' 숨은참조  
ObjMail.Body     = "HTML 테스트 내용입니다."                     ' 메일 내용                           
ObjMail.TextBody = "테스트 메일 내용입니다."                                                          ' 텍스트 메일 내용                           
ObjMail.Send
Set ObjMail = Nothing
%>
2. 내용을 HTML 형식으로 발송할 경우
ObjMail.TextBody 를 다음으로 변경하면 됩니다.
ObjMail.HTMLBody = "HTML 테스트 내용입니다.
ObjMail.HTMLBodyPart.Charset = "euc-kr"                                                              ' 알맞은 Charset 을 명시
3. 내용을 웹페이지나 파일을 읽어서 발송하는 경우
ObjMail.TextBody 를 다음으로 변경하면 됩니다.
ObjMail.CreateMHTMLBody "http://truepia.tistory.com/"               ' 웹페이지를 보내는 경우
ObjMail.CreateMHTMLBody "file:///d:/Test/test.html"                  ' 서버에 있는 파일을 보내는 경우
서버에 있는 파일을 보내는 경우 확장자가 html 또는 htm 이여야만 합니다.
아... 또 실험정신발동~!!!!!
zip 파일을 확장자만 바꿔서 보내볼까? 해서 보내보니 역시 보내집니다. ㅋㅋ (보안상 문제가 될 소지가 있어보입니다.)
4. 첨부파일을 보내는 경우
다음 코드를 ObjMail.Send 코드 위에 추가해 주시면 됩니다.
ObjMail.AddAttachment "http://icon.daum-img.net/top/cms/logo/2008/12/nano46827545881876601.gif"  ' URL형식의 첨부파일도 가능함.
ObjMail.AddAttachment "d:/Test/test.jpg"           
단 위에 명시한 파일 경로는 서버에 있는 파일경로를 의미합니다.
클라이언트의 파일을 전송하려면 먼저 클라이언트의 파일을 서버로 업로드 하고 서버에 저장된 파일 경로를 명시해 줘야 합니다.
여러개의 첨부파일을 보낼경우 계속적으로 ObjMail.AddAttachment 로 추가해 주면 됩니다.
5. 로컬이 아닌 원격지 메일 서버를 사용하여 메일을 발송하는 경우
CDO.Configuration.Fields 는 여러개가 있지만 가장 대표적으로 쓰는것만 살펴보겠습니다.

Set ObjMail     = Server.CreateObject("CDO.Message")                                ' 개체생성
Set ObjConf     = Server.CreateObject("CDO.Configuration")                          ' 개체생성
Set Flds = ObjConf.Fields
' 1:local SMTP로 발송(pickup directory), 2:원격지 SMTP로 발송
Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2          
Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.domain.com"  ' 도메인 or IP
Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25                     ' 원격지 SMTP Port 번호
Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "username"       ' 원격지 SMTP에 인증이 있을경우 계정
Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "passwd"          ' 원격지 SMTP에 인증이 있을경우 비밀번호
Flds.Update
Set ObjMail.Configuration = ObjConf
ObjMail.Subject = "테스트 메일 제목입니다."                                                             ' 메일제목
ObjMail.From     = "진실세상"                                                  ' 보내는사람 (형식 : 표시할이름<메일주소>) 
ObjMail.To         = "받는사람1;받는사람2"      ' 받는사람
ObjMail.Cc         = "참조1;참조2"                    ' 참조 
ObjMail.Bcc       = "숨은참조1;참조2"           ' 숨은참조  
ObjMail.TextBody = "테스트 메일 내용입니다."                                                          ' 텍스트 메일 내용   
ObjMail.AddAttachment "d:/Test/test.jpg"                              
ObjMail.Send
Set ObjMail = Nothing
%> 
단 mail.domain.com 서버의 SMTP에서 소스가 있는 서버에서 접근할 수 있도록 릴레이 제한이 풀려있어야 합니다.
그렇지 않을 경우 ObjMail.Send 라인에서 에러가 발생합니다.

6. 배달 확인 / 읽음 확인 구현 방법
Set ObjMail     = Server.CreateObject("CDO.Message")                                ' 개체생성
Set ObjConf     = Server.CreateObject("CDO.Configuration")                          ' 개체생성

Set Flds = ObjConf.Fields
' 1:local SMTP로 발송(pickup directory), 2:원격지 SMTP로 발송
Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2          
Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.domain.com"  ' 도메인 or IP
Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25                     ' 원격지 SMTP Port 번호
Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "username"       ' 원격지 SMTP에 인증이 있을경우 계정
Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "passwd"          ' 원격지 SMTP에 인증이 있을경우 비밀번호
Flds.Update
Set ObjMail.Configuration = ObjConf
ObjMail.Subject = "테스트 메일 제목입니다."                                                             ' 메일제목
ObjMail.From     = "진실세상"                                                  ' 보내는사람 (형식 : 표시할이름<메일주소>) 
ObjMail.To         = "받는사람1"                                                 ' 받는사람
ObjMail.TextBody = "테스트 메일 내용입니다."                                                          ' 텍스트 메일 내용   
ObjMail.DSNOptions = 14' 이 메시지의 배달 상태 확인(delivery status notification:DSN)값으로 14는 배달 성공, 실패 및 지연시 확인메시지 생성
' 0 : 확인메세지 생성 안함
' 1 : 확인메세지 생성 안함
' 2 : 배달 실패시 확인메시지 생성
' 4 : 배달 성공시 확인메시지 생성
' 8 : 배달 지연시 확인메시지 생성
'14 :  배달 성공, 실패 및 지연시 확인메시지 생성
ObjMail.Fields("urn:schemas:mailheader:return-receipt-to")= "진실세상"
' 받는 사람이 이 메시지를 열었을 때 읽음 확인 메시지가 여기에서 지정된 사람에게 보내집니다.
ObjMail.Send
Set ObjMail = Nothing
%>

2015년 12월 15일 화요일

OpenSource 통계툴로 RStudio 란 걸 봤다..

다운로드 경로

https://www.rstudio.com/products/rstudio/

튜토리얼 경로

https://github.com/rstudio/Intro/tree/master/slides




회사 매출 분석 자료로 쓸 수 있는 방법을 구상해 봐야겠다..

2015년 12월 7일 월요일

한때 미친듯이 공부했던 JavaFX...

James Weaver 란 사람의 블로그에 메일링을 걸어놔서..

가끔씩 메일이 들어오면 바로 삭제했는데..

문득 궁금해서 들어가 봤다..

공부할때.. JavaFX JDK가 1.2 정도 됐던거 같은데..

현재.. 1.3.... 망했어요.....




문득 많이 아쉽다..

2015년 12월 4일 금요일

postfix 메일 수신 불가 관련..

회사 메일 서버에서 국세청 관련 메일이 안들어오고 있었음..

로그에는 동적 아이피가 발송하는 메일 따윈 받을 수 없다라고, 외치고 있었음..


별 짓 다하다가.. 드디어 성공...

로그상에 일단.. helo 를 전송시에 끊기기에.. postfix의 helo 설정을 손보기로 함..

/etc/postfix/helo_access.pcre

부분에서..

Reject adsl spammer 기능을 전부 주석처리 하니까 됨..

처음에는 dhcp만 주석 처리 했는데.. 전혀 효과가 없었음.


[낯선] 2026.06.20 이태원 MZK MuzikBar 공연

간만의 공연 이태원 비틀즈가 이전하여 MZK MuzikBar 로 새 단장 오픈을 한 뒤로 2번째 공연 새 베이시스트가 합류한 뒤로 첫 공연이기도 함.. 이래저래 틀린 부분도 많지만.. 그래도 간만에 그럭저럭 잘했다.. https://www.youtub...