highlight sample

Interest/Blog 2017. 9. 25. 03:13

'Interest > Blog' 카테고리의 다른 글

TISTORY Source code Highlight  (0) 2017.09.25
블로그 이미지

okgood0412

소프트웨어 개발을 즐기는 사람 입니다.

,

Oracle DB 초기 설정

Database 2017. 8. 20. 21:02
  • 테이블스페이스 생성

CREATE TABLESPACE tbsrtms datafile '/data/oracle/orcl/tbsrtms.dbf' size 10M;


Oracle에서 실제로 데이터 저장장소.

해당 경로에 파일 생성 및 초기값 지정 

경로 : '/data/oracle/orcl/tbsrtms

파일명 : tbsrtms.dbf

  • 스키마 생성

CREATE USER rtmsuser identified by 비밀번호 DEFAULT tbsrtms 테이블스페이스명;


  • 권한

GRANT CONNECT, RESOURCE TO 스키마명;




'Database' 카테고리의 다른 글

Oracle XE 11g 설치  (0) 2017.08.20
블로그 이미지

okgood0412

소프트웨어 개발을 즐기는 사람 입니다.

,

Oracle XE 11g 설치

Database 2017. 8. 20. 20:48
  • Oracle 에서 11g express 와 Client 를 내려 받아 설치. 
  • 환경변수 등록 

save image


ORACLE_HOME : C:\oraclexe\app\oracle\product\11.2.0\server

save image

  • Listner.ora 

Location : C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN




  • tnsnames.ora

Location : C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN


XE =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = WIN-FR3BJ4NTL0S)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = XE)

    )

  )


ORCL =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))

    (CONNECT_DATA =

(SERVER = DEDICATED) <= 이게 있으면 XE도 접속이 안됨

      (SERVICE_NAME = ORCL)

    )

  )


HOST = 에 localhost, 또는 IP 를 쓰니, listner 를 찾지 못함. 도메인을 써야 동작함.

  • 기본 Command 

Listner 시작 : lstnctl start

Listner 종료 : lstnctl stop


Oracle Service 시작 : net start oracleServiceXE

Oracle Service 종료 : net stop oracleServiceXE


'Database' 카테고리의 다른 글

Oracle DB 초기 설정  (0) 2017.08.20
블로그 이미지

okgood0412

소프트웨어 개발을 즐기는 사람 입니다.

,

WCF 게시 중. 에러

 

 

 

Dot Net Framework 가 Server에 설치 되어 있지 않을경우 발생했음. full버전.

아래 경로에서 확인가능.

 

 

 

 

'C# > Web' 카테고리의 다른 글

C# WCF data 송/수신 buffer 설정  (0) 2016.09.12
블로그 이미지

okgood0412

소프트웨어 개발을 즐기는 사람 입니다.

,

추가적인 세팅없이 기본적으로 65535 bytes 까지 송/수신 가능하지만, 그이상의 큰 데이터를 송/수신 하기 위해서 WCF(Server)와 클라이언트에 추가적인 세팅이 필요함.


1. WCF 

 - Web.config

bindings>

      <basicHttpBinding>

        <binding name="basic" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647" sendTimeout="00:10:00" receiveTimeout="00:10:00" >

          <readerQuotas maxArrayLength="2147483647" maxStringContentLength="2147483647" />

        </binding>

      </basicHttpBinding>

    </bindings>



2. Client.

 - Web Service를 Reference로 추가한 후 아래 코드 입력.

 - App.config

<bindings>

            <basicHttpBinding>

                <binding name="BasicHttpBinding_IService" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647"  >

                  <readerQuotas maxArrayLength="2147483647" maxStringContentLength="2147483647" />


                </binding>

            </basicHttpBinding>

        </bindings>

'C# > Web' 카테고리의 다른 글

HTTP Error 500.19 - Internal Server Error  (0) 2016.10.17
블로그 이미지

okgood0412

소프트웨어 개발을 즐기는 사람 입니다.

,



