전체 보기: 87개의 글

캠핑 박람회 고카프 후기~!

Posted by 고 고특파원
2019. 6. 10. 23:08 여행/캠핑

캠핑 박람회 고카프에 다녀왔다.

고카프 캠핑박람회는 6.7~6.9일 동안 이루어졌다고 한다. (지난주 토요일에 다녀왔으나.. 이제야 포스팅을 한다.ㅠㅠ)

사람들이 캠핑에 대한 관심이 정말 많다는걸 새삼 느꼈다!!

 

 

킨텍스 제2주차장이 이미 꽉 차서 킨텍스 옆 자갈밭에 주차를 하고 킨텍스에 도착했다!!

킨텍스 앞에서 한컷!! 고카프 캠핑이 진행 중임을 알리고 있다!

 

 

건물앞 홍보 포스터

킨텍스 광장 안에 들어서자마자 보이는 다양한 홍보 포스터 물이 눈길을 끈다ㅋㅋ

 

사전등록을 했던 나는 프리패스!!!

입장하자마자 2층에서 전체적으로 사진 한방 쿵! 11시쯤 도착했는데도 이미 사람들로 넘쳐났다.

 

카즈미 에코백

작년에도 다녀왔는데.. 올해에도 역시나 카즈미가 제일 크게 박람회에 참가했다!!

작년에도 받았던 카즈미 에코백을 올해에도 받았다!!

 

올해는 저렇게 튀는 색상이 유행인가 보다 ^^ㅋ

 

 

마운틴이큅먼트 돔

개인적으로 좋아하는 브랜드!!

마운틴이큅먼트 돔텐트이다.. 매번 느끼지만 요즘 텐트 색상들이 너무 이쁘게 나온다.

 

 

옛날에는 타프 스크린 텐트가 정말로 많았는데 이제는 돔텐트 천지이다.

캠핑도 유행이 있나 보다! 개인적으로는 타프스크린을 좋아하는데 ㅠ

 

스프레이형 소화기

요건 스프레이형 소화기인데 개인적으로 이것은 캠핑하면서 하나씩은 갖고 있으면 좋을 것 같다.

캠핑하면 역시 불!멍! 인데, 혹시나 불이 났을 경우, 이렇게 간단한 소화기형 스프레이가 있다면.. 큰 화재를 예방할 수 있을 것 같다! 그렇지만 난 사지 않았다.. 돈이 없어서.ㅠㅠ

 

 

 

개인적으로 마음에 들었던 것은 바로 이 메쉬 테이블들!!

여름 느낌 나고 시원시원하다.. 이쁘긴 한데 구멍이 슝슝나서 분명 관리하기 힘들 것이다ㅋㅋ

 

 

 

항상 느끼지만 요런 캠핑카가 있으면.. 비가 오나 눈이 오나 걱정 없겠지ㅠ

캠핑카나 트레일러는 너무 비싸서 구경은 안하고 가볍게 패스!!

 

실제로 가서 보면 정말 다양한 캠핑카와 트레일러가 있지만.. 관심밖이기에 사진이 남은게 없다!!

 

작년에 이어 올해에도 캠핑박람회에서 여러 캠핑관련 물품들을 샀는데, 물품 리뷰는 나중에 한번 다시 하도록 하겠다!!

 

그럼 이만 이번 포스팅은 끝!

 

 

이 댓글을 비밀 댓글로

삼성전자 무선 고속 충전 보조배터리 구입기!

Posted by 고 고특파원
2019. 6. 6. 16:05 상품리뷰

전체상품사진

이전에 보조배터리를 싼맛에 사는 경향이 있어서 샤오미 보조배터리를 사용하고 오래사용하지 못했었던 기억이 있어 큰마음 먹고 삼성전자 보조배터리를 구입했다.

 

큰마음 먹은김에!!! 무선으로 한번 써보자 하고 구입하게된 삼성전자 무선충전 보조배터리이다!

 

상품구성

무선충전도 되지만 유선도 되나보다. 선이 같이 동봉되어 왔고, 8핀짜리이다!!

 

요즘 나오는 핸드폰에 맞게 8핀짜리로 준것 같은데 5핀짜리 USB선 만 있으면 유선충전하는데도 문제 없을듯!

 

 

정면 측면 후면 샷 투척!!!

 

정면에 Fast Charge라고 쓰여져 있는데 고속충전이라고 감히 추측해본다.

혹시나 하는 마음에 핸드폰을 올려놓았더니 고속충전이 잘 되는것을 확인!!

시대가 참 좋아졌다. 무선으로 고속충전을 하는 시대가 온것이다.

 

