반응형

클립보드를 사용한 다양한 프로그램 제어는 다양한 기능 지원으로 점점 간소화되고 있습니다. 오늘은 MFC 환경에서 자동으로 클립보드 상태 변경을 확인할 수 있는 OnClipboardUpdate 이벤트 설정에 대해서 알아보겠습니다. 클립보드를 사용하기 위해서는 Clipboard 함수를 사용해서 확인이 가능합니다. MFC에서는 이런 클립보드 상태 변경을 이벤트를 이용해서 확인 할 수 있습니다.

MFC 애플리케이션에서 대화상자기반  프로젝트를 생성합니다.

이벤트 창에서 WM_CLIPBOARDUPDATE 이벤트를 클릭해서 이벤트 함수를 생성합니다.

자동으로 생성된 이벤트를 확인할 수 있습니다. 빌드 후 실행하면 대화상자가 출력됩니다. 클립보드 이벤트를 발생하면 아무 반응이 없습니다. 아직 시스템 이벤트 리스너에 등록이 안되어 있어 이벤트를 확인할 수 없는 겁니다.

OnInitDialog() 함수로 이동해서 AddClipboardFormatListener()를 등록합니다.

https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-addclipboardformatlistener

 

AddClipboardFormatListener function (winuser.h) - Win32 apps

Places the given window in the system-maintained clipboard format listener list.

learn.microsoft.com

정상적으로 시스템 클립보드 리스너에 등록되면 자동으로 클립보드 이벤트 감지를 확인할 수 있습니다. 감사합니다.

 

반응형
반응형

오늘은 IntelliJ에서 GitHub 연동 방법을 알아보겠습니다. GitHub를 연동하면 다양한 장소에서 손쉽게 소스를 관리할 수 있어 좋습니다. 소스 이력도 관리 가능해서 개발 이력확인하기 편리합니다.

IntelliJ가 설치되어 있는 환경에서 프로그램 실행 후 File->Settings 메뉴를 클릭합니다.

Settings 창이 활성화되면, 우측 메뉴에서 GitHub 메뉴를 클릭합니다.

GitHub 메뉴를 클릭하면 우측에 GitHub 계정 리스트를 확인할 수 있습니다. 등록된 내용이 없으니까, 상단에 있는 "+" 아이콘을 클릭하면 "Log In via GitHub..."을 확인할 수 있습니다. 클릭하면 리다이렉트 되면서 WEB페이지로 이동합니다.

기존에 등록된 사용자면 자동 연결로, 등록이 가능하고, 연결된 기록이 없다면 로그인 화면 및 연동 화면으로 연결됩니다. 로그인 후 연동 화면에서 "Authorize JetBrains"를 클릭하면 정상적으로 연동 메시지를 확인할 수 있습니다.

정상적으로 등록되었다면, 리스트에서 GitHub 계정 정보를 확인할 수 있습니다. 이제 연동 계정으로 소스를 관리할 수 있습니다. 감사합니다.

반응형
반응형

플러터(Flutter)에서 TableCalendar 라이브러리를 사용해서 Calendar를 생성하면 영문으로 출력됩니다. 오늘은 캘린더를 한글로 변경하는 방법을 알아보겠습니다.

한글로 변경하는 방법은 다양하게 있지만 locale 옵션을 사용해서 간단하게 변경해 보겠습니다. 먼저 소스 상단에 import가 필요합니다.

import 'package:intl/date_symbol_data_local.dart';

intl에 포함되어 있는 date_symblo_data_local.dart 파일을 포함합니다.

main 함수에서 앱 실행 전에 DateFormatting 함수를 실행합니다.

initializeDateFormatting().then((_) => runApp(const MyApp()));

이제 TableCalendar에서 옵션으로 locale를 사용할 수 있습니다.

TableCalendar 옵션에서 " locale: 'ko-KR' "을 추가합니다.

앱을 실행하면 정상적으로 캘린더 정보가 한글로 변경되어 있는 것을 확인할 수 있습니다.

감사합니다.

반응형
반응형

플러터(Flutter)를 이용한 달력을 구현해 보겠습니다. 플러터(Flutter)에서 달력을 사용하기 위해서는 먼저 TableCalendar을 설치해야 합니다.

Android Studio Terminal 및 cmd를 사용해서 커맨드를 입력합니다.

Flutter pub add table_calendar

별 문제 없다면 정상적으로 설치되며, 설치되어 있다면 버전을 확인할 수 있습니다.

Project에서 pubspec.yaml파일로 이동 후 dependencies 항목 아래쪽에 'table_calendar: ^3.0.9'을 입력합니다. 처음 설치 시 확인된 버전을 입력하면 됩니다.

