전체 글 검색 결과

178개 발견
  1. 미리보기
    2015.04.23 - mr.november11

    AIR JORDAN6 Bright Grape : 조던6 포마인

  2. 미리보기
    2015.04.23 - mr.november11

    AIR JORDAN11 Low Infrared : 조던11 인프라레드

  3. 미리보기
    2015.04.21 - mr.november11

    Page Redder

  4. 미리보기
    2015.04.21 - mr.november11

    What the Lebron 11 : 왓 더 르브론11

  5. 미리보기
    2015.04.21 - mr.november11

    AIR JORDAN3 Wolf Grey : 조던3 울프그레이

  6. 미리보기
    2015.04.21 - mr.november11

    AIR JORDAN5 Oreo : 조던5 오레오

  7. 미리보기
    2015.04.20 - mr.november11

    My Bookmarks

  8. 미리보기
    2015.04.20 - mr.november11

    VirtualBox에 CentOS6.6 설치 방법

AIR JORDAN6 Bright Grape : 조던6 포마인

2015. 4. 23. 22:28 - mr.november11

[JORDAN] AIR JORDAN6 Bright Grape : 조던6 포마인

조던을 알게 된 후 생애 처음으로 구입에 성공했던 조던6 포마인이다.

원래는 조던6 카마인 구매가 목표였다. 

하지만 조던6 중 최고의 인기인 카마인이었기에 도전 실패... 그 이후 심기일전하여 구매에 성공한 것이 바로 이 포마인이다.

포마인은 GS 사이즈만 출시 되었다.

컬러가 여성적인 귀여운 톤이였기에 처음부터 여성을 타겟으로 출시한 제품 같다.

카마인과 비슷한 색상에 같은 조던6 디자인이지만 가격은 훨씬 저렴하다.

그렇기에 여성이 신는다면 가성비 좋은 조던6라고 생각한다.


조던6 끝판왕 카마인



조던6 포마인 리뷰샷












다른 카테고리의 글 목록

리뷰/Jordan 카테고리의 포스트를 톺아봅니다

AIR JORDAN11 Low Infrared : 조던11 인프라레드

2015. 4. 23. 22:16 - mr.november11

[JORDAN] AIR JORDAN11 Low Infrared : 조던11 인프라레드

가장 좋아하며 현재도 실착중인 조던11 인프라레드다.

조던11은 어떤 색상이 나와도 다 대박이다.

조던11의 인기 제품은 감블과 브레드 색상이 있는데, 개인적으로는 코디하기 무난한 인프라레드가 실착용으로 가장 좋은 것 같다.

게다가 미드 제품은 출퇴근하며 신기에는 부담이 있는지만 이 제품은 로우 디자인이라 딱 좋다.

개인적으로는 조던 시리즈 중 가장 무난한 색상과 디자인이라고 생각했지만 앞코의 애나멜 재질을 튄다고 생각하는 분들도 있다.

현재까지 구입한 조던11 시리즈의 레전드블루, 인프라레드, 조지타운 중 가장 만족도가 크다.

현재 배송중인 조지타운도 실물은 나쁘지 않을 것 같다.

하지만 감블과 브레드를 살 수만 있다면 .........꼭 사고싶다...! 


리셀가가 급상승중인 조던11 감블


리셀가가 안드로메다인 조던11 브레드




조던11 인프라레드 리뷰샷











다른 카테고리의 글 목록

리뷰/Jordan 카테고리의 포스트를 톺아봅니다

Page Redder

2015. 4. 21. 23:39 - mr.november11

[크롬 익스텐션 개발하기]

Chrome Extension Sample page 소스분석

https://developer.chrome.com/extensions/samples




1. 프로그램 설명
크롬 익스텐션 개발에 가장 처음 관심을 갖게 한 Sample이다.
해당 프로그램을 실행시키면 현재 활성화 된 웹페이지의 body 스타일에 background를 빨강으로 세팅한다.
내부 코드는 간단하지만 웹페이지에 대한 접근 권한을 얻을 수 있기 때문에 이후 활용도 및 확장성면에서 가장 유용한 코드이다.

