ui-bg_flat_75_ffffff_40x100.png 


파일이 없다고 나올때


첨부파일을 해당 경로에 추가해 준다.



ui-bg_flat_75_ffffff_40x100.zip



압축을 풀면 


ui-bg_flat_75_ffffff_40x100.png


파일이 나옴.

블로그 이미지

엘로드넷

,

Windows Power shell 을 열고


Type null > 로그파일명




PS c:\logs > Type null > ./error.log



블로그 이미지

엘로드넷

,

Windows Power shell 에서


Get-Content 로그파일명 -Wait




PS C:\logs > Get-Content ./error.log -Wait



블로그 이미지

엘로드넷

,

휴지통에 있음.


블로그 이미지

엘로드넷

,

Centos 배포판 구분

Linux 2016. 10. 21. 22:54

CentOS 다운로드를 위해서는 www.centos.org 에 가면 되지만.

미러링 사이트가 많기 때문에 미러링 사이트로 바로 가면 된다.


아래 다음에서 운영하는 미러링 사이트


http://ftp.daumkakao.com/centos/


브라우저에서 위 주소로 입력하고 들어가면


아래와 같은 화면이 뜬다.




아래로 죽 내려서 최신버전 디렉토리로 들어가면 아래와 같이 나온다.


경로 : http://ftp.daumkakao.com/centos/7.2.1511/isos/x86_64/





DVD : 일반적인 4.7기가 DVD 한 장에 구울 수 있는 분량

Everything : DVD 한 장에 굽지 못함.

LiveGNONE : 설치하지 않고 DVD로 실행하여 GNONE 데스크탑으로 들어감

LiveKDE : 설치하지 않고 DVD로 실행하여 KDE 데스크탑으로 들어감

Minimal : 서버환경을 위한 최소설치

NetInstall : 네트웍 연결을 통한 설치







 



블로그 이미지

엘로드넷

,

아래 그림처럼 디스크 유틸리티에는 FAT만 있고 FAT32는 없다.




FAT32로 포맷하려면 커맨드창에서 명령어를 실행하면 된다.


먼저 df 명령어로 디스크 상황을 확인한다.


ELLORDNET-MPR:~ ellord$ df

Filesystem                                      512-blocks      Used Available Capacity  iused    ifree %iused  Mounted on

/dev/disk0s2                                     975425624 704695352 270218272    73% 88150917 33777284   72%   /

devfs                                                  674       674         0   100%     1167        0  100%   /dev

map -hosts                                               0         0         0   100%        0        0  100%   /net

map auto_home                                            0         0         0   100%        0        0  100%   /home

/dev/disk0s3                                       1269536   1037520    232016    82%   129688    29002   82%   /Volumes/Recovery HD

//guest:@localhost:64299/%5BC%5D%20Windows%2010  401627128  54374736 347252392    14%  6796840 43406549   14%   /Volumes/C

/dev/disk3s1                                      61274112  60472320    801792    99%        0        0  100%   /Volumes/NO NAME

ELLORDNET-MPR:~ ellord$ 




sd카드가 /dev/disk3s1 로 잡혀 있다.


diskutil 명령어로 아래와 같이 입력한다.


ELLORDNET-MPR:~ ellord$ diskutil partitionDisk /dev/disk3s1 MBRFormat "MS-DOS FAT32" "BLACKBOX" 100%


내용인즉, 

FAT32로 전체공간(100%)을 포맷하고, 파티션 이름은 BLACKBOX 이다.



ELLORDNET-MPR:~ ellord$ diskutil partitionDisk /dev/disk3s1 MBRFormat "MS-DOS FAT32" "BLACKBOX" 100%

/dev/disk3s1 does not appear to be a whole disk


어라...이상한 메세지가 나온다.

전체 디크스가 아니라고 한다.


ELLORDNET-MPR:~ ellord$ diskutil list /dev/disk3s1

