[Ubuntu] Virtual Box로 Ubuntu 설치하기 #1 - Virtual Box 세팅

Ubuntu 2018. 2. 11. 13:17




■ 버츄얼 박스로 우분투 설치하기 #1 - 버츄얼 박스 세팅





01. 먼저 버츄얼 박스(Oracle VM VirtualBox)를 실행하고 새로 만들기 버튼을 클릭한다.




02. 설치할 가상머신의 이름과 설정을 세팅한다.

 ① 먼저 가상 머신의 이름을 작성한다. Ubuntu 라고 적으면 기본적으로 자동으로 세팅이 된다.

 ② 설정이 완료되면 다음 버튼을 클릭한다.




03. 가상 머신의 메모리를 할당한다. 기본적으로 적용된 권장사양을 사용했다.

※ 메모리 용량은 추후 변경이 가능하니 부담을 가지지 말고 설정하자.




04. 하드디스크를 세팅한다.

 ① 지금 새 가상 하드 디스크 만들기 를 선택한다.

 ② 다음 버튼을 클릭한다.

※ 기존에 만들어둔 가상 하드디스크가 하나도 없으므로 이렇게 선택했다.




05. VDI(VirtualBox 디스크 이미지)를 선택한다.





06. 하드 드라이브 용량을 어떻게 사용할지 정하는 부분이다.

 고정 크기를 선택한다.

 ② 다음 버튼을 클릭한다.

※ 용량이 부족하다면 동적할당을 선택하는 것을 추천하지만, 속도를 위해서 고정 크기로 설정했다.




07. 새로 만드는 가상 하드디스크의 이름과 크기를 지정해 준다.

 가상 하드 디스크의 이름을 작성한다.

 ② 용량은 기본적으로 10GB가 기본적으로 제시되어 있었다.(최소 8GB이상을 선택하는것을 권장한다.)

 ③ 만들기 버튼을 클릭한다.

※ 하드디스크 용량은 이후 변경이 불가능 하니 잘 생각하고 정하도록 하자.




08. 그럼 버츄얼 박스에서 가상 하드디스크 제작하는 로딩창이 나타난다. 가상머신이 생성되는동안 기다리자.





09. 가상머신의 세팅이 끝났으면 이제 우분투를 설치하기 위한 설정에 들어가자.

 ① 세팅된 우분투 가상머신을 선택한다.

 ② 상단의 설정 버튼을 클릭한다.




10. 이제 설치할 가상머신에 사전에 미리 다운받아둔 우분투 ISO파일을 배치한다.

 ① 왼쪽 카테고리에서 저장소를 클릭한다.

 ② 저장소 창에서 비어있음을 선택한다.

 ③ 오른쪽의 CDROM 모양의 아이콘을 선택한다.

 ④ 가상 광 디스크 파일 선택을 클릭한다.





11. 사전에 다운받은 우분투.iso 파일을 찾아서 오픈한다.

 ① 다운받아둔 Ubuntu.iso 파일을 찾고 선택한다.

 ② 열기 버튼을 클릭한다.





12. 그럼 이제 버츄얼 머신으로 우분투 설치 준비가 완료되었다.

 ① 컨트롤러 : IDE에 위에서 선택한 우분투.iso파일이 선택되어 진 것을 확인 할 수 있다.

 ② 확인 버튼을 클릭한다.




13. 이제 가상머신을 실행하여 우분투를 설치 해보자.

 ① 세팅한 우분투 가상머신을 선택한다.

 ② 시작 버튼을 클릭한다.






14. 시동 디스크 선택 하라는 팝업창이 뜬다.

 ① 기본적으로 설정된 호스트 드라이브 'G:'를 선택

 ② 시작 버튼을 클릭한다.





15. 그럼 우분투 가상머신 창이 나타난다.





16. 잡기 버튼을 클릭하고 넘어가자.





17. 그럼 이제 우분투 설치로 넘어가는 것을 확인 할 수 있다.




