반응형

HTML과 Javascript를 사용하면서 발견한 간단한 팁을 공유하고자 한다.


보통 HTML의 INPUT 태그의 직접 입력이나 변경을 방지하기 위해,

다음과 같이 readonly속성을 사용한다.

<input type="text" name="test1" value="test" readonly>


하지만, 유독 radio 버튼에 대해서는 이 readonly속성이 먹히지 않는다.

다음과 같이 해도, radio버튼을 클릭하면 선택이 바뀐다.

<input type="radio" name="test2" value="선택1" checked readonly>선택1

<input type="radio" name="test2" value="선택2" readonly>선택2


검색을 해보면 해결방법이 나오지만,

보다 간단한 해결책을 찾아내게 되었다.


<간단한 해결책>

<input type="radio" name="test2" value="선택1" checked onclick="return(false);">선택1

<br>

<input type="radio" name="test2" value="선택2" onclick="return(false);">선택2

<결과>

선택1
선택2



반응형
반응형

다음 사이트에, 방법이 잘 정리되어 있다.

Spring을 이용한 페이지 권한처리 방법


방법의 핵심은, Spring의 인터셉터(Interceptor) 기능을 이용하는 것이다.

인터셉터(Interceptor)란, 말 그대로 해당 URL을 표시하기 전에 처리를 가로채서 

흐름을 바꾼다는 것이다.

이 인터셉터(Interceptor)를 구현하여, 조건에 맞으면 원래 흐름대로 처리하고,

조건에 맞지 않으면 처리를 다른 방향으로 돌릴 수 있다.

이것은, 서블릿(Servlet)의 필터(Filter)와도 비슷한 개념이지만,

Spring에 좀더 특화되었기 때문에 Spring에서 사용하기에는 좀더 쉬운 것 같다.

 

반응형
반응형

요즘은 클라우드 컴퓨팅 시대라

장소에 구애받지 않고 동일한 작업을 할 수 있는 환경이

대세가 되어 가고 있는 것 같다.


한편, 인공지능을 비롯한 다양한 분야의 연구개발용으로

파이썬(python)은 인기있는 언어이다.

파이썬을 배우는 입장에서,

온라인상에서 코딩하고 테스트해 볼 수 있는 환경이 있다면

아주 편리할 것이다.

실제로 찾아보니, 이미 존재한다.




찾아보면 다른 방법들도 존재할 것이다.


반응형
반응형

웹으로 PDF 자동 생성 기능을 구현하려고 할 때,

기존에는 서버사이드에서 생성해서 다운로드하는 방법이 일반적이었다.

하지만 클라이언트 사이드에서도, 자바스크립트를 통해 생성할 수 있는 방법이 있다.

또한, 클라이언트 사이드에서 생성할 경우에는

HTML 화면을 그대로 PDF로 변환할 수 있다는 장점까지 있다.

다음과 같은 Javascript 라이브러리들을 이용하면 된다.



Javascript를 이용해서 직접 PDF문서를 꾸미려 한다면, jsPDF를 쓰는 것이 좋다.

반면에, HTML 화면을 그대로 PDF로 옮기려 하는 경우에는,

jsPDF + html2canvas를 쓰던가, html2pdf를 쓰는 것이 좋다.

html2pdf는, 내부적으로 jsPDF와 html2canvas를 결합해서 만든 라이브러리이므로,

jsPDF + html2canvas를 쓰는 것과 결과는 같지만, 사용하기는 좀더 편할 것이다.


또한, HTML을 PDF로 옮기는 경우 글자가 흐릿하게 번져 보일 수 있는데,

이 문제는 html2pdf에서 DPI를 300로 설정하면 해결된다.

상세한 내용은, 추후 다루도록 하겠다.

반응형
반응형

simpleGraph.js

모니터링 화면에 필요해서 개발하게 되었고,

기능을 일반화시켜서 Javascript 라이브러리로 만들게 되었다.


이미 날고 기는 그래프 라이브러리들이 많이 있지만,

기존 라이브러리리를 이용하지 않았다.

직접 만들고, 소스를 공유하고, 개선하는 과정 속에서

나 스스로 배울 수 있는 것들이 많이 있을 것 같고 재미도 있을 것 같아서이다.

 

그래서 소스도 GitHub에 올려 공유하고,

틈틈이 업데이트도 하려 한다.


주소는 다음과 같다.



simpleGraph.js samples

Bar Graph

Line Graph

Pie Graph

반응형
반응형

Rad 10.1 Berlin Starter 버전에서 사용하려고 TeeChart를 설치하였는데,

막상 Design Time에서 컴포넌트를 추가하려 하니,

dclado240.bpl를 찾을 수 없다는 에러 메세지가 나왔다.


그래서 검색해 보니, 

Starter버전에서 TeeChart를 사용하기 위한 방법이 나와 있었다.


내용을 요약해 보면,