1. DB2로 접속할 PC에 driver 설치.

  - DB2 version에 맞는 driver 을 IBM 홈페이지 에서 찾아 다운로드. 

    (file name : ibm_data_server_driver_package_win64_v10.5.exe)

  - 설치가 완료되면 Windows->assembly에서 확인 가능




2. Project에 IBM.Data.DB2.dll 추가.

  - DLL 파일은 아래링크 샘플에 포함되어 있음.

  - 접속이 되지 않는다면, 동일명의 다른버전을 사용 해서 테스트 권장.



Sample : https://code.msdn.microsoft.com/windowsdesktop/How-to-connect-IBM-DB2-a9eec85e




* 주요. C# 소스 *


/// DB 객체

private static IBM.Data.DB2.DB2Connection mDBconn = null;


// 객체 생성

mDBconn = new IBM.Data.DB2.DB2Connection(mConnectionString);

// Connecting

Service.mDBconn.Open();



// Select Data - multiple rows

IBM.Data.DB2.DB2Command cmd = new IBM.Data.DB2.DB2Command(query, mDBconn);

IBM.Data.DB2.DB2DataReader dr = cmd.ExecuteReader();

dt.Load(dr);


// Select Data - single value

IBM.Data.DB2.DB2Command cmd = new IBM.Data.DB2.DB2Command(query, mDBconn);

cmd.ExecuteScalar();           


// Insert/Update Data

cmd = new IBM.Data.DB2.DB2Command(sql, mDBconn);

cmd.ExecuteNonQuery();

'C# > Tips & Skills' 카테고리의 다른 글

Single instance application  (0) 2017.09.26
블로그 이미지

okgood0412

소프트웨어 개발을 즐기는 사람 입니다.

,

Visual Studio C#에서 기본 제공하는 WebBrowser 컴포넌트는 구 버전인 Internet Explorer 7 엔진을 사용 하므로, 차세대 웹 기술인 HTML5 또는 Google map v3 최신 버전 등을 지원하지 못하는 문제가 있다. 


구글링으로 알아본 바로, 해결 방법으로는 3 party component 를 사용는 방법과 프로그램에 Registry 를 조작하는 코드를 심어 놓고 프로그램 구동시 설치된 IE버전과 같은 버전으로 셋팅하는 방법등이 있다.


두번째, Registry 조작(등록) 방법!

  - 현재 PC에 Install 된 IE 버전을 사용하도록 Registry 등록.


* Visual Studio 2015 버전 사용.

* 아래 링크를 참조 하여 테스트 하였습니다. 

1. http://stackoverflow.com/questions/23356194/cannot-force-webbrowser-control-to-render-using-current-version-of-ie


2. http://stackoverflow.com/questions/17922308/use-latest-version-of-ie-in-webbrowser-control



1. Winform Project 생성




2. Program.cs 파일에 소스추가.

  


namespace WebBrowserIEVersionTest

{

    static class Program

    {

        static Mutex mutex = new System.Threading.Mutex(false, "jMutex");


        /// <summary>

        /// The main entry point for the application.

        /// </summary>

        [STAThread]

        static void Main()

        {

            if(!mutex.WaitOne(TimeSpan.FromSeconds(2), false))

            {

                //another application instance is running

                return;

            }


            try

            {

                Application.EnableVisualStyles();

                Application.SetCompatibleTextRenderingDefault(false);


                var targetApplication = Process.GetCurrentProcess().ProcessName + ".exe";

                int browserver = 7;

                int ie_emulation = 11999;


                using (WebBrowser wb = new WebBrowser())

                {

                    browserver = wb.Version.Major;



                    if (browserver >= 11)

                        ie_emulation = 11001;

                    else if (browserver == 10)

                        ie_emulation = 10001;

                    else if (browserver == 9)

                        ie_emulation = 9999;

                    else if (browserver == 8)

                        ie_emulation = 8888;

                    else

                        ie_emulation = 7000;

                }


                try

                {

                    //string tmp = Properties.Settings.Default.Properties.

                    SetIEVersioneKeyforWebBrowserControl(targetApplication, ie_emulation);

                    Application.Run(new Form1());


                }

                catch (Exception ex1)

                {


                }


            }

            catch (Exception ex2)

            {


                

            } finally

            {

                mutex.ReleaseMutex();

            }            

        }