측면부에는 보조배터리 잔량을 표시하는 부분이 있다.

 

이제 앞으로 잘 쓸일만 남은것 같다!

 

보조배터리 색상은 실버 색상도 있는데 이쁜 핑크색상도 있으니 참고하시길..

 

삼성전자 무선충전 ...

 

 

삼성전자 무선충전 보조배터리

COUPANG

www.coupang.com

 

이 댓글을 비밀 댓글로

안드로이드 APK 추출하기

Posted by 고 고특파원
2019. 4. 26. 17:21 프로그래밍/안드로이드

안드로이드 APK 파일을 추출해보도록 한다.

 

1. Generate Signed Bundle / APK 선택

Build Tab 선택 후 프로젝트를 클린 및 빌드한 후에 Generate Signed Bundle / APK를 선택한다.

 

2. 팝업상태에서 APK를 선택

우리는 지금 APK 파일을 만들것이기 때문에 APK 선택 후 다음으로 넘어간다.

 

 

 

3. 처음으로 APK를 만드는 것이기 떄문에 jks 파일을 생성한다.

APK파일을 만들기 전에 jks파일을 생성하라고 하니, 일단 생성하고 넘어가도록 한다.

jks파일은 다음에 apk파일을 생성할때도 필요하므로 꼭 로컬피씨에 보관하도록 한다.

 

 

4. jks파일을 생성할 위치를 지정하고 Key항목을 채워 넣는다.

jsk파일을 생성할 위치를 지정하고, key에 대한 별칭 및 암호를 설정한다.

 

잊어버리지 않도록!

 

자격증명 정보는 각자 알아서 채워 넣도록 한다.

 

5. release 선택 후 V2에 체크한 후 Fisish

release모드로 선택후 apk파일을 저장할 폴더를 지정한다. APK Signature Version V2로 체크함.

 

왜 V2로 체크하는지는 아직 잘 모르겠으나, 하라는대로 하고 넘어감.

 

 

6. 완성된 apk파일을 확인한다.

완성된 apk파일을 확인하고, 각자 apk파일을 구글스토어로 배포를 하든, 웹배포를 하든 기호에 맞게 사용한다.

 

이 댓글을 비밀 댓글로

Xamarin.Forms 화면간 이동 기능 구현

Posted by 고 고특파원
2019. 3. 12. 23:25 프로그래밍/Xamarin .Forms

Xamarin.Froms에서의 화면간 이동 기능 구현을 할것이다.

 

일단 Xamarin 메뉴얼을 보면 정확하게 개념을 확인 할수 있다.

 

아래 링크를 확인하자.

 

https://docs.microsoft.com/ko-kr/xamarin/xamarin-forms/app-fundamentals/navigation/hierarchical

대충 요약해 보자면, 계층적 탐색을 하고 Page를 Push 하게 되면 페이지 위에 페이지가 올라가는 구조이고, Page를 Pop하게 되면 최상단 페이지가 사라지게 된다.

 

 

 

1. App.xaml.cs 수정

 

App.xaml.cs의 페인 페이지를 수정한다.

NavigationPage

 