[프로그램 실행 전 웹페이지]

[프로그램 실행 후 웹페이지]
body style 설정으로 배경 색상이 지정되었다.

2. 소스설명
manifest.json
이 프로그램의 권한 설정은 현재 active 상태인 Tab에서만 유효하도록 되어있다.
background에 대한 persistent 설정은 false로 사용자가 browser action (아이콘을 클릭)한 상태에서만 해당 js가 로딩 되도록 설정되어 있다.
모든 상황에 대해서 js를 삽입하고 싶다면 backgroud 옵션을 변경해야 한다. 
{
  "name": "Page Redder",
  "description": "Make the current page red",
  "version": "2.0",
  "permissions": [
    "activeTab"
  ],
  "background": {
    "scripts": ["background.js"],
    "persistent": false
  },
  "browser_action": {
    "default_title": "Make this page red"
  },
  "manifest_version": 2
}
background.js
user가 browser action(아이콘 클릭)을 발생시켰을 경우 에 대한 이벤트 리스너를 추가한다.
해당 조건 발생 시 chrome.tabs.executeScript 함수를 실행한다.

// Called when the user clicks on the browser action.
chrome.browserAction.onClicked.addListener(function(tab) {
  // No tabs or host permissions needed!
  console.log('Turning ' + tab.url + ' red!');
  chrome.tabs.executeScript({
    code: 'document.body.style.backgroundColor="red"'
  });
});