/dev/disk3 (internal, physical):

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:     FDisk_partition_scheme                        *31.4 GB    disk3

   1:             Windows_FAT_32 NO NAME                 31.4 GB    disk3s1



/dev/disk3s1 대신에 /dev/disk3 으로 바꾸어 실행한다.

ELLORDNET-MPR:~ ellord$ diskutil partitionDisk /dev/disk3 MBRFormat "MS-DOS FAT32" "BLACKBOX" 100%

Started partitioning on disk3

Unmounting disk

Creating the partition map

Waiting for the disks to reappear

Formatting disk3s1 as MS-DOS (FAT32) with name BLACKBOX

512 bytes per physical sector

/dev/rdisk3s1: 61276896 sectors in 1914903 FAT32 clusters (16384 bytes/cluster)

bps=512 spc=32 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=8192 drv=0x80 bsec=61306880 bspf=14961 rdcl=2 infs=1 bkbs=6

Mounting disk

Finished partitioning on disk3

/dev/disk3 (internal, physical):

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:     FDisk_partition_scheme                        *31.4 GB    disk3

   1:                 DOS_FAT_32 BLACKBOX                31.4 GB    disk3s1


포맷이 된다.


파인더를 보면 기기에 BLACKBOX 로 잡힌다.




BLACKBOX 클릭하고 커맨더+I 로 정보를 확인해 보자.




포맷: MS-DOS(FAT32) 가 확인된다.



끝.







블로그 이미지

엘로드넷

,

1. dev.naver.com 에 로그인 해서 애플리케이션을 추가한다.



2. 기본적으로 좌표기준으로 지도를 표시하므로 주소 -> 좌표변환한다.


<?

//주소 -> 좌표 변환하여 json 으로 넘김


function geocode($addr, $cID, $sCode) {

        

                    

        $ch = curl_init();

        $address = urlencode($addr);

        $encoding="euc-kr"; //출력 결과 인코딩 값으로 'utf-8', 'euc-kr' 가능

        $coord="latlng"; //출력 좌표 체계 값으로 latlng(위경도), tm128(카텍) 가능

        $output="json" ;//json,xml

        

        $qry_str = "?encoding=".$encoding."&coord=".$coord."&output=".$output."&query=".$address;

        $headers = array(

            "X-Naver-Client-Id: $cID", //Client ID            

            "X-Naver-Client-Secret: $sCode" //Client Secret

        );

    

        $url="https://openapi.naver.com/v1/map/geocode";

        curl_setopt($ch, CURLOPT_URL, $url.$qry_str);

         curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);                

        $res =curl_exec($ch);

        curl_close($ch);

        

        //echo($res);

        return $res;

                    

                    

    }





 $address1 = "경상남도 김해시 번화1로 84 34";



$json = geocode($adrress1, "발급받은ClientID", "발급받은Client Secret");

$json = utf8_encode($json);        //적용하는 사이트의 인코딩이 euc_kr인 경우 추가해 줌.

$mapdata =  json_decode($json);

$map_x_point = $mapdata->result->items[0]->point->x;

$map_y_point =  $mapdata->result->items[0]->point->y;


?>


지도적용 : 빨간색 부분.