이제 패키지를 로드해야 합니다. import를 사용해서 패키지 정보를 입력합니다.

import 'package:table_calendar/table_calendar.dart';

정상적으로 TableCalendar이 설치되어 있다면 패키지가 비활성화됩니다.

main.dart 파일로 이동 후 하단에 있는 build 함수에 TableCalendar을 선언합니다.

 return Scaffold(
      appBar: AppBar(
        // Here we take the value from the MyHomePage object that was created by
        // the App.build method, and use it to set our appbar title.
        title: Text(widget.title),
      ),
      body: TableCalendar(
        firstDay: DateTime.utc(2010, 10, 16),
        lastDay: DateTime.utc(2030, 3, 14),
        focusedDay: DateTime.now(),
        ),
      );

firstDay, lastDay, focusedDay를 기본적으로 입력하면 최대, 최소 기간을 설정할 수 있고, 실행 시 오늘 날짜로 이동합니다.

정상적으로 컴파일되면 Android화면에서 TableCalendar UI를 확인할 수 있습니다. 감사합니다.

반응형
반응형
데이터 정보가 점점 증가하면서 효율적인 검색 결과를 많은 개발자들이 추구하고 있습니다. 대부분 개발에 사용되는 정보는 데이터베이스(DataBase)에 저장됩니다. 하지만 검색, 분석 등 높은 리소스를 사용하는 작업일 경우 일반 데이터베이스(DataBase)는 효율이 많이 떨어지는 문제가 있습니다. 이를 보안하기 위해서 일반적인 검색엔진을 많이 사용합니다. 오늘은 검색엔진 중에서 무료로 사용이 가능한 엘라스틱서치(Elastic Search) 설치 방법을 알아보겠습니다.

 

엘라스틱서치(Elastic Search)는 Apache Lucene(아파치 루씬)기반의 Java 오픈소스 분산 검색 엔진입니다. 엘라스틱서치(Elastic Search)를 사용해서 Lucene 라이브러리를 단독으로 사용할 수 있게 되어, 방대한 양의 데이터를 신속하게 저장, 검색, 분석할 수 있습니다. 오늘은 간단하게 Windows에서 엘라스틱서치(Elastic Search) 최신 버전인 8.4 버전을 설치해보겠습니다.

엘라스틱서치(Elastic Search) 8.4 설치 방법

 

 

Download Elastic Enterprise Search

Download Elastic Enterprise Search, a package that includes both Elastic Workplace Search (for searching across all the content in your virtual workplace) and Elastic App Search (for powerful, simple-to-implement search for your apps and websites) — all

www.elastic.co

엘라스틱서치(Elastic Search)를 설치하기 위해서 위 사이트로 이동합니다.

버전을 확인하면 8.4.0으로 확인됩니다. "Windows" 버튼을 클릭해서 파일을 다운로드합니다.

350MB 정도 크기로 클릭과 동시에 다운로드됩니다.

압축된 파일을 C드라이브에 압축을 해제합니다. 다른 드라이브에 압축을 해제하면 경로 문제로 설정이 필요합니다. 처음이면 무조건 C 드라이브 압축 해제해주세요.

압축 해제 후 elasticsearch-8.4.0폴더 아래 bin폴더로 이동합니다.

Start Elasticsearch를 확인하면 bin 폴더 아래 elasticsearch 또는 elasticsearch.bat를 실행하라고 합니다. 둘 중 아무거나 실행해줍니다.

OpenJDK 실행에 따른 액세스 허용을 클릭하고 실행합니다. 정상적으로 실행되었다면, 브라우저를 실행해서 http://localhost:9200을 입력합니다. 엘라스틱서치(Elastic Search)는 기본 포트가 9200으로 설정됩니다.

엘라스틱서치(Elastic Search) 8.4 실행 인증 오류 해결 방법

그런데 실행 후 로그인 창이 출력되면서 확인이 불가능합니다.

무시하고 실행하면 "error" 메시지를 확인할 수 있습니다. 아무래도 인증에 문제가 있어 보입니다.

elasticearch-8.4.0 하위 config 폴더로 이동해서 elasticsearch.yml 설정 파일을 오픈합니다. Visual Studo Code가 설치되어 있으면 바로 실행이 가능하고, 설치 안되어 있다면 Notepad를 사용해서 오픈하면 됩니다.

elasticearch.yml파일 맨 아래쪽으로 이동해서 ssl 인증을 비활성화해주는 옵션을 입력합니다.