        private static void SetIEVersioneKeyforWebBrowserControl(string appName, int ieval)

        {

            RegistryKey Regkey = null;

            try

            {

                Regkey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION", true);


                //If the path is not correct or 

                //If user't have priviledges to access registry 

                if (Regkey == null)

                {

                    MessageBox.Show("Application FEATURE_BROWSER_EMULATION Failed - Registry key Not found");

                    return;

                }


                string FindAppkey = Convert.ToString(Regkey.GetValue(appName));


                //Check if key is already present 

                if (FindAppkey == ieval.ToString())

                {

                    MessageBox.Show("Application FEATURE_BROWSER_EMULATION already set to " + ieval);

                    Regkey.Close();

                    return;

                }


                //If key is not present or different from desired, add/modify the key , key value 

                Regkey.SetValue(appName, unchecked((int)ieval), RegistryValueKind.DWord);


                //check for the key after adding 

                FindAppkey = Convert.ToString(Regkey.GetValue(appName));


                if (FindAppkey == ieval.ToString())

                {

                    MessageBox.Show("Application FEATURE_BROWSER_EMULATION changed to " + ieval + "; changes will be visible at application restart");

                }

                else

                {

                    MessageBox.Show("Application FEATURE_BROWSER_EMULATION setting failed; current value is  " + ieval);

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show("Application FEATURE_BROWSER_EMULATION setting failed; " + ex.Message);

            }

            finally

            {

                //Close the Registry 

                if (Regkey != null)

                    Regkey.Close();

            }

        }

    }

}


3. 실행결과.

  - 처음 실행시, 변경 됐음을 알림.


  - 동일한 프로그램 재 실행시 이미 변경되었다고 알림.


  - 기존 Default 버전 WebBrowser component 에서 발생했던 Script error가 이 방법을 통해 나타나지 않는것을 확인함!! 




'C# > WinForm' 카테고리의 다른 글

Google Calendar 연동 하기 (Schedule Sync)  (0) 2017.10.04
CefSharp install  (0) 2016.09.06
블로그 이미지

okgood0412

소프트웨어 개발을 즐기는 사람 입니다.

,

CefSharp install

C#/WinForm 2016. 9. 6. 06:00

Visual Studio C#에서 기본 제공하는 WebBrowser 컴포넌트는 구 버전인 Internet Explorer 7 엔진을 사용 하므로, 차세대 웹 기술인 HTML5 또는 Google map v3 최신 버전 등을 지원하지 못하는 문제가 있다. 


구글링으로 알아본 바로, 해결 방법으로는 3 party component 를 사용는 방법과 프로그램에 Registry 를 조작하는 코드를 심어 놓고 프로그램 구동시 설치된 IE버전과 같은 버전으로 셋팅하는 방법등이 있다.


먼저, CefCharp 설치 방법 확인.



* Visual Studio 2015 버전 사용.

* 아래 링크를 참조 하여 테스트 하였습니다. 

1. http://ourcodeworld.com/articles/read/173/how-to-use-cefsharp-chromium-embedded-framework-csharp-in-a-winforms-application 


2. https://www.nuget.org/packages/CefSharp.WinForms/




1. Test Project 생성 (File -> New -> Project)



2. CefSharp 설치 (Tools -> NuGet Package Manager -> Manage NuGet Package Solution...)

  2.1. 먼저 CefSharp.Common 을 설치


 CefSharp.Common 이 참조하는 아래 패키지도 같이 설치됨.



Output에 Finished 가 나오면 끝.


2.2. 동일한 방법으로 CefSharp.WinForms 설치.



2.3. 최종 설치 목록 확인


3. Solution Platform 변경.

  - CefSharp 는 Any CPU 를 지원하지 않으며, x86 또는 x64만 중 성택해야함.

  - 아래 와 같이 Any CPU만 있을경우 target Platform을 생성해줌.