바로가기 : [Ubuntu] Virtual Box로 Ubuntu 설치하기 #2 - Ubuntu 설치하기(http://wickedmagic.tistory.com/593)

[Ubuntu] Virtual Box로 Ubuntu 설치하기 #2 - Ubuntu 설치하기

출처: http://wickedmagic.tistory.com/593 [사악미소의 현대마법의 공방]




[Ubuntu] Ubuntu 다운받기

Ubuntu 2018. 2. 11. 12:41




■ 우분투 16 LTS 다운로드



01. 우분투 다운로드 사이트(https://www.ubuntu.com/download/desktop)에 접속하여 다운로드 버튼을 클릭한다.





02. 그럼 페이지가 이동하고 기부여부를 묻는다. 일단 전부 $0를 기입한다.




03. 그렇게 페이지 아래를 보면 Not now, take me to the download 라는 버튼이 보일것이다. 클릭한다.





04. 이제 그럼 한번더 페이지가 이동하고 우분투를 다운로드 받을 수 있다.






[PHP] 에러 : unterminated string literal

PHP 2018. 2. 8. 18:36




■ 에러 : unterminated string literal




기존 코드를 PHP5에서 PHP7으로 옮기고 아파치 버전도 2.4로 올리면서 발생했다.

단순 스크립트 에러인줄 알았는데, 같은 브라우저에서 똑같이 띄었을때 이런 에러가 발생해서 일단 정리해 본다.


 에러가 발생 하는 경우

<?php

            echo "<script type='text/javascript'>";
            echo "alert('가입되었습니다.\n로그인 페이지로 이동합니다.');";
            echo sprintf("window.location.replace('%s');", $backUrl);
            echo "</script>";

?>



자바스크립의 엔터 기호인 \n 때문에 이런 문제가 발생하였다.

그런데 정상적으로 돌아간 버전도 있다.



두 실행 환경의 차이점

 

서버

PHP Version

에러가 발생하지 않는 경우

Microsoft-IIS/5.0

5.6.30

에러가 발생하는 경우

Apache/2.4.23 (Win64)

7.0.11



 에러가 발생 하지 않는 경우

<?php

            echo "<script type='text/javascript'>";
            echo "alert('가입되었습니다.\\n로그인 페이지로 이동합니다.');";
            echo sprintf("window.location.replace('%s');", $backUrl);
            echo "</script>";

?>



무엇이 차이인지는 잘 모르겠고 기존에 되던 환경에서 무언가 세팅이 되있는것 같지만.

이제 앞으로는 \\n을 기본적으로 붙이고 코딩 하는 습관을 들여야 겠다.





'PHP' 카테고리의 다른 글

[PHP] 에러 : unterminated string literal  (0) 2018.02.08
[PHP] APM 연동과정  (1) 2014.03.18
[PHP] 서버와 클라이언트  (0) 2014.03.18
[PHP] HTML과 PHP  (0) 2014.03.18
[PHP] PHP의 특징  (0) 2014.03.18

[JAVASCRIPT] navigtor 객체

카테고리 없음 2018. 2. 5. 12:56




navigtor 객체



 navigtor 객체는 웹 페이지를 실행하고 있는 브라우저에 대한 정보를 가지고 있습니다. 일반적으로는 아래의 속성을 많이 사용한다.


 속성 이름

설     명

 appCodeName

 · 브라우저의 코드명

 appName

 · 브라우저의 이름

 appVersion

 · 브라우저의 버전

 platform

 · 사용중인 운영체제의 시스템 환경

 userAgent

 · 브라우저의 전체적인 정보



# 소스코드


 navigator.php

<html>
<head>
<title>:: navigator 객체 ::</title>
<script type="text/javascript">
    var output = "";

    for(var key in navigator) {
        output += "●" + key + " : " + navigator[key] + "\n";
    }

    alert(output);
</script>
</head>
<body>
</body>
</html>




# 출력결과


 Mozilla FireFox

 ● mozPay : null
 ● mozContacts : [object ContactManager]
 ● mozApps : [object DOMApplicationsRegistry]
 ● getBattery : function getBattery() {
     [native code]
 }
 ● vibrate : function vibrate() {
     [native code]
 }
 ● javaEnabled : function javaEnabled() {
     [native code]
 }
 ● getGamepads : function getGamepads() {
     [native code]
 }
 ● mozGetUserMedia : function mozGetUserMedia() {
     [native code]
 }
 ● sendBeacon : function sendBeacon() {
     [native code]
 }
 ● requestMediaKeySystemAccess : function requestMediaKeySystemAccess() {
     [native code]
 }
 ● registerProtocolHandler : function registerProtocolHandler() {
     [native code]
 }
 ● registerContentHandler : function registerContentHandler() {
     [native code]
 }
 ● taintEnabled : function taintEnabled() {
     [native code]
 }
 ● permissions : [object Permissions]
 ● mimeTypes : [object MimeTypeArray]
 ● plugins : [object PluginArray]
 ● doNotTrack : unspecified
 ● battery : [object BatteryManager]
 ● oscpu : Windows NT 6.1; WOW64
 ● vendor :
 ● vendorSub :
 ● productSub : 20100101
 ● cookieEnabled : true
 ● buildID : 20160421124000
 ● mediaDevices : [object MediaDevices]
 ● serviceWorker : [object ServiceWorkerContainer]
 ● geolocation : [object Geolocation]
 ● appCodeName : Mozilla
 ● appName : Netscape
 ● appVersion : 5.0 (Windows)
 ● platform : Win32
 ● userAgent : Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
 ● product : Gecko
 ● language : ko-KR
 ● languages : ko-KR
 ● onLine : true






[AJAX] input type="file" 없이 파일 전송하기

jQuery/AJAX 2018. 2. 5. 11:26




input type="file" 없이 파일 전송하기



 -. 지난 포스팅에서 AJAX로 파일 업로드하는 방법을 살펴보았다.([AJAX] AJAX를 사용하여 파일 업로드 하기)

 -. 사실 저 방법을 필자가 가장 많이 사용하는 이유는 기존 <input type="fils"/>의 형태를 숨기기위해서 사용하는 경우가 잦다.

 -. 포스팅 제목을 type="file"없이 라고는 했지만 실질적으로 type="file" 없이 파일 숨기고 전송하기가 된다.


※ 기존의 파일 업로드 방식



# 소스코드

 updateButton.php

<html>
<head>
<title>:: AJAX 파일전송 ::</title>
<script src="http://code.jquery.com/jquery-1.12.4.js"></script>
<script type="text/javascript">
    function ajaxFileUpload() {
        // 업로드 버튼이 클릭되면 파일 찾기 창을 띄운다.
        jQuery("#ajaxFile").click();
    }

    function ajaxFileChange() {
        // 파일이 선택되면 업로드를 진행한다.
        ajaxFileTransmit();
    }

    function ajaxFileTransmit() {
        var form = jQuery("ajaxFrom")[0];
        var formData = new FormData(form);
        formData.append("message", "파일 확인 창 숨기기");
        formData.append("file", jQuery("#ajaxFile")[0].files[0]);

        jQuery.ajax({
              url : "./ajaxFormReceive.php"
            , type : "POST"
            , processData : false
            , contentType : false
            , data : formData
            , success:function(json) {
                var obj = JSON.parse(json);
            }
        });
    }
</script>
</head>
<body>
<form id="ajaxFrom" method="post">
    <!-- display:none으로 화면상에서 파일 확인 창을 숨겨둔다 -->
    <input type="file" id="ajaxFile" onChange="ajaxFileChange();" style="display:none;"/>
    <input type="button" onClick="ajaxFileUpload();" value="업로드"/>
</form>
</body>
</html>



# 출력결과


① <input type="file">의 모습은 볼 수 없다. 업로드 버튼을 눌러 파일을 업로드 한다.




② 파일이 한번에 업로드 되는 것을 확인 할 수 있다.