본문 바로가기
반응형

분류 전체보기374

Oracle vm virtualbox NAT네트워크로 인터넷 연결 오늘은 오라클 버추얼박스 설치 후 네트워크 설정방법에 대해 알아보겠습니다. 우선 네트워크 설정방식도 여러가지가 있는데 그 중에서도 NAT설정을 통한 인터넷 연결을 해보겠습니다. 1. 파일->환경 설정->네트워크로 가서... 2. 네트워크-> 오른쪽의 네트워크 추가(초록색 네모버튼)을 눌러줍니다. 3. 그리고 그 아래쪽의 설정버튼을 눌러, 네트워크 CIDR(C)를 설정합니다. (예:192.168.137.0/24, IP의 마지막 숫자는 0/24이어야 합니다. 그래야 마지막 숫자를 이용해서 내부 네트워크를 설정할 수 있습니다. 자세한 내용은 "사이더"를 검색해보시길 추천드립니다.) 4. 파일->호스트 네트워크 관리자 메뉴를 클릭합니다. 5. IPv4 주소(I): 부분을 설정합니다. (아까 설정한 대역에 맞추어.. 2020. 4. 10.
go언어 gui 실행시 콘솔 안보이게 하는 방법 콘솔에서 빌드 시 -ldflags -H=windowsgui 플래그옵션을 함께 줘서 합니다.go build -ldflags -H=windowsgui filename.go 2020. 4. 8.
go언어 윈도우즈용 실행파일 아이콘 만들기-리소스해커 오늘은 또다시 새로운 시도를 해 봅니다.다들 Golang 강좌 / Web Framework 등 관련 포스트들이 많은데, 이 블로그에서는 항상 사이드 팁들만 올리는 것 같네요. 하지만 누군가는 필요한 사람도 있겠죠?^^;; 그렇게 믿어봅니다. Golang 윈도우즈용 실행파일을 만들고나면 너무 멋없잖아요? 특히나 바탕화면에 둘 때엔..이렇게.... 그래서 준비했습니다.윈도우즈용 실행파일 아이콘 만들기!!우선, 이거 하나 해보겠다고 Stack Overflow 꼬부랑 글씨 따라 한 삽질이 좀 되는데요...1). goversioninfo 설치 1 go get github.com/josephspurrier/govrsioninfo/cmd/goversioninfo 2. testdata/resource/versionin.. 2020. 4. 8.
go언어 fyne layout 예제 Fyne를 이용하여 Layout 구성하는 예제입니다.//Fyne Layout Test package main import ( "fmt" "fyne.io/fyne" "fyne.io/fyne/app" "fyne.io/fyne/layout" "fyne.io/fyne/widget" ) func main() { f := app.New() w := f.NewWindow("") //상단에 넣을 위젯 및 레이아웃 - NewFormLayout lb_db_addr := widget.NewLabel("DB Address") tf_db_addr := widget.NewEntry() tf_db_addr.SetPlaceHolder("database@databaseservr.com:1526/orcl") lbUser := widge.. 2020. 4. 7.
go언어 fyne table만들기 Fyne를 이용하여 GUI에서 테이블을 구현해 보았습니다.아직 익숙하지 않아서 굴러다니는 소스 복사해다가 몇가지 위치/사이즈만 변형시켜보는 수준이지만,필요하신 분이 있을지도 모른다는 희망에 올려봅니다.package main import ( "fmt" "fyne.io/fyne" "fyne.io/fyne/app" "fyne.io/fyne/layout" //"fyne.io/fyne/theme" "fyne.io/fyne/widget" ) func main() { app := app.New() //app 선언 //app.Settings().SetTheme(theme.LightTheme()) //밝은 테마 설정 w := app.NewWindow("Hello") //window 선언 entry := widget.Ne.. 2020. 4. 5.
go언어 fyne toolkit으로 gui 프로그래밍 하기 Go언어로 GUI를 만들려고 하니 이것저것 다른 GUI Toolkit을 만져보게 되네요. 오늘은 fyne라는 toolkit을 설치해볼까 합니다. 설치 방법은 비교적 간단한데요. 아래와 같이 입력하면 설치가 됩니다. (기본적으로 MSYS2 가 설치되어있어야 합니다.) go get fyne.io/fyne Hello world부터 띄워보겠습니다. // fyne_hello.go package main import ( "fyne.io/fyne/app" "fyne.io/fyne/widget" ) func main() { a := app.New() w := a.NewWindow("Hello") w.SetContent(widget.NewVBox( widget.NewLabel("Hello Fyne!"), widget.N.. 2020. 4. 5.
andlabs/ui Table예제 코드 Golang으로 테이블을 구현할만한 GUI 라이브러리를 찾고 있는 중, andlabs/ui에서 예제를 발견하여 소스 코드를 올려봅니다. 분석도 좀 필요한데..아직은 그냥 몇몇 부분만 단순화 해놓은 상태입니다. // tabletest.go package main import ( "fmt" "github.com/andlabs/ui" _ "github.com/andlabs/ui/winmanifest" ) type modelHandler struct { row9Text string yellowRow int checkStates [3]int } func (mh *modelHandler) ColumnTypes(m *ui.TableModel) []ui.TableValue { return []ui.TableValue{.. 2020. 3. 30.
GIMP로 초간단 투명 배경 만들기 오늘은 실행파일 아이콘이미지 하나 만들다가 배경을 선택하고 delete를 눌러도 하얀 배경이 지워지질 않았습니다. 그래서 알아본 GIMP로 투명한 배경을 만드는 방법!! 1.우선 이미지를 하나 가져오겠습니다. 2. 배경을 투명하게 만들 곳을 선택하고 삭제를 합니다. 역시 아직 하얀색으로 보입니다. ( 퍼지선택영역도구로 선택후 delete 아니면 우클릭 메뉴에서 삭제 ) 이건 배경색이 흰색으로 설정되어있기 때문입니다.  3. 투명으로 만들기 위해서는 "레이어" 창에서 현재 레이어를 우클릭해 "알파 채널 추가"를 합니다. 5. 선택된 곳을 다시 삭제! 이제 투명배경이 된것을 볼 수 있습니다. 6. 기존 파일에 덮어쓰던 다른이름으로 내보내던 하시면 되겠습니다. - 끝 - 2020. 3. 30.
windows에 go언어 설치하기 순서가 뒤바뀐 감이 없진 않지만... 저도 배우는 입장이라, 뒤늦게 알게된 것을 바로바로 포스팅합니다.오늘은 Go언어 windows환경에 제대로 설치하기입니다. 순서는1. 설치2. 환경변수 설정3. Hello World 출력이 되겠습니다. 1. GO 설치Go 공식 웹사이트인 http://golang.org/dl 에서 본인의 OS에 맞는 Go를 다운로드하여 설치합니다. Go는 Windows, Linux, Mac OS X 에서 사용할 수 있습니다. Windows에 Go를 설치하기 위해서는 MSI 파일을 다운받아 실행하면 됩니다.Go는 디폴트로 C:\go 폴더에 설치되며, MSI가 C:\go\bin을 PATH 환경변수가 자동으로 추가됩니다. 2. 환경변수 설정Go는 2개의 중요한 환경변수(GOROOT와 GOP.. 2020. 3. 29.
Glade를 활용한 go언어 gui프로그래밍 이번엔 gtk toolkit 전용 GUI Designer인 Glade를 이용하여 Go언어에서 활용해보도록 하겠습니다. 우선 Glade를 설치해야 합니다. linux에서는 비교적 쉽게 찾아서 설치 가능한데요.. 윈도우에서는 조금 설치가 쉽지 않습니다. Mingw를 설치하고 아래의 명령으로 설치를 진행해줍니다. pacman -S mingw-w64-x86_64-glade 빠른 실행을 위해서는 sourceforge 사이트에서 예전버전을 다운받는 것도 괜찮아보입니다. 다음으로는 Glade에서 UI를 적당히 디자인 해줍니다. (glade예제파일) 생각해보니...그냥 적당히는 안될 것 같네요. 1. 최상위 - > GtkWindow 를 선택해주세요. 그리고 아이디를 main_window, 사이즈를 440, 250 으로.. 2020. 3. 26.
Go언어 oracle 연결 Go언어로 Oracle 연결하기 위한 드라이버가 몇가지가 있는데, 그 중 Setting이 간단하고 실행 가능했던 드라이버가 godror 였습니다. 아래는 참조한 사이트이구요..https://blogs.oracle.com/developers/how-to-connect-a-go-program-to-oracle-database-using-goracleHow to Connect a Go Program to Oracle Database using godrorNote: This blog post was updated from the original to reflect the new name for the Go Driver for Oracle Database: godror, ormerly known as goracl.. 2020. 3. 26.
Gotk3를 이용한 go언어 GUI 개발 예제 사내에서 사용할 간단한 GUI프로그램 개발 환경을 구상 중입니다. 배포도 해야해서 VM위에서 돌아가는 Java는 좀 꺼림직하고... 다른 언어로 쓸 수 있는 GUI Toolkit을 찾아보다가 결국 QT/GTK/WxWidgets 로 가야할 것 같은데요. 배포가 어렵다는 C/C++로 가는 것 보다는 요즘 언어인 Go언어로, 그리고 바인딩이 잘 되어있는 GTK로 가보려고 합니다. Go언어 바인딩은 Gotk3가 있습니다. 이번 포스트에서는 Gotk3설치 및 예제 프로그래밍까지 수행해 보겠습니다. 우선 사전 준비해야 하는 작업이 좀 있습니다. 생각보다....(이거 하면서 그냥 Swing써야겠다고 생각하는 중....ㅠㅠ) 1. git 설치 2. MinGW-w64설치(MSYS2설치) 3. GTK 및 dependenc.. 2020. 3. 16.
andlabs/ui 를 이용한 go언어 GUI개발 예제 Go 언어로 간단한 GUI 구현을 위한 라이브러리로 andlabs/ui라는게 있습니다. 나중에 포스팅할 Glade 같은 GUI designer를 사용하여 구현할 정도가 아니라 간단한 GUI수준을 위해서는 괜찮은 방법인 것 같습니다. 우선 Linux에서 설치는go get github.com/andlabs/ui로 터미널에 입력하여 설치해줍니다.Windows환경에서는 MinGW를 실행해서 설치해야 합니다. 그리고 아래의 예제코드를 입력하고 실행하면...package main import ( "github.com/andlabs/ui" _ "github.com/andlabs/ui/winmanifest" ) func main() { err := ui.Main(func() { input := ui.NewEntry().. 2020. 3. 16.
Go언어 초간단 async 예제 Go언어의 장점 중 하나로 비동기 함수실행을 매우 쉽게 구현한다는 점입니다.비동기 프로그래밍을 직접 해본적이 없어서 잘은 모르지만, 아래 예제를 보니 정말 쉬운 것 같습니다.package main import ( "fmt" "time" ) func say(s string) { for i := 0; i < 10; i++ { fmt.Println(s, "***", i) } } func main() { // 함수를 동기적으로 실행 say("Sync") // 함수를 비동기적으로 실행 go say("Async1") go say("Async2") go say("Async3") // 3초 대기 time.Sleep(time.Second * 3) } 결과C:/Go/bin/go.exe build [D:/5.System_d.. 2020. 3. 16.
Go언어-파일찾기 프로그램 예제 Go 언어로 작성한 파일찾기 프로그램 예제입니다. 검색하고자 하는 Directory와 파일명을 입력하면 찾는 프로그램입니다. 사용 방법은filecheck.exe 과 같이 사용하면 되며, 아래 예시와 같이 사용하면 됩니다. 소스코드는 아래와 같습니다.package main import ( "fmt" "os" "path/filepath" ) var ( targetFolder string targetFile string searchResult []string ) func findFile(path string, fileInfo os.FileInfo, err error) error { if err != nil { fmt.Println(err) return nil } absolute, err := filepath... 2020. 3. 16.
Go언어 - liteIDE설치 및 실행 취미 IT 하면서 참 여러가지 관심분야가 많다는 생각이 드네요. 깊이는 없고... 이것저것 해보고 싶은 건 많고...이번엔 요즘? 한창? 떠오르던 Go언어에 대해 포스팅을 해볼까 합니다. 구글에서 웹이던 앱이던 빠른 속도의 성능을 위해 개발했다던 언어...결과적으로 컴파일 속도만큼은 빨라진 언어...개인적으로 웹 뿐만아니라 데스크탑 앱에도 좀 관심이 있다보니, 실행 성능에 좀 더 비중을 두게 되었는데요...,직접 체험한 건 아니지만 꽤 빠르다고 합니다. C/C++보다는 아니지만 가상머신 위에서 돌아가는 Java나 C# 보다는 빠른 성능을 보인다고 합니다. 물론 인터프리터 언어보다는 당연히 빠르겠죠?게다가 문법도 단순해서 러닝커브, 작성력 또한 빠르다고 하네요. 파이썬만큼은 아니지만.. 오늘 할 일은 1... 2020. 3. 16.
JAVA - SWING JTable 기초 사용법 오늘은 Java GUI에서 테이블 출력을 구현하는 Swing의 JTable클래스를 활용하여, 간단한 예제를 구현하였습니다.아래 코드를 실행하면 아래와 같은 화면이 나옵니다. 기능은 없고, 단순히 화면만 구성된 소스이니 참고하세요~~ package com; import javax.swing.*; import java.awt.*; public class wij_com { public static void main(String args[]){ Dimension dim = new Dimension(430, 400); //단순 2차원값 입력을 위한 클래스 JFrame frame = new JFrame("wij complex"); frame.setLocation(0, 0); //출력 위치를 화면 좌상단에 위치 fr.. 2020. 3. 14.
JAVA - Intellij 환경에서 실행파일 jar 만들기 JAVA프로그램을 실행하기 위해서는 jar파일이 있어야 하는데요,저는 주로 인텔리제이를 사용하는 관계로, 인텔리제이에서 jar 실행파일 만들기를 수행해보겠습니다. 우선 File - Project Structure 메뉴로 들어가서 Artifacts - JAR - From modules with dependencies... 를 클릭합니다. 그리고 메뉴가 팝업되면, Main Class에 현재 프로젝트의 메인 클래스를 선택해줍니다. (탐색 버튼으로 고르기) 잘 추가되면 아래와 같이,,, 이제 준비가 되었습니다. 빌드하러 갑니다. Build 메뉴로 가보시면 Build Artifacts...라는 서브 메뉴가 보입니다. 이걸 클릭해야 실행파일이 만들어집니다. 뭐가 한번 더 뜨네요. Action 에서 Build 를 클.. 2020. 3. 12.
Python - GUI에서 DB연결 cx_Oracle의 설치에 이어 DB 연동, 그리고 tkinter를 이용한 GUI 프로그래밍을 해보겠습니다. 화면 구성은 정말 간단히...레이블에 DB 주소를 입력하고 엔터를 누르면 연결해서 결과를 출력하는 구성입니다.import cx_Oracle import os import tkinter #GUI 부분 window=tkinter.Tk() #기본 설정 window.title("GUI Sample") window.geometry("640x640+100+100") #너비X높이+X좌표+Y좌표 window.resizable(True, True) #사이즈 변경 가능 #레이블 label_ip=tkinter.Label(window, text="예: myid.myweb.com:1526/orcl", width=50, .. 2020. 2. 26.
Python-Oracle연동 Python로 Oracle Database에 연결하기 위해서는 cx_oracle 모듈을 설치해야 합니다. 설치 방법은 어렵지 않은데 Pycharm과 일반 커맨드창 파이썬에서 실행하는 방법을 나눠 설명하겠습니다. 1. 우선 주로 쓰는 Pycharm에서는 File - Settings - Project - Project Interpreter 로 진입합니다. 그리고 cx_Oracle 모듈을 찾아서 설치해 줍니다. 2. Command창에 설치해서 사용하는 경우라면, sudo pip install cx_oracle 로 설치할 수 있습니니다. 3. Oracle Client 설치 cx_Oracle을 사용하려면 Oracle Client를 설치해주어야 합니다. Oracle이 설치되어있어도 Library 때문에 필요한 것으.. 2020. 2. 25.
Python GUI - tkinter 예제 회사에서는 예전에 만들어둔 Visual Basic 6.0을 어쩌지 못해 계속 사용하고 있습니다. 저는 그 유지보수 담당입니다. 다른 언어로 갈아 엎고는 싶지만,,, 온지 얼마 안돼서..아니, 실력이 아직 한참 모자라서 그냥 유지보수 중입니다. 그러나 마음만은 항상 다른 언어로 포팅하려고 준비하고 있습니다. 배포가 편리한 Java를 유력 후보로 생각하고 있는데요..(C# 안사줌..ㅠㅠ) 그 전에 간단한 프로그램 프로토타입 설계를 위해 tkinter를 손대보기로 했습니다. 결론은, 필요한 기능 그때그때 불러다 쓸 기본 위젯 종합 선물세트를 만들었습니다. 필요할 때 골라 쓰려구요. 실행하면 이런 gui프로그램이 나오게 될 것입니다. 그리고, 소스는 https://076923.github.io/ 사이트를 참조했.. 2020. 2. 25.
Manjaro linux ibus 한글설정 만자로 리눅스에서 한글 ibus 설정하는 방법을 기록해놓습니다. 1. 설치하는 방법 ibus-hangul만 설치하면 다른 필요한 패키지는 자동으로 설치됩니다. sudo pacman -S ibus-hangul 2. ibus 설정 방법 먼저 applications 에서 ibus-preferences 에 들어가야 하는데....application list를 살펴봐도 보이지가 않네요. 패키지 관리자에서 ibus를 검색해서 실행하던지...터미널에서 ibus-setup 명령으로 들어갑니다. 입력방식(input-method) 탭에서 '추가' 클릭 후 '... -> 한국어'을 선택하고 삼색의 태극무늬가 있는 hangul을 선택합니다.(ibus-hangle 설치하면 추가됨. 잘 안보이면 리부팅.) 추가한 후 기본설정을 .. 2020. 2. 21.
JAVA - Intellij JavaFX 설치(Java 11 이후 버전용) 인텔리제이에 JavaFX 프로젝트 만들기 힘드네요.그래서 오늘 구글 검색해가며 수행한 내용을 좀 기록해 놓으려고 합니다. 한글 검색으로는 대부분 JavaFX설치 매뉴얼이 이클립스 기준이라.... 인텔리제이 정보 찾느라고 조금 힘들었습니다. 사실 금방 나오지만...영어라... 1. 우선 Intellij, JavaSDK는 기본적으로 깔려 있어야 합니다. (예제에서는 JavaSDK 13, JavaFX SDK11을 사용하였습니다.) 2. JavaFX SDK를 다운받아서 설치해야합니다. 다운받는 경로는 요기를 참조하세요. 설치..가 아니라 적당한 곳에 압축을 풀어놓으면 됩니다. 참고로 Program Files와 같이 빈칸이 들어간 곳에 하면 나중에 Module 추가부분에서 에러가 발생하니, 주의하시기 바랍니다. .. 2020. 2. 20.
SQL Developer 설치 오라클 데이터베이스를 다루는 툴로 SQL Developer를 많이 사용합니다. 그런데 매번 메뉴가 바뀔 때마다 다운로드 경로 찾기가 쉽지가 않네요. 2020년 2월 기준으로 SQL Developer 다운 사이트는 요기입니다. 자신의 pc에 JDK가 깔려 있으면 아래쪽 파일을.. 안깔려 있으면 위쪽 파일(with JDK 8 included)을 받아서 설치해 줍니다. 참, 얼마 전부터는 다운로드 하는 데에도 로그인을 해야합니다. 즉, 가입이 되어있어야 다운로드가 가능합니다. SQL Developer는 별도 설치가 필요 없는 프로그램입니다. 다운로드 받아서 zip파일을 풀고 sqldeveloper.exe를 실행하면 곧바로 실행됩니다. 중간에 이런 창이 뜨는데, 할수 있는게 아니오 밖에 없습니다. 그냥 그러겠다.. 2020. 2. 17.
GIMP 사용법2- 커브조정 사진 보정의 필수 기능인 커브 조정하는 법에 대해 알아보겠습니다. 우선 수정할 사진을 하나 불러옵니다. 색 메뉴의 Curves 서브메뉴를 선택합니다. 아래와 같이 샛색상 커브 조절기능이 열립니다. 색상 커브 조절 기능은 다른 프로그램과 동일하게 사용하시면 됩니다. 아래쪽은 어두은 영역을 말하며, 위쪽 영역은 밝은 영역을 말합니다. 따라서 좀 더 밝게 만들려면 커브를 드래그하여 위쪽으로 볼록한 커브를 만들고, 좀 더 어둡게 만들려면 아래로 볼록하게 만들면 됩니다. 보통 사진을 편집할 때에는 어두운 부분은 좀 더 밝게, 밝은 영역은 조금 어둡게 해서 명암 대비를 낮춰줍니다. 아래 그림처럼요. (물론, 반대일 경우도 있습니다.) 예시를 위해 커브를 살짝 조절해 보았습니다. 오늘도 간단하게 김프로 커브 조정하는.. 2020. 2. 15.
GIMP 사용법1 - 자르기 GIMP 사용법 중 가장 자주 사용하게 되는 기능은 바로 자르기가 아닐까 합니다. 기능은 완전 쉬워요. 우선 적당한 이미지를 하나 불러오겠습니다. 그리고 왼쪽 메뉴에서 자르기 툴을 선택한 다음에.... 자르고 싶은 영역을 드래그하여 설정해줍니다. 그리고 엔터 누르면... 짜잔~ 참 쉽죠?? 제일 첫 강좌....라고 하기도 좀 민망하지만, 자르기 강좌를 마치겠습니다.^^;; 씨 유 어겐~ 2020. 2. 15.
GIMP, 무료로 쓰는 리눅스용 미니 포토샵 오늘은 김프(GIMP)에 대해 조금 얘기해볼까 합니다. 우선 김프란? GIMP- GNU Image Manipulation Program의 약자인데요, 리눅스 계열의 OS를다루신다면, 또는 자유/프리 소프트웨어에 관심 있는 분들이라면 한번쯤 들어보셨을겁니다. 원래 UC버클리에 재학중이던 두 학생 - 스펜서 킴벨(Spencer Kimball)과 피터 매티스(Petter Mattis) - 의 학기 프로젝트였다고 해요. 그 뒤 졸업과 동시에 GNU 프로젝트에 포함시키면서 공동체에 의한 무료 소프트웨어로 개발되게 된 것이죠. 학교 프로젝트로 만들었다니...정말 대단하네요. 리눅스에서 포토샵은 안되고 다른 대안이 뭐가 있는지 잘 모르지만, (포토샵보다)가볍고도 비교적 풍부한 기능을 제공해서 굳이 다른 대안을 찾지 .. 2020. 2. 14.
AWT Study - FileDialog 사용하기 파일 다이얼로그 사용 예제입니다. import java.awt.*; class MyFrame extends Frame{ private FileDialog fDialog = null; public MyFrame(String title){ super(title); this.setSize(400,300); this.setVisible(true); } public void paint(Graphics g){ super.paint(g); if(fDialog !=null) putMsg(g); } public void update(Graphics g){ putMsg(g); } public void setDialog(FileDialog f){ fDialog = f; } private void putMsg(Graphics.. 2020. 2. 11.
AWT Study - 팝업메뉴 import java.awt.*; public class awtex3 { public static void main(String args[]){ Frame f = new Frame("Popup Menu"); PopupMenu pm = new PopupMenu("Popup"); pm.add(new MenuItem("MenuItem1")); Menu m = new Menu("SubMenu1"); m.add(new MenuItem("SubMenuItem1")); pm.add(m); f.add(pm); f.setSize(300,200); f.setBackground(Color.white); f.setVisible(true); pm.show(f, 10, 100); } } 2020. 2. 11.
AWT Study - 메뉴 생성 import java.awt.*; public class awtex2 { public static void main(String args[]){ Frame f = new Frame("Pulldown Menu"); MenuBar mb = new MenuBar(); Menu m = new Menu("Menu1"); m.add(new MenuItem("MenuItem1")); Menu sm = new Menu("SubMenu1"); sm.add(new MenuItem("SubmenuItem1")); sm.add(new MenuItem("SubmenuItem2")); m.add(sm); m.add(new MenuItem("MenuItem2")); mb.add(m); f.setMenuBar(mb); f.setSi.. 2020. 2. 11.
반응형