public partial class App : Application
    {
        public App()
        {
            InitializeComponent();
            


            MainPage = new NavigationPage(new MainPage());
        }

        protected override void OnStart()
        {
            // Handle when your app starts
        }

        protected override void OnSleep()
        {
            // Handle when your app sleeps
        }

        protected override void OnResume()
        {
            // Handle when your app resumes
        }


MainPage.xaml


<?xml version="1.0" encoding="utf-8" ?>

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"

             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"

             xmlns:local="clr-namespace:MoveTest"

             x:Class="MoveTest.MainPage">


    <Grid>

        <Grid.RowDefinitions>

            <RowDefinition Height="50"/>

            <RowDefinition Height="50"/>

            <RowDefinition Height="*"/>

        </Grid.RowDefinitions>

        <Grid.ColumnDefinitions>

            <ColumnDefinition Width="*"/>

        </Grid.ColumnDefinitions>


        <Entry Grid.Row="0" Grid.Column="0" Text="첫번째 페이지에요!"/>

        <Button Grid.Row="1" Grid.Column="0" 

                x:Name="btnMoveSecond" Clicked="BtnMoveSecond_Clicked" 

                Text="다음페이지 이동"/>


    </Grid>


</ContentPage>


MainPage.xaml.cs



//두번째 페이지로 이동

        private async void BtnMoveSecond_Clicked(object sender, EventArgs e)

        {

            //두번째 페이지 Push 계층적 탐색

            await Navigation.PushAsync(new SecondView());

        }



여기에서 중점으로 봐야할 부분은 Navigation.PushAsync() 이부분이다.

Push를 하고 있는 부분임.



SecondView.xaml


<?xml version="1.0" encoding="utf-8" ?>

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"

             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"

             x:Class="MoveTest.SecondView">

    <ContentPage.Content>


        <Grid>

            <Grid.RowDefinitions>

                <RowDefinition Height="50"/>

                <RowDefinition Height="50"/>

                <RowDefinition Height="*"/>

            </Grid.RowDefinitions>

            <Grid.ColumnDefinitions>

                <ColumnDefinition Width="150"/>

                <ColumnDefinition Width="*"/>

                <ColumnDefinition Width="150"/>

            </Grid.ColumnDefinitions>


            <Entry Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" Text="두번째 페이지에요!"/>

            <Button Grid.Row="1" Grid.Column="0" 

                x:Name="btnBack" Clicked="BtnBack_Clicked" 

                Text="뒤로 이동"/>

            <Button Grid.Row="1" Grid.Column="2" 

                x:Name="btnMoveThird" Clicked="BtnMoveThird_Clicked" 

                Text="다음페이지 이동"/>


        </Grid>


    </ContentPage.Content>

</ContentPage>


SecondView.xaml.cs


async void BtnBack_Clicked(object sender, EventArgs e)

        {

            //첫번째 페이지로 이동하는것이기 때문에 Pop

            //첫번째 페이지 Pop 계층적 탐색

            await Navigation.PopAsync();

        }


        async void BtnMoveThird_Clicked(object sender, EventArgs e)

        {

            //세번째 페이지 이동 Push

            await Navigation.PushAsync(new ThirdView());

        } 


현재 페이지는 두번쨰 페이지이므로 첫번째 페이지로 Pop을 할 수 있고, 아니면 Push를 통해 세번째 페이지로 이동 한다.



ThirdView.xaml



<?xml version="1.0" encoding="utf-8" ?>

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"

             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"

             x:Class="MoveTest.ThirdView">

    <ContentPage.Content>


        <Grid>

            <Grid.RowDefinitions>

                <RowDefinition Height="50"/>

                <RowDefinition Height="50"/>

                <RowDefinition Height="*"/>

            </Grid.RowDefinitions>

            <Grid.ColumnDefinitions>

                <ColumnDefinition Width="*"/>

            </Grid.ColumnDefinitions>


            <Entry Grid.Row="0" Grid.Column="0" Text="마지막 페이지에요!"/>

            <Button Grid.Row="1" Grid.Column="0" 

                x:Name="btnFirst" Clicked="BtnFirst_Clicked" 

                Text="처음으로"/>


        </Grid>

        

    </ContentPage.Content>

</ContentPage>


ThirdView.xaml.cs


async void BtnFirst_Clicked(object sender, EventArgs e)

        {

            //첫번째 Root로 이동

            await Navigation.PopToRootAsync();

        }


세번째에서 첫번째로 이동하기 위해서 PopToRootAsync() 함수를 호출한다.


Root페이지로 이동을 하게 되며 중간에 계층으로 쌓인 페이지들은 사라진다.



결과를 사진으로 확인해보자.




정상적으로 잘 동작한다!






이 댓글을 비밀 댓글로

Xamarin Forms 개발환경 설정 및 기본 프로젝트 생성

Posted by 고 고특파원
2019. 3. 11. 19:16 프로그래밍/Xamarin .Forms

개발환경 설정


개발 OS : Windows7

개발 툴 : VisualStudio 2017 Community

디버깅 기기 : 갤럭시S7


VisualStudio 2017 Community은 MS 사이트에서 받으면 되므로 간단히 생략한다.





개발자 옵션에서 USB 디버깅 허용으로 체크!


이렇게 한다고 연결이 되지 않을 경우가 있는데 그럴때에는 삼성 갤럭시7 기준으로,,


[Android USB Driver for Windows]

https://developer.samsung.com/galaxy/others/android-usb-driver-for-windows



해당 링크에서 usb 드라이버를 설치해보자.



Android SDK 및 도구


Google USB Driver 도 설치해야함.


참고로 VisualStudio는 지속적으로 업데이트를 해주는것을 권장한다.

C:\Program Files (x86)\Microsoft Visual Studio\Installer 

경로 안의 vs_installer.exe


현재는 더이상 업데이트할 내용이 없는것으로 보인다.



Xamrin.Forms는 지속적으로 업데이트가 되어있으므로 안정화 되어있는 최신버전으로 업데이트를 하도록 한다. 업데이트는 Nuget 솔루션 패키지 관리에서 업데이트를 하면 된다.








프로젝트 생성


파일 -> 새로만들기 -> 프로젝트 -> Cross-Platform



플랫폼은 안드로이드 , iOS로 할것이고 UWP는 생략(윈도우10용 앱)

여기에서 코드 공유전략은 .NET Standard로 고정..!


공유 프로젝트도 있긴 하지만 차이점은 사실 잘 모르겠음. 왜 나누었을까


개발환경이 설정되었으므로 기본 생성된 템플릿으로 빌드를 해서 결과를 확인한다.






이 댓글을 비밀 댓글로

ASP.NET 에서 Ajax 사용하기.

Posted by 고 고특파원
2018. 4. 30. 15:31 프로그래밍/javascript

1. Repository클래스 구성

 

- 이 부분은 DB접속 및 데이터를 가져오는 클래스입니다.

 

단순히 DB에 접속하여 데이터를 가져오는 부분이기 때문에 각자의 스타일대로 구현 하면된다.

 

나는 ADO.Net을 이용하여 DB에 접근하고 프로시저를 통해 DataSet을 반환하도록 구성할 것이다.

 

최근들어 알게된 Micro ORM인 Dapper.Net 또한 유용하게 사용할 수 있으니 관심이 있는 사람은

 

참고해보면 좋을것 같다.

 

 

public class RepositoryClass
{
        
        public List<모델클래스> GetData(int Key)
        {
            

List<모델클래스>data = new List<모델클래스>();

 

 

            return data;

        }

}

 

 

 

2. 모델클래스 정의

 

이 부분은 DB에서 가져온 DataTable의 ModelView 클래스 입니다.

 

단순히 DB에서 가져오는 DataTable의 항목을 멤버로 가지면 된다.

 

 

public class 모델클래스

{

int Key {get;set;} //Key

}

 

 

 

3. WebService 구성 (.asmx)

 

이 부분은 ajax에서 호출하기 위한 웹서비스를 구성하는 부분입니다.

 

현재 내가 정리하는 부분은 웹서비스를 호출하면 해당하는 데이터를 Json방식으로 데이터를 반환 하고

 

있지만,

 

.net에서는 .asmx의 웹서비스는 상당히 오래된 기술이라고 한다..

 

최근 들어서는 .net의 WEB API를 호출하여 (POST, GET, PUT, DELETE) 의 요청을 하여 Json 방식

 

으로 데이터를 반환 시킬 수도 있다고 한다.

 

이부분에 대해서는 다음 기회에 알아가도록 한다.

 

 


        [WebMethod(EnableSession = true)]
        public List<모델클래스> GetData(int key = 0)
        {
            Repository클래스 repository = new Repository클래스();

            return repository.GetData(key);

        }

 

 

 

4.aspx에서 ajax 호출

 

이 부분에서 ajax를 호출 한다.

 

 

function GetData() {

            var keydata = '1';

 

            $.ajax({
                type: "POST",
                url: "WebService/웹서비스.asmx/GetData"

                data: "{key':'" + keydata + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: OnSuccess,
                failure: function (response) {
                    alert(response.d);
                }
            });
            function OnSuccess(r) {

 

//성공시 처리할 내용 수행

 

                }
            }

        }

 

 

 

 