xpack.security.transport.ssl.enabled:false
xpach.security.enabled:false

elasticearch.yml 파일을 저장 후 elasticsearch.bat파일을 다시 실행합니다.

이제 오류 없이 엘라스틱서치(Elastic Search) 8.4버전이 정상적으로 실행됩니다.

http://localhost:9200 입력하면 엘라스틱서치(Elastic Search) 정보를 확인할 수 있습니다. 엘라스틱서치(Elastic Search) 8.4버전 부터는 인증 문제가 발생하므로, ssl 인증 관련 내용을 옵션 처리해서 실행하면 간단하게 실행 가능합니다. 시작이 반이므로 엘라스틱서치(Elastic Search)를 공부하고 싶다면 지금 바로 설치해보세요.

감사합니다.

반응형
반응형

서버 서비스를 개발하면 클라이언트 및 서버 통신 시 패킷을 확인하면서 코드를 변경해야합니다. REST API는 서비스에 따라서 많은 기능을 지원해야 하므로, 다양한 테스트가 필요합니다. 하지만, 다양한 테스트를 진행하기 위해서는 성능이 좋은 클라이언트가 필요합니다. 오늘은 별도 클라이언트 개발 없이 바로 사용할 수 있는 크롬(Chrome) 확장 프로그램 "Talend API Tester" 설치 방법을 알아보겠습니다.

Talend API Tester은 크롬(Chrome) 확장 프로그램으로  Chrome 웹 스토어에서 설치가 가능합니다.

https://chrome.google.com/webstore/category/extensions?hl=ko 

 

Chrome 웹 스토어

Chrome에 사용할 유용한 앱, 게임, 확장 프로그램 및 테마를 찾아보세요.

chrome.google.com

Chrome 웹 스토어로 이동해서 검색창에 talend를 입력하면 Free Edition 버전을 확인할 수 있습니다.

Free Edition 버전으로 사용 인증만 진행하면 자유롭게 사용할 수 있습니다. 확장 프로그램을 클릭하면 정보를 확인할 수 있습니다.

상단 오른쪽에 있는 "Chrome에 추가" 버튼을 클릭해서 확장 프로그램을 크롬(Chrome)에 설치해주세요.

크롬(Chrome) 브라우저 상단에 있는 확장 프로그램 버튼을 클릭하면 설치된 "Talend API Tester"을 확인할 수 있습니다. 오른쪽에 있는 "고정" 아이콘을 클릭해서 상단 툴바에 고정해주세요.

"Talend API Tester"를 실행 후 라이선스를 동의하면 클라이언트 화면을 확인할 수 있습니다.

왼쪽에 있는 Project 트리에서 신규 Project를 생성해주세요. Project 단위로 패킷을 관리할 수 있어 매우 편리합니다.

Project 단위로 데이터를 저장할 수 있어 다양한 패킷을 생성 관리할 수 있습니다. 

SendData에 서버 주소를 입력해서 Send 버튼을 클릭하면 접속 확인 및 패킷 정보를 확인할 수 있습니다.

"METHOD" 항목에서 GET, POST, PUT 등 다양한 패킷 변경이 가능합니다.

정상적으로 서버에 접속하면 Response 정보를 한눈에 확인할 수 있습니다.

하단에 있는 "Add header" 메뉴를 사용해서 다양한 HEADERS 정보를 추가할 수 있어 여러 가지 REST API 테스트가 가능합니다. "Talend API Tester"는 다양한 정보 패킷을 생성할 수 있어 별도 클라이언트 개발 없이 REST API 서버를 확인할 수 있는 좋은 프로그램입니다. 별도 설치 없이 크롬(Chrome) 확장 프로그램으로 어디서나 쉽게 사용할 수 있으므로, 서버를 개발 중이라면 지금 바로 설치해서 사용해보세요.

감사합니다.

반응형
반응형

Android 프로그램을 개발하면서

최신 버전에서 발생하는 behavior 화면 스크롤하는

기능 오류를 발견했습니다.

해결법을 찾아 보니 최신 버전은

다른 코드를 사용해야 합니다.

<android.support.v7.widget.RecyclerView
android:id="@+id/filesRecyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />

@string/appbar_scrolling_view_behavior

속성을 사용하면

컴파일 시 Android resource linking failed

오류가 발생합니다.

   <android.support.v7.widget.RecyclerView
        android:id="@+id/filesRecyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScroolingViewBehavior" />

behavior 속성을

com.google.android.material.appbar.AppBarLayout$ScroolingViewBehavior

변경하면 컴파일되면서 오류가 해결됩니다.

감사합니다.

반응형
반응형