chrome.browserAction.onClicked.addListener(function callback)
-> browser action 아이콘이 클릭되었을 시 호출되며, browser action이 popup을 가지고 있을 경우에는 호출되지 않는다.
-> callback 내부는 function( tabs.Tab tab) 가 호출되며 tab 매개변수를 통해 현재 active 상태인 tab의 정보를 얻어올 수 있다.
-> tab 을 통해 얻어올 수 있는 정보는 url, title, width, height 등이 있다. (https://developer.chrome.com/extensions/tabs#type-Tab)


chrome.tabs.executeScript(integer tabId, object details, function callback
-> 해당 함수는 programmatic injection 타입으로 page 안에 javascript 코드를 삽입한다. 
-> detail 파라미터에는 javascript 또는 css 코드나 파일 삽입이 가능하다. 
-> callback 파라미터는 javascript 함수가 실행 완료된 후 호출될 함수이다.
-> https://developer.chrome.com/extensions/tabs#method-executeScript


'Chrome Extension' 카테고리의 다른 글

Event Page Example  (0) 2015.05.02
A browser action with a popup that changes the page color  (0) 2015.05.02
A browser action which changes its icon when clicked  (0) 2015.05.02
Print this page  (0) 2015.04.29
My Bookmarks  (1) 2015.04.20

다른 카테고리의 글 목록

Chrome Extension 카테고리의 포스트를 톺아봅니다

What the Lebron 11 : 왓 더 르브론11

2015. 4. 21. 23:31 - mr.november11

[LEBRON] What the Lebron 11 : 왓 더 르브론11

르브론 시리즈 중에서도 프리미엄 라인으로 굉장히 화려한 신발이다.

아방가르드한(?) 디자인으로 애초에 디자인 자체를 실착용보다는 관상용으로 제작했을 것이라고 예상된다.

이 왓 더 르브론에는 슬픈 사연이 숨겨져 있다 ...

왓 더 르브론은 해외 출시보다 국내 NIKE 출시가 먼저되었던 특이한 케이스의 신발이다. 

국내 나이키 출시 당시 중국인들의 수요 급증으로 리셀가가 150만원, 국내 리셀가는 70~80만원 가까이 형성되었다.

하지만, 르브론의 NBA MVP 수상실패와 예상보다 많은 출고수량으로 인해 인기가 급 하락했다.

현재는 리셀가 30만원에도 잘 팔리지 않는 제품이 되었다.

구매 후 실착이 불가능한 디자인이었으며, 르브론의 MVP 수상이 실패 이후 전시용으로서의 가치도 없었기 때문에 수요가 없는 듯하다.

$250의 높은 출시가에 관세 추가로 실구매가만 하더라도 30만원 중반에 가까워지는 신발이다.

리셀러들의 영원한 애물단지로 남아있다.


왓 더 르브론 리뷰샷













다른 카테고리의 글 목록

리뷰/Jordan 카테고리의 포스트를 톺아봅니다

AIR JORDAN3 Wolf Grey : 조던3 울프그레이

2015. 4. 21. 23:04 - mr.november11

[JORDAN] AIR JORDAN3 Wolf Grey : 조던3 울프그레이

2014년도 구입한 울프 그레이, 구입 당시 회색계열의 색상이라 그런지 출시 초기에는 인기가 없었다.

출시 초기에는 리셀가가 해외구매+배송비와 거의 비슷하게 형성되었다.

조던 시리즈도 수요가 없어서 망할 수 있구나 .. 생각했던 제품

그런데 6개월정도 지나고 셀럽들이 신기 시작하면서부터 슬슬 주가가 올라가기 시작했다.

특히 슈퍼맨이 돌아왔다가 인기를 끌며, 타블로 가족의 착샷이 공개되면서부터 수요가 확 증가했다.

급상승하는 타블로&하루의 인기 호재로 울프그레이도 조던으로서의 자존심을 회복했다.

조던의 인기가 공산품으로서의 우수함보다는 Limited와 Premium 으로서의 상징성이 큰 만큼, 당시 인기스타의 실착 유무가 큰 영향을 끼치는 것 같다.

GD가 어서 조던을 잔뜩 신어 줬으면 좋겠다...

개인적으로 조던3 울프그레이의 디자인과 퀄리티는 마음에 들지 않았다.

회색은 너무 우중충했으며, 반짝이는 촌스러웠다.

그래도 블랙진이나 청바지에 실착하기에 무난한 컬러이였기에 어느정도 수요가 발생했던것 같다.


타블로 이하루 착샷 인스타그램

(실제 인스타그램의 컬러는 울프그레이가 아니었다.

사진이 업로드되던 당시에 출시했던 울프그레이가 디자인이 비슷해서 인기를 얻게 된 듯.

그럼에도 불구하고 울프그레이는 타블로 패밀리화로 알려져 있다.)

조던3 울프그레이 리뷰샷










다른 카테고리의 글 목록

리뷰/Jordan 카테고리의 포스트를 톺아봅니다

AIR JORDAN5 Oreo : 조던5 오레오

2015. 4. 21. 22:38 - mr.november11

[JORDAN] AIR JORDAN5 Oreo : 조던5 오레오

작년(2014년) 지미재즈 급 리스탁으로 잠깐 판매되었던 조던5 오레오 GS

조던6, 조던11에 비해서 인기도가 적은 조던5이지만 오레오 컬러는 어떤 시리즈에서건 다 인기가 많다.

조던5의 대표적인 컬러는 오레오와 서태웅 조던으로 불리는 파이어레드가 있다.

올 해(2015년) 조던5 메탈릭실버가 출시되었지만 타 시리즈에 비해 상대적으로 인기가 적은듯하다.

조던5 오레오의 경우 GS임에도 불구하고 높은 리셀가를 형성, 한 달 정도 착용했음에도 불구하고 꽤 괜찮은 조건으로 중고거래가 되었다.


서태웅 조던 파이어레드



조던5 오레오 리뷰샷















다른 카테고리의 글 목록

리뷰/Jordan 카테고리의 포스트를 톺아봅니다

My Bookmarks

2015. 4. 20. 23:08 - mr.november11

[크롬 익스텐션 개발하기]

Chrome Extension Sample page 소스분석

https://developer.chrome.com/extensions/samples


My Bookmarks

1. 프로그램 설명

해당 샘플은 크롬 함수를 통해 북마크 현황조회, 북마크 추가, 새 탭 생성으로 북마크 이동 기능을 지원한다.
북마크에 관련된 함수 위주의 샘플이기 때문에 크게 사용할일은 없을 것 같다.

2. 소스 설명

manifest.json

bookmark 접근 권한 설정, browser_action으로 버튼 선택 시 실행될 popup.html이 설정되어 있다.

{

  "name": "My Bookmarks",

  "version": "1.1",

  "description": "A browser action with a popup dump of all bookmarks, including search, add, edit and delete.",

  "permissions": [

    "bookmarks"

  ],

  "browser_action": {

      "default_title": "My Bookmarks",

      "default_icon": "icon.png",

      "default_popup": "popup.html"

  },

  "manifest_version": 2,

  "content_security_policy": "script-src 'self' https://ajax.googleapis.com; object-src 'self'"

}


popup.html
div를 통해 각 영역의 이름만 선언되어있다.
실제 내부 코드는 코드는 popup.js에서 호출된다.
manifest.json은 popup.html을 호출하고, popup.html은 popup.js를 호출하는 방식
<html>
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  <script src="popup.js"></script>
</head>
<body style="width: 400px">
  <div>Search Bookmarks: <input id="search"></div>
  <div id="bookmarks"></div>
  <div id="editdialog"></div>
  <div id="deletedialog"></div>
  <div id="adddialog"></div>
</body>
</html>

popup.js

popup.js 로그 시 document.addEventListener 'DOMContentLoaded' 가 등록된다.
DOMContentLoaded는 웹페이지의 DOM 로딩 완료 후 호출된다. 
웹페이지에서 이미지 다운로드를 기다리기 전에 호출 되기 때문에 전체 페이지가 다 로딩되기 전에 실행된다.
DOM로딩이 완료될 시 dumpBookmarks 함수가 실행된다. 
dumpBookmarks 함수는 chrome.bookmarks.getTree 를 실행하여 현재 Chrome 브라우저에 설정된 Bookmark Tree를 받아온다.

이후 받아온 Bookmark 정보는 anchor 객체를 설정한 후 코드에 추가한다. 

var anchor = $('<a>');
    anchor.attr('href', bookmarkNode.url);
    anchor.text(bookmarkNode.title);
    /*
     * When clicking on a bookmark in the extension, a new tab is fired with
     * the bookmark url.
     */
    anchor.click(function() {
      chrome.tabs.create({url: bookmarkNode.url});
    });

// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Search the bookmarks when entering the search keyword.
$(function() {
  $('#search').change(function() {
     $('#bookmarks').empty();
     dumpBookmarks($('#search').val());
  });
});
// Traverse the bookmark tree, and print the folder and nodes.
function dumpBookmarks(query) {
  var bookmarkTreeNodes = chrome.bookmarks.getTree(
    function(bookmarkTreeNodes) {
      $('#bookmarks').append(dumpTreeNodes(bookmarkTreeNodes, query));
    });
}
function dumpTreeNodes(bookmarkNodes, query) {
  var list = $('<ul>');
  var i;
  for (i = 0; i < bookmarkNodes.length; i++) {
    list.append(dumpNode(bookmarkNodes[i], query));
  }
  return list;
}
function dumpNode(bookmarkNode, query) {
  if (bookmarkNode.title) {
    if (query && !bookmarkNode.children) {
      if (String(bookmarkNode.title).indexOf(query) == -1) {
        return $('<span></span>');
      }
    }
    var anchor = $('<a>');
    anchor.attr('href', bookmarkNode.url);
    anchor.text(bookmarkNode.title);
    /*
     * When clicking on a bookmark in the extension, a new tab is fired with
     * the bookmark url.
     */
    anchor.click(function() {
      chrome.tabs.create({url: bookmarkNode.url});
    });
    var span = $('<span>');
    var options = bookmarkNode.children ?
      $('<span>[<a href="#" id="addlink">Add</a>]</span>') :
      $('<span>[<a id="editlink" href="#">Edit</a> <a id="deletelink" ' +
        'href="#">Delete</a>]</span>');
    var edit = bookmarkNode.children ? $('<table><tr><td>Name</td><td>' +
      '<input id="title"></td></tr><tr><td>URL</td><td><input id="url">' +
      '</td></tr></table>') : $('<input>');
    // Show add and edit links when hover over.
        span.hover(function() {
        span.append(options);
        $('#deletelink').click(function() {
          $('#deletedialog').empty().dialog({
                 autoOpen: false,
                 title: 'Confirm Deletion',
                 resizable: false,
                 height: 140,
                 modal: true,
                 overlay: {
                   backgroundColor: '#000',
                   opacity: 0.5
                 },
                 buttons: {
                   'Yes, Delete It!': function() {
                      chrome.bookmarks.remove(String(bookmarkNode.id));
                      span.parent().remove();
                      $(this).dialog('destroy');
                    },
                    Cancel: function() {
                      $(this).dialog('destroy');
                    }
                 }
               }).dialog('open');
         });
        $('#addlink').click(function() {
          $('#adddialog').empty().append(edit).dialog({autoOpen: false,
            closeOnEscape: true, title: 'Add New Bookmark', modal: true,
            buttons: {
            'Add' : function() {
               chrome.bookmarks.create({parentId: bookmarkNode.id,
                 title: $('#title').val(), url: $('#url').val()});
               $('#bookmarks').empty();
               $(this).dialog('destroy');
               window.dumpBookmarks();
             },
            'Cancel': function() {
               $(this).dialog('destroy');
            }
          }}).dialog('open');
        });
        $('#editlink').click(function() {
         edit.val(anchor.text());
         $('#editdialog').empty().append(edit).dialog({autoOpen: false,
           closeOnEscape: true, title: 'Edit Title', modal: true,
           show: 'slide', buttons: {
              'Save': function() {
                 chrome.bookmarks.update(String(bookmarkNode.id), {
                   title: edit.val()
                 });
                 anchor.text(edit.val());
                 options.show();
                 $(this).dialog('destroy');
              },
             'Cancel': function() {
                 $(this).dialog('destroy');
             }
         }}).dialog('open');
        });
        options.fadeIn();
      },
      // unhover
      function() {
        options.remove();
      }).append(anchor);
  }
  var li = $(bookmarkNode.title ? '<li>' : '<div>').append(span);
  if (bookmarkNode.children && bookmarkNode.children.length > 0) {
    li.append(dumpTreeNodes(bookmarkNode.children, query));
  }
  return li;
}

document.addEventListener('DOMContentLoaded', function () {
  dumpBookmarks();
});

'Chrome Extension' 카테고리의 다른 글

Event Page Example  (0) 2015.05.02
A browser action with a popup that changes the page color  (0) 2015.05.02
A browser action which changes its icon when clicked  (0) 2015.05.02
Print this page  (0) 2015.04.29
Page Redder  (0) 2015.04.21

다른 카테고리의 글 목록

Chrome Extension 카테고리의 포스트를 톺아봅니다

VirtualBox에 CentOS6.6 설치 방법

2015. 4. 20. 22:47 - mr.november11

1. VirtualBox 다운로드 

https://www.virtualbox.org/wiki/Downloads

Virtual Box 공식 홈페이지에서 각 OS에 맞춰 다운로드 한다. 

2. CentOS 6.6 Image 다운로드
http://wiki.centos.org/Download
현재 공식 사이트 Download 버튼에서는 CentOS 7.0버전만 다운로드 가능하다.
'More download choices' 로 들어가 6.6 버전을 선택하여 다운받는다.

3. VirtuaBox 설치 후 VM만들기
특별히 신경쓸 내용 없이 Next Step을 진행하면 된다. 


* OS 초기 설치 부팅 시 아래 메시지가 나타나는 경우

This kernel requires an x86-64 CPU, but only detected an i686 CPU.
Unable to boot - please use a krenel appropirate for your CPU.

설치 당시의 데스크탑 OS 환경이 윈도우7 64bit였는데 위와 같은 메시지가 나타났다.
VirtualBox는 데스크탑의 32, 64bit 환경을 맞춰줘야 하는건가? ..
일단 큰 고민 없이 ..그냥 초기 VM이미지 생성을 그냥 64bit로 해주니 잘 진행된다.

64bit로 생성한 이미지가 32비트 환경의 데스크탑에서 잘 실행될지는 미지수다.. 
아마 안 될 것 같다.









다른 카테고리의 글 목록

Linux 카테고리의 포스트를 톺아봅니다