이 댓글을 비밀 댓글로

프로그램 설계하기 좋은 Tool! PowerMockup을 소개합니다.

Posted by 고 고특파원
2017. 5. 29. 19:30 프로그래밍/C#

프로그램 디자인 설계시 간편하게 파워포인트 플러그인을 이용해서 도움을 주는 Tool을 소개하려 합니다.

 

PowerMockup 이라는 Tool인데요

 

간단한 디자인 뿐만아니라 복잡한 디자인까지도 간단한 Drag&Drop을 이용해서 디자인을 해나갈수 있습니다!

 

 

 

PowerMockup을 다운로드 하기 위해서

 

https://www.powermockup.com/ 로 이동합니다.

 

간단히 Download후 설치를 하고 파워포인트를 실행해 보았습니다~~

 

 

파워포인트를 실행하니 PowerMockup이라는 탭이 하나 생겼구요.

 

옆에 보시면 간단한게 Drag&Drop을 해서 디자인을 쉽게 할 수 있습니다~

 

 

 

 

정말 복잡한 Alert Message창도 쉽게 그려낼 수 있기 때문에 간단하게 화면 디자인을 구성하는데 상당히 도움이 많이 될것 같아요~~

 

트라이얼 버전은 아쉽게도 비활성화되어있는게 많은데요!

 

개인적으로 비상업적으로 사용하려면 간단히 블로그에서 프로그램 설명을 하면 회사측에서 확인 후 라이센스키를 발급해 준다고 합니다!!

 