오늘은 맥북에서 설치한 도커를 사용해서 톰캣 이미지를 다운로드하여 설치해보겠습니다.

먼저 docker tomcat image를 검색합니다.

docker search tomcat

도커(docker) 명령어를 사용하면 다양한 톰캣(tomcat) 정보를 확인할 수 있습니다.

확인된 이미지를 다운받아 설치하겠습니다.

docker pull tomcat:8.5

명령어를 실행하면 순서대로 다운로드를 진행합니다.

맥이라서 그런지 Windows 보다 명령어 사용이 매우 편리합니다.

총용량은 500M 정도입니다.

다운로드가 완료되면 이미지 고유 번호가 생성되면서 docker에서 tomcat를 사용할 수 있습니다.

이미지 정보를 확인하기 위해서

docker images

명령어를 입력하면 전체 이미지를 확인할 수 있습니다.

docker에서는 pull 명령어를 사용해서 이미지를 다운로드할 수 있습니다.

설치된 docker UI에서도 Images 항목을 바로 확인할 수 있습니다.

아직 이미지만 다운로드된 상태이면 실행은 다음 시간에 알아보겠습니다.

감사합니다.

반응형
반응형

도커(Docker)는 컨테이너 기반의 오픈 소스 가상화 플랫폼입니다.

다양한 서비스를 사용해서 개발을 하게 되면 버전 업그레이드에 따라서 전체 서버를 재 세팅해야 하는 문제가 발생합니다.

도커는 버전 변경에 따른 업그레이드를 컨테이너 기반으로 생성 관리할 수 있도록 지원하는 오픈 가상화 플랫폼입니다.

오늘은 도커(Docker)를 macOS에 설치하는 방법을 알아보겠습니다.

도커(Docker)는 무료이기 때문에 홈페이지에서 바로 다운로드할 수 있습니다.

https://hub.docker.com/editions/community/docker-ce-desktop-mac

 

Docker Desktop for Mac

We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy policy

hub.docker.com

macOS는 2021년 이후 부터 Intel, Applie Chip 버전으로 구분됩니다.

전 Applie Chip 버전이기 때문에 "Mac with Apple Chip"을 다운로드했습니다.

파일 다운로드 후 클릭하면 설치가 진행됩니다.

mac OS Applications 폴더에 Drag and drop으로 Docker 파일을 이동합니다.

1.5GB 이상 파일이 설치 진행됩니다.

정상적으로 설치되면 Docker 클라이언트를 확인할 수 있습니다.

회원 가입을 통해서 다양한 도커(Docker) 기능을 사용할 수 있습니다.

우측 창을 사용해서 도커(Docker) 명령어를 사용할 수 있습니다.

좌측 메뉴를 4단계로 확인하면 로그인 후 컨테이너를 생성할 수 있습니다.

정상적으로 설치되면 "Docker -v" 명령어를 사용해서 도커(Docker) 버전을 확인할 수 있습니다.

도커(Docker) 명령어는 macOS 터미널 기능으로도 사용이 가능합니다.

도커(Docker) 기술은 오픈 소스로 다양한 개발 환경 구축 및 마이그레이션이 가능하여 버전에 따른 서버 설치 비용을 축소할 수 있습니다.

좋은 기술 이니까 모두 설치부터 시작해보세요.

감사합니다.

 

반응형
반응형

VMware 실행 시 오류가 발생하면서 실행을 못하는 문제가 발생했습니다.

처음에는 lock 파일 문제인 줄 알고 모두 삭제 후 재 실행해도 오류가 계속 발생했습니다.

오류 메시지 하단 링크를 클릭하니까 해결 방법이 있습니다.

오류 메시지 링크를 클릭해주세요.

"VMware Workstation and Device/Credential Guard are not compatible" error in VMware Workstation on Windows 10 host (2146361)

Device 오류를 해결하기 위해서는 두 가지만 해주면 됩니다.

첫 번째 "제어판" -> " 프로그램 및 기능" -> "Windows 기능 켜기/끄기"를 선택해주세요.

아래쪽에 있는 Hyper-V를 모두 언체크 해주세요.

그리고 재부팅 메시지가 발생하면 취소를 클릭해주세요. 아직 한 가지를 더 실행해야 합니다.

두 번째는 "cmd"를 관리자 권한으로 실행해주세요.

“bcdedit /set hypervisorlaunchtype off” 입력 후 정상적으로 실행되면 재부팅해주십시오.

재부팅 후 정상적으로 VMware가 동작하는 것을 확인할 수 있습니다.

감사합니다.

반응형

+ Recent posts