<script type="text/javascript" src="http://openapi.map.naver.com/openapi/v2/maps.js?clientId=3DjaLPxGAcZLfV_opKj8"></script>
<div id="map" style="border:1px solid #000; width: 700px; height: 500px;"></div>
<script type="text/javascript">
                var oSeoulCityPoint = new nhn.api.map.LatLng(<?=$map_y_point?>, <?=$map_x_point?>);
                var defaultLevel = 11;
                var oMap = new nhn.api.map.Map(document.getElementById('map'), { 
                                                point : oSeoulCityPoint,
                                                zoom : defaultLevel,
                                                enableWheelZoom : true,
                                                enableDragPan : true,
                                                enableDblClickZoom : false,
                                                mapMode : 0,
                                                activateTrafficMap : false,
                                                activateBicycleMap : false,
                                                minMaxLevel : [ 1, 14 ],
                                                size : new nhn.api.map.Size(800, 480)           });
                var oSlider = new nhn.api.map.ZoomControl();
                oMap.addControl(oSlider);
                oSlider.setPosition({
                        top : 10,
                        left : 10
                });

                var oMapTypeBtn = new nhn.api.map.MapTypeBtn();
                oMap.addControl(oMapTypeBtn);
                oMapTypeBtn.setPosition({
                        bottom : 10,
                        right : 80
                });
                
                var oThemeMapBtn = new nhn.api.map.ThemeMapBtn();
                oThemeMapBtn.setPosition({
                        bottom : 10,
                        right : 10
                });
                oMap.addControl(oThemeMapBtn);

                var oBicycleGuide = new nhn.api.map.BicycleGuide(); // - 자전거 범례 선언
                oBicycleGuide.setPosition({
                        top : 10,
                        right : 10
                }); // - 자전거 범례 위치 지정
                oMap.addControl(oBicycleGuide);// - 자전거 범례를 지도에 추가.

                var oTrafficGuide = new nhn.api.map.TrafficGuide(); // - 교통 범례 선언
                oTrafficGuide.setPosition({
                        bottom : 30,
                        left : 10
                });  // - 교통 범례 위치 지정.
                oMap.addControl(oTrafficGuide); // - 교통 범례를 지도에 추가.

                var trafficButton = new nhn.api.map.TrafficMapBtn(); // - 실시간 교통 지도 버튼 선언
                trafficButton.setPosition({
                        bottom:10, 
                        right:150
                }); // - 실시간 교통 지도 버튼 위치 지정
                oMap.addControl(trafficButton);

                var oSize = new nhn.api.map.Size(28, 37);
                var oOffset = new nhn.api.map.Size(14, 37);
                var oIcon = new nhn.api.map.Icon('http://static.naver.com/maps2/icons/pin_spot2.png', oSize, oOffset);

                var oInfoWnd = new nhn.api.map.InfoWindow();
                oInfoWnd.setVisible(false);
                oMap.addOverlay(oInfoWnd);

                oInfoWnd.setPosition({
                        top : 20,
                        left :20
                });

                var oLabel = new nhn.api.map.MarkerLabel(); // - 마커 라벨 선언.
                oMap.addOverlay(oLabel); // - 마커 라벨 지도에 추가. 기본은 라벨이 보이지 않는 상태로 추가됨.

                oInfoWnd.attach('changeVisible', function(oCustomEvent) {
                        if (oCustomEvent.visible) {
                                oLabel.setVisible(false);
                        }
                });
                
                var oPolyline = new nhn.api.map.Polyline([], {
                        strokeColor : '#f00', // - 선의 색깔
                        strokeWidth : 5, // - 선의 두께
                        strokeOpacity : 0.5 // - 선의 투명도
                }); // - polyline 선언, 첫번째 인자는 선이 그려질 점의 위치. 현재는 없음.
                oMap.addOverlay(oPolyline); // - 지도에 선을 추가함.

                oMap.attach('mouseenter', function(oCustomEvent) {

                        var oTarget = oCustomEvent.target;
                        // 마커위에 마우스 올라간거면
                        if (oTarget instanceof nhn.api.map.Marker) {
                                var oMarker = oTarget;
                                oLabel.setVisible(true, oMarker); // - 특정 마커를 지정하여 해당 마커의 title을 보여준다.
                        }
                });

                oMap.attach('mouseleave', function(oCustomEvent) {

                        var oTarget = oCustomEvent.target;
                        // 마커위에서 마우스 나간거면
                        if (oTarget instanceof nhn.api.map.Marker) {
                                oLabel.setVisible(false);
                        }
                });

                oMap.attach('click', function(oCustomEvent) {
                        var oPoint = oCustomEvent.point;
                        var oTarget = oCustomEvent.target;
                        oInfoWnd.setVisible(false);
                        // 마커 클릭하면
                        if (oTarget instanceof nhn.api.map.Marker) {
                                // 겹침 마커 클릭한거면
                                if (oCustomEvent.clickCoveredMarker) {
                                        return;
                                }
                                // - InfoWindow에 들어갈 내용은 setContent로 자유롭게 넣을 수 있습니다. 외부 css를 이용할 수 있으며, 
                                // - 외부 css에 선언된 class를 이용하면 해당 class의 스타일을 바로 적용할 수 있습니다.
                                // - 단, DIV의 position style은 absolute가 되면 안되며, 
                                // - absolute의 경우 autoPosition이 동작하지 않습니다. 
                                oInfoWnd.setContent('<DIV style="border-top:1px solid; border-bottom:2px groove black; border-left:1px solid; border-right:2px groove black;margin-bottom:1px;color:black;background-color:white; width:auto; height:auto;">'+
                                        '<span style="color: #000000 !important;display: inline-block;font-size: 12px !important;font-weight: bold !important;letter-spacing: -1px !important;white-space: nowrap !important; padding: 2px 5px 2px 2px !important">' + 
                                        'Hello World <br /> ' + oTarget.getPoint()
                                        +'<span></div>');
                                oInfoWnd.setPoint(oTarget.getPoint());
                                oInfoWnd.setPosition({right : 15, top : 30});
                                oInfoWnd.setVisible(true);
                                oInfoWnd.autoPosition();
                                return;
                        }
                        var oMarker = new nhn.api.map.Marker(oIcon, { title : '마커 : ' + oPoint.toString() });
                        oMarker.setPoint(oPoint);
                        oMap.addOverlay(oMarker);

                        var aPoints = oPolyline.getPoints(); // - 현재 폴리라인을 이루는 점을 가져와서 배열에 저장.
                        aPoints.push(oPoint); // - 추가하고자 하는 점을 추가하여 배열로 저장함.
                        oPolyline.setPoints(aPoints); // - 해당 폴리라인에 배열에 저장된 점을 추가함
                });
                