여러분들도 PowerMockup으로 신세계를 경험해 보세요~~

이 댓글을 비밀 댓글로

ASP.NET MVC 간단한 예제 프로그램 파일 첨부

Posted by 고 고특파원
2017. 3. 28. 08:39 프로그래밍/ASP.NET

Professiona ASP.NET MVC 1.0_ch01_JPub.pdf



ASP .NET MVC 를 처음 시작할때 보고 따라하며 프로젝트를 만들어가면 어느정도 ASP.NET


MVC 패턴을 익히고 프로젝트가 어떻게 흘러가는지 파악이 가능함.

이 댓글을 비밀 댓글로

안드로이드 스튜디오 설치하기

Posted by 고 고특파원
2017. 3. 28. 08:36 프로그래밍/안드로이드

내가 대학교 학부시절에는 안드로이드를 이클립스를 이용하여 개발을 하였는데,


요즘에는 안드로이드 스튜디오 라는 툴을 사용하여 개발을 한다고 한다.


안드로이드 스튜디오의 설치법은 비교적 간단하다.


https://developer.android.com/studio/index.html

위의 링크로 들어가서 다운로드 버튼을 눌러서 설치를 진행하면 된다.



이 댓글을 비밀 댓글로

안드로이드 웹 호스팅을 이용한 DB 연결

Posted by 고 고특파원
2016. 2. 21. 23:02 프로그래밍/안드로이드

현재 사용하고 있는 호스팅회사는 코리아 호스팅 회사이다~!

 

한달에 550원정도 하는 요금으로 웹호스팅을 받아서 DataBase의 일부 저장공간을 할당받아서 쓰고 있는 상태이다!

 

(만약 자신이 개발하는 애플리케이션의 규모나 이용자수가 많다면 좀 더 높은 비용을 주고 호스팅을 받아야한다. 필자는 단순 개발 및 테스트용이기 때문에 제일 싼 것으로 사용함.)

 

안드로이드를 이용해서 DB에 접속하고 Data를 주고 받기 위해서 호스팅을 하게 되었다.

 

이번에 안드로이드를 처음으로 시작하면서 알게된 사실은 안드로이드에서 직접 DB연결이 불가능하다는 것이내요! 보안상 직접적으로 연결하는것을 막아 놓았다고 한다...

 

그래서 DB에 접속하기 위해서는 PHP, JSP, ASP 등의 웹프로그래밍 언어를 통하여 DB를 접속하여 데이터를 주고받을수 있다.

 

현재 웹호스팅을 받고 있는 곳에서 php를 이용하여 DB접속을 하도록 해보겠다.

 

 

 

<?php

$host_name="호스트이름";

$db_user="DB유저명;

$db_pass="DB암호";

$db_name="사용할DB이름";

$conn = mysqli_connect($host_name, $db_user, $db_pass, $db_name);

if(mysqli_connect_errno($conn)){

echo "DB연결 실패";

}else{

echo "DB연결 성공";

}

 

?>

 

 

( 웹호스팅을 하고있는 상태에서 host_name 은 "localhost"로 쓰면된다.

필자도 정확하게는 알지 못하겠으나 웹호스팅을 받고있는 상태라면 웹호스팅을하는 회사의 서버의 일정공간을 빌리는 개념인데, 우리가 작성한 .php파일의 실제소스가 작동하는 물리적인 위치는 서버-PC의 내부이기 때문에 localhost로 쓰는것같다.. )

 

사실 개인적으로 생각해본것같은데 localhost로 해서 연결하면 작동하는것을 확인 할 수 있으므로 필자가 생각하는 개념이 맞다고 생각한다..

 

혹시나 정확하게 알고 계신 독자분이 있다면 추가 내용을 댓글로 써주시면 감사하겠습니다~

 

작성된 파일은 .php 의 확장자로 저장을 하도록 한다.

 

위처럼 작성한 파일을 저장 후 ftp를 이용하여 htdocs 폴더안에 php를 복사하여 넣어준다.

(htdocs  폴더는 웹사이트의 경로가 저장되어있는 물리적인 경로라고 생각하시면 된다.)

 

 

 

 

현재 위처럼 dbTest.php 파일이 ftp를 통해 올려진것을 확인할수 있다.

 

 

여기에서  데이터베이스 연결에 성공하면 "DB연결 성공" 이라는 문구를 보일것이고 실패하면 "DB연결 실패"라는 문구를 반환할 것이다.

 

결과 확인을 해보도록 하자

 

 

위의 그림처럼 DB연결 성공이라는 문구를 확인할 수 있다.

 

 

이 댓글을 비밀 댓글로