전체 보기: 85개의 글

안드로이드 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) {

 

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

 

                }
            }

        }

 

 

 

 

'프로그래밍 > javascript' 카테고리의 다른 글

Dropzone js를 사용한 파일업로드 [기본]  (0) 2020.04.02
ASP.NET 에서 Ajax 사용하기.  (0) 2018.04.30
이 댓글을 비밀 댓글로

프로그램 설계하기 좋은 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연결 성공이라는 문구를 확인할 수 있다.

 

 

이 댓글을 비밀 댓글로

[대부도, 오이도] 가까운 서해바다 당일치기 여행코스 추천!

Posted by 고 고특파원
2016. 2. 16. 20:57 여행/국내여행

안녕하세용~ 이번포스팅에서는 제가 자주 당일치기로 갔다오는 오이도, 대부도에 대해 소개 해드리려고 해용~

 

 

가장 먼저 추천해드리고 싶은 곳은 대부도의 바다향기테마파크!!

 

그리고 시화방조제 위에 있는 티라이트 휴게소에 대해 알려드리겠습니다~

 

티라이트 휴게소

 

<티라이트휴게소 전망대 위에서 찍은 전경과 전망대 야경>

 

티라이트 휴게소는 대부도로 가는길의 시화방조제 중간부분에 위치해있어요~~

저는 이곳을 자주 들리는 편이에요~ 이곳에서 주변 경치를 모두 둘러볼수 있기도 하고 전망대로 올라가는데 무료이기 때문에 여유가 있으시다면 들렸다 가는 것을 추천하고싶어요~!

 

 

 

주변 경치도 보시고 이렇게 기념사진도 한장 찍고가셔요~~

 

<유리창으로 구성된 바닥>

 

저는 너무 아찔하고 무서워서 유리바닥에 올라가기가 쉽지 않더라구요~ 그래서 이렇게 사진만 남겼어요!!

아이들이 정말 즐겁게 뛰어다니는데 정말 대단하다고 느꼇어요...

 

 

 

이곳은 티라이트 휴게소 뒷편의 작은공원처럼 꾸며진곳인데요~~

사진으로 담기 아까워서 동영상으로 담아보았어요~~

 

바다향기 테마파크

 

티라이트 휴게소를 넘어서 대부도의 바다향기테마파크에 대해 소개해드릴게요~

 

 

 

이곳은 대부도에 아담하게 꾸며놓은 바다향기테마파크에요~~ 날씨가 워낙 좋고 주변에 갈대밭이 너무너무 보기좋고 자연에 온듯한 느낌을 받았어요~!

 

 

눈을감고 갈대밭 사이를 걸으면 따뜻한 햇살을 느끼고 시원한 바람을 몸으로 느낄 수 있었어요!

힐링이 저절로 되는 듯한 느낌이에요~

 

오이도

 

다음으로 오이도에 대해 소개해드릴게요~~

오이도하면 제일 먼저 떠오르는 것이 빨간등대!! 그리고 일몰!!

 

 

개인적으로 오이도를 걸어가며 해가 저물어가는 모습을 보는것을 좋아해요~

또한 바다를 보러가고싶은데 시간의 여건이 없을때는 오이도를 자주 찾습니다! 정말 가까운곳에 위치하고 있기때문에 마음만 먹으면 금방 갔다올수 있는 거리에 있기 때문이에요..!

 

 

이곳에서는 취사가 안되는걸로 알고 있는데 저는 여기서 라면도 끓여먹어 봤구 술도 한잔 했어요..

여름이면 돗자리깔고 술먹는 분들이 꽤나 있어요...

하지만 단속을 안하더라도 뒷정리는 깨끗이 하도록해야겠죠..!!?

물론 저도 뒷정리는 깔끔하게 합니다!!

 

<오이도 하면 떠오르는 빨간등대..!>

 

오이도를 걷다보면 언제나 마주할 수 있는 빨간등대에요~ 저 위로 올라가시면 바람이 엄청나게 세게 불어요!! 이곳에서 기념사진찍는 사람들도 꽤나 볼수 있어요~~

사실.. 올라가면 별거 있지는 않은데 그래도 올라가는데 금방이니 올라가보도록하세요!

 

대부도나 오이도는 정말 마음만 먹으면 당일치기로 갈 수 있는 곳이고 바다와 자연을 모두 누릴 수 있는 여행코스에요! 서울 근교에 계시다면 당일치기로 대부도와 오이도로 한번 놀러와보세요~~

 

제가 소개해드린곳 말고도 볼거리가 정말 많은곳이에요~ 이만 포스팅을 마칠게요!!

 

 

 