  - x64 추가



4. Project에 Library 추가




Project 경로 내에 packages/Cefsharp.WinForms.dll 추가



5. Source code 추가




6. Compile & Running





7 Trouble shooting

  1. DLL 간에 버전이 맞지 않으면, InitializeChromium() 호출시 에러 발생.

  2. 출력물 폴더에 DLL 이 복사 되지 않으면, DLL을 찾을수 없다는 에러 발생.

    - 아래 Cef 관련 DLL 목록 확인

  3. 관련 DLL이 모두 포함되어 있지만 DLL을 찾을수 없다는 에러가 발생하면

    - 수동으로 한번더 설치해 준다.

  





'C# > WinForm' 카테고리의 다른 글

Google Calendar 연동 하기 (Schedule Sync)  (0) 2017.10.04
C# WebBrowser version 변경  (0) 2016.09.07
블로그 이미지

okgood0412

소프트웨어 개발을 즐기는 사람 입니다.

,

Apple TV 4 세대

Review/Device 2016. 1. 12. 04:49

Apple TV 4세대를 사용하게 된지 2주일, 간단히 후기를 남겨봅니다.


살지말지 틈틈이 고심끝에 1년만에 구매 했다. 사실 고심은 3세대로 했는데, 막상 사기로 하고 매장에 들어갔을때 4세대가 신제품으로 나와있었다.. 가서 알았다. 4세대가 있다는걸 -_-;


TV본체는 내장 메모리에 크기에 따라 32기가와 64기가 두가지 버전으로 출시 되었다.


먼저 하드웨어 구성을 살펴보면,


1. 하드웨어 구성