//마커 보이기
var titMarker = new nhn.api.map.Marker(oIcon, { title : '마커에 마우스 오버시 나타날 텍스트', point:oSeoulCityPoint }); 
oMap.addOverlay(titMarker);                 

//마커 옆에 라벨보이기
var titLabel = new nhn.api.map.MarkerLabel();
oMap.addOverlay(titLabel);
titLabel.setVisible(true, titMarker);
</script>



블로그 이미지

엘로드넷

,

function set_comma(n){

  var reg=/(^[+-]?\d+)(\d{3})/;

  n+='';

  while(reg.test(n))

  n=n.replace(reg,'$1'+','+'$2');

  return n;

  }



var money1 = 10000;

var money2 = set_comma(money1);    //10,000


블로그 이미지

엘로드넷

,

web.xml

파일에서 


<filter-mapping> 안에 <url-pattern>/*</url-pattern> 인지 확인.


<url-pattern>/</url-pattern> 과 같이 하면 한글 깨짐.





<filter>

   

    <filter-name>encodingFilter</filter-name>

    <filter-class>

        org.springframework.web.filter.CharacterEncodingFilter

    </filter-class>

    <init-param>

        <param-name>encoding</param-name>

        <param-value>UTF-8</param-value>

    </init-param>

    <init-param>

        <param-name>forceEncoding</param-name>

        <param-value>true</param-value>

    </init-param>

</filter>

<filter-mapping>

    <filter-name>encodingFilter</filter-name>

    <url-pattern>/*</url-pattern>

</filter-mapping>

블로그 이미지

엘로드넷

,

WARN : org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI


servlet-context.xml 파일에서 controller가 있는 패키지가 정확하게 되어 있는지 확인.


<context:component-scan base-package="net.ellord.spring_test_controller" />



spring 기본 프로젝트를 생성하고 추가로 컨트롤러 패키지를 생성한 경우 확인필요.

블로그 이미지

엘로드넷

,