이 댓글을 비밀 댓글로

[제주도] 아쉬운 1박2일 제주도 여행기~ [2편] (제주도관광지 소개)

Posted by 고 고특파원
2016. 2. 13. 17:20 여행/국내여행

제주도에서의 하루가 지나갔어요~~

 

오늘은 1박2일 제주도 여행의 마지막 날이기에 새벽 6시 부랴부랴 일어나서 성산일출봉에 오르기위해 준비를 했답니다!

 

날씨가 아쉽게도 비가 오고있었어요!! 아무리 비가 와도 성산일출봉은 올라야겠지요~?

저희는 여행중 날씨를 미리 확인했기 때문에 미리 준비한 우비를 입고 성산일출봉에 올랐습니다!

 

 

 

 

성산일출봉에 오르기 전에 정말 아름다운 광경이 펼쳐졌어요~~

 

 

<성산 일출봉에 출발하기 직전 들뜬 마음으로..!>

 

이때만해도 비가 크게 오지 않아서 기분좋게 막 올라갔어요!!

뒷배경이 너무 멋있지 않나요~? 우리나라에도 이런 아름다운 광경을 볼수 있는 곳이 있다는게 신기했어요!!

 

 

 

 

 

 

오르다 보니 비가 막 쏟아지기 시작하더라구요~~

비오는날 성산일출봉에 오르게 되면 비바람에 싸대기를 맞을수있는 기분 좋은(?) 경험을 할 수 있어요!

 

아쉽게도 정상에서는 사진을 찍을수가 없었내요..! 비바람이 굉장히 쌔서 우산쓴사람들의 우산이 전부다 부서질정도로 강했기 때문이에요.. ㅠㅠ

 

 

다음 행선지는 섭지코지에요~~!!

 

이곳은 예전 드라마 올인 촬영지로 정말 유명세를 탔던 곳이기도 하지요!!

 

 

날씨가 좋지 않아도 제주도의 바다는 여전히 아름다워요..

 

 

우중충한 날씨임에도 어떻게 찍어도 작품이 되는것 같았어요~ 오히려 바람이 쎄개 불어서 시원한 파도소리를 들을수 있어서 좋았어요!!

 

 

 

사진 배경 뒤로 선돌바위라고 하는것이 보이내요!

 

 

이곳 섭지코지 또한 용얌분출에 의해 생긴 지형이라고 하내요~

자세히는 모르겠지만 분명한건 주변에 현무암들이 매우 많이 보였어요!

 

다음으로 저희는 만장굴과 김녕 미로공원으로 향했습니다~~!

 

 

이곳은 만장굴 내부인데요~ 만장굴에 처음에 들어가는데 정말 무서웠어요! 깊게 내려가기도 했고 무너지진 않을까 하는 마음에 노심초사 했어요~~

 

 

만장동굴은 한라산에 용얌이 폭발할때 흘러내린 용암이 바다로 나가면서 형성된 곳이라고 해요~!

용암이 흘러내려가면서 동굴이 형성된것이라고 하내요!! 자연의 힘은 정말로 대단한것 같아요...

 

 

만장굴은 현재 전부다 공개는 하지 않았고 일부만 공개되어 관람할 수 있는데요~ 제주도에 가시면 한번쯤 가보는게 좋을것 같아요!! 동굴 내부에 용암이 흘러내렸던 흔적을 관찰 할 수도 있고 신기한 경험을 할 수 있었어요!

 

만장동굴을 갔다 오면서 들렸던 김녕미로공원이에요~!

 

 

이렇게 아름다운 미로가 다있나요~~?

아담하게 정말 잘꾸며 놓은 공원이었어요~! 입장하면서 미로지도를 함께 들고 입장을했어요!

 

 

 

중간에 길을 헤매서 미로 내부를 보기 위해 올라가면서 찍었어요~~

처음엔 정말 쉽게 봤는데 생각보다 도착점을 찾기가 쉽지가 않았어요ㅋㅋ

 

 

도착점에 도착하면 이렇게 종을 울릴수가 있어요!! 기념샷!!

 

 

아쉽게도 이렇게 제주도의 1박2일 여행일정을 마무리하게 되었어요..

 

너무나 짧았기에 좀 더 최대한 많은곳을 다니려고 노력했던 여행이었어요!

 

다음에 기회가 된다면 좀 더 여유있게 천천히 제주도 방방곡곡을 둘러보고 싶은 마음이 들었던것같아요.. 아쉼움을 뒤로하고 제주도의 여행일기를 마치도록 하겠습니다~

 

 

 

이 댓글을 비밀 댓글로