  - 기본 구성품  : 애플 TV 본체, 리모콘 (Siri Remote), USB Cable, 전원케이블 ( http://www.apple.com/tv/ )

  - 별매 품 : HDMI Cable, Remote Loop, 게임용 컨트롤러 ( http://www.apple.com/shop/tv/tv-accessories )



  


  본체 만 비교해 봤을때, 전 세대인 3 보다 약 1.6배정도 두꺼워 졌다. 가격도 두배이상...  http://www.apple.com/tv/compare/



  

  


후면 에는, 

   - 전원 포트

   - HDMI 1.4

   - 10/100BASE-T Ethernet

   - USB-C  

       처음엔, 외장하드 라도 연결할수 있게끔 열어놓은 포트인줄 알았다... 실상은 그냥 일반사용자는 사용할 일이 없는 서비스용 포트다.


2. 설치

  - LAN cable 연결 (WI-FI 가 된다면 연결 안 해도 됨) 

  - HDMI로 애플TV 와 실제 TV를 연결

  - TV 외부입력 설정을 HDMI로 선택

  - 전원선 연결

  - TV 화면에 보이는 가이드 대로 진행. 아주 단순, 쉬움. 

     나 같은 경우에는 IPad를 이용해 애플 TV의  WI-FI 세팅함. 


3. 조작법

  - Siri Remote 

 

 - IPad, Phone 이 있다면, Remote 어플을 사용하여 Siri Remote 를 대신하여 일부기능 조작가능. (상,하,좌,우, 움직이기 타이핑 등)

 - 음성명령 :  제한된 명령만 수행가능.. 한국어 지원은 아직.

 - 슬립 모드로 전환 이 아이콘을 길게 누르고 있을경우, 슬립 모드로 전환시킬수 있다.

 - 아이콘 재배열 : 메인화면에서 Menu 버튼  을 길게 누름. 아이콘이 흔들릴때 재 배치.

 - 다운로드 받은 어플 삭제 : 삭제할 어플 위에서 Menu 버튼 을 길게 누른후 아이콘이 흔들릴때 Play/Pause버튼  을 누름.

    



4. 쓸만한 앱 

  

  2.1. Infuse (http://firecore.com/infuse)

   - 끊김없이 동영상을 재생 해준다.

  2.2 Youtube

  2.3. Daily Motion

  2.4. TED 

   - 영어공부 할때좋음. 

  2.5. Strike! Ten Pin Bowling

   - 볼링게임. 재밌음. 리모콘을 회전시켜 스핀도 줄 수 있음.

  2.6. Just Dance Now

   - 춤도 배우고 살도 뺄수 있음. 열심히만 하면,,, -_-

  2.7. Dungeon Hunter 5

  2.8. Modern Combat 5: Blackout

  2.9. Sing! Karaoke by Smule

   - 노래방


3. 현재 까지의 문제점? (부족한점)

  3.1. 동영상 미러링시 끊김 현상

    - 하드웨어의 발전이 있음에도 불구하고, MacBook 과 Apple TV 미러링으로 동영상(Full HD) 시청시 끊김 현상이 있습니다 

      (둘다 Wifi 연결) . 저희집 네트워크 속도 문제인지는 모르겠지만, 시청이 불가 할 정도로 끊김이 심합니다.

       하지만, 앞에서도 언급한 앱인 Infuse 는 이런 현상 없는걸로 보아, 소프트웨어의 문제가 아닐까 생각 합니다.


  3.2. Siri 지원

    - 지원되는 국가도 영어권 4개국으로 한정 되어있고, 처리 가능한 명령어가 많지 않다. 지금 비 영어권 사용자들 에게는 있으나 

       마나한 기능





'Review > Device' 카테고리의 다른 글

[개봉기] 맥북 프로 레티나 13"  (0) 2014.03.24
블로그 이미지

okgood0412

소프트웨어 개발을 즐기는 사람 입니다.

,

[개봉기] 맥북 프로 레티나 13"

처음으로 올려 보는 제품 개봉기! 그만큼 내것이 된 기쁨이 크기에 한번 올려봅니다. 

드디어!!! 한 달간의 고민 끝에 구매한 맥북 프로 레티나 13"

원래는 15"를 생각하고 매장에 도착했지만, 생각보다 너무 비싼 가격에... 인터넷을 통해 알아본 결과 가격대 성능비가 가장 좋다고 판단된 13"로 급 선회하고 말았다... 

동일 모델 이지만 내부 하드웨어 성능과 용량 차이로 또다시 고민하다 그냥 중간 가격의 모델에 낙점을 주고 바로 구입!!

첫인상은. 역시나 예상 가능한 모습이 였다. 박스포장을 보는 순간. 큰 아이패드.. 느낌?
이번에 느낀 것이지만, 한국에서 타사 제품의 노트북을 구매할 때는 노트북 가방, 마우스+패드도 말만 잘하면 따라 왔었는데, 맥북의 가격은 정말 말 그대로 맥북만의 가격이였다(본체와 충전기.) 기타 마우스+패드, 가방 등은 따로 구매를 해야 했기 때문에 없으면 당장 불편할 것 같은 마우스만 구매 하기로 한다. 마우스만 해도 비싸다...

박스를 열어보니 조용히 맥북이 보인다.


맥북을 박스에서 꺼내 그 아래 충전기와 케이블을 확인할 수 있다.

내용물은 이게 끝이다...


바닥은 이렇게 생겼군.!


본격적으로 전원을 투입.

하지만 베터리가 없어 켜지지 않는다. 충전 케이블에 전원을 연결하고 맥북의 전원 단자에 맞춰 케이들을 가져가니, 자석처럼 달라 붙는다. 이거 좋네~


드디어 전원이 들어오고 처음 시작을 알리는 글과 간단한 설정을 하도록 화면들이 연이어 뜬다. 

제품을 오스트리아에서 구매했기 때문에 아쉽지만 자판은 독일어로 인쇄 되어있다. 하지만 사용언어는 친숙한 한글로 설정. 어차피 자판은 잘 보지 않으니 불편함은 없다.

이제 남은것은 새로운 운영체제, 자판배열, 마우스에 적응하는 일!!

추가로 구매한 마우스. 터치 방식으로 여러 가지 모션을 인식해 화면 조작 하기에 아주 편하다.

이상 개봉기 끝!


 



'Review > Device' 카테고리의 다른 글

Apple TV 4 세대  (1) 2016.01.12
블로그 이미지

okgood0412

소프트웨어 개발을 즐기는 사람 입니다.

,