TeeChart를 설치했을 때 컴포넌트에 기본으로 추가되는 BPL 대신,

Starter 버전용 BPL을 컴포넌트를 추가하라는 내용이다.

현재 사용 중인 PC 환경을 기준으로,

TeeChart용 BPL은 다음 폴더에 위치한다.

C:\Program Files (x86)\Steema Software\Steema TeeChart Standard VCL FMX 2016.19\Delphi24\Delphi24.win32\Bin


거기에 보면, 다음과 같은 파일들이 있다.

  • DclTee924.bpl
  • DclTeeStd924.bpl
  • DclFMXTee924.bpl
  • DclFMXTeeStd924.bpl

위의 파일들 중에, 정식버전 VCL용 파일은 

  • DclTee924.bpl

이며, Starter버전 VCL용 파일은

  • DclTeeStd924.bpl

이다.

[Component]->[Install Packages]로 들어가서,

DclTee924.bpl을 삭제하고 DclTeeStd924.bpl을 추가하면 된다.




반응형
반응형

다음 사이트에, 델파이에서 Firebird DB를 사용하는 

여러가지 방법(유로 및 무료 컴포넌드)이 나와 있다.


http://www.firebirdfaq.org/faq7/

반응형
반응형

Embarcadero Rad10.1의 starter버전에 보면,

TWebBrowser 대신 FMX TWebBrowser이 있다.

검색해 보니, 이 두가지는 사용 방법이 다르다고 한다.

FMX TWebBrowser의 사용 예제가 다음 사이트에 잘 나와 있다.

일본어로 되어 있는데, 구글 번역으로 손쉽게 한글 번역이 가능하다.

http://www.nabeta.tk/cgengo/cbk/fmx_webbrowser.html



반응형
반응형

Rad 10.1 Berlin으로 빌드하는 중에,

다음과 같은 에러가 발생하였다.

[ilink32 Warning] Warning: Error detected (LME288)

[ilink32 Error] Error: Unable to perform link

처음에는 링크 경로에 문제가 있는줄 알고 링크 경로를 수정해 보았지만,

문제가 해결되지 않았다.

그래서 검색을 하다가,

다음 두가지 해법을 찾았다.

  1. 메모리 할당
    • http://stackoverflow.com/questions/28929516/c-builder-xe7-lme288-error
    • 위 사이트의 내용을 정리해 보면, 
      • 할당된 메모리가 적어서 위와 같은 에러가 발생하므로,
      • 3GB의 메모리를 할당해 주면 해결이 된다는 것이다.
      • 메모리를 할당하는 방법은 다음과 같다.
        1. 관리자 권한으로 CMD(Command Prompt)를 실행한다.
        2. "bcdedit /set IncreaseUserVa 3072"라고 쓰고 엔터를 친다.
        3. 컴퓨터를 다시 시작한다.
      • 위와 같이 한 다음 다시 빌드를 하니, 정상적으로 되었다.
  2. 관리자 권한으로 실행
    • 며칠 후, 같은 에러가 발생하였고, 1번 방법으로 해도 해결이 되지 않았다.
    • 그래서 검색을 해보니, 권한 문제일 수 있다는 내용이 있었다.
    • 다음과 같은 방법으로 해결하였다.
      1. RAD 10.1 Berlin을 관리자 권한으로 실행
      2. 해당 프로젝트를 연다.
      3. 빌드


반응형
반응형
  • 델파이/C++빌더에 TServerSocket, TClientSocket 등록하기
  • ShellControls
  • RxLibrary
    • 다음 사이트에서 Rad 버전별 적용버전 다운로드 가능
    • 다운로드 후, 해당 Rad버전의 그룹 프로젝트를 연 다음, 각 프로젝트의 빌드 속성을 다음과 같이 변경한다.
      • Option -> Delphi Compiler -> Output-C/C++ -> C/C++ Output file generation을 Generate all C++ Builder files (including package libs)로 변경
    • DclRxDB240.bpl의 RxDBReg.pas를 다음과 같이 변경
      • 192행의 'if GDAL = LongWord(-16) then Exit;' 구문을 코멘트 처리
    • units폴더의 RX.inc의 27행 코멘트 해제({$DEFINE USE_RX_GIF}로 변경)
    • 빌드 하면 라이브러리가 생성됨
  • 에러 대처 방법
    • Cannot find DesignIntf
      • Add '-LUDesignIde' to the PFLAGS node, and add DesignIde.bpi to the requires node.
      • (Option->Delphi Compiler->Compiling->Other Options-> Additional Options to pass to the compiler에 '-LUDesignIde' 추가)
    • Cannot find FiltEdit
      • Add '-LUdclstd' to the PFLAGS node, and add dclstd.bpi to the requires node.
      • (Option->Delphi Compiler->Compiling->Other Options-> Additional Options to pass to the compiler에 '-LUdclstd' 추가)


반응형

+ Recent posts