프로그래밍2012.11.19 02:16

Google Chrome Extensions


http://developer.chrome.com/extensions


크롬 확장기능 개발은 너무 쉽다. 또한 강력하다. 크롬 웹 스토어에 가면 구글 메일, 구글 캘린더, 구글토크 까지 API를 보면 웹으로 할 수 있는 거의 모든것이 가능하다. 백그라운드로 데이터를 기다리거나 다른 서버와 데이터를 주고받아 표시하는것 또한 쉽게 가능하다.


전에부터 만들고 싶었던 최저가 검색 Extension을 만들어 보기로 했다.


최저가 검색에는 about.co.kr(http://about.co.kr) 을 이용했다. 관련된 OpenAPI가 있는지 확인하였으나


찾지못하였다. 그래스 그냥 새로운탭으로 about.co.kr을 표시하는 간단한 기능을 구현하였다.


<완성된 모습>



기본적으로 두가지 파일이 필요하다. JSON 형식의 manifest파일과, 실제 코드가 있는 js파일이다. chrome extension은 기본적으로 Javascript로 만들어저있다. 그래서 Javascript API는 모두 사용가능하다.


또한 chrome API도 사용가능하다. 이로인해 파일 핸들링 까지 가능하다.(http://developer.chrome.com/extensions/api_index.html)


소스


1. manifest

{
  "name": "ABOUT 최저가 검색",
  "description": "Lowest Price Search(using about.co.kr)",
  "version": "0.1",
  "permissions": ["contextMenus", "tabs"],
  "background": {
    "scripts": ["lps.js"]
  },
  "manifest_version": 2
}

2. Javascript

var searchUrl = "http://finding.about.co.kr/Search/Search.aspx?Keyword=";

function createLPSTab(code) {
  var args = {
    'url': searchUrl + code,
    'selected': true
  };
  
  try {
    chrome.tabs.create(args);
  } catch (e) {
    alert(e);
  }
}

function lpsOnClick(info, tab) {
  createLPSTab(info.selectionText);
}

// Create one test item for each context type.
var contexts = ["selection","editable"];
for (var i = 0; i < contexts.length; i++) {
  var context = contexts[i];
  var title = "%s 최저가 검색";
  var id = chrome.contextMenus.create({"title": title, "contexts":[context], "onclick": lpsOnClick});
}

디렉토리에 특정소스를 저장하고 브라우저에서 chrome://chrome/extensions 로 이동한다.


개발자 모드를 체크하면 새로운 버튼이 두개 나온다. 여기서 "압축해제된 확장 프로그램 로드..." 버튼을 눌러 manifest와 js파일이 있는 디렉토리를 선택하면 extension이 동록된다.


확장프로그램 압축을 하면 개인키를 필요로 한다. 없는 경우 그냥 누르면 자동으로 생성해 준다.


이제 크롭 웹스토어 개발자 대시보드(https://chrome.google.com/webstore/developer/dashboard)로 이동하여 새로만든 Extension을 등록하자.




처음 개발자 등록할 때는 5$의 비용이 발생하므로 잘 생각하자!!






저작자 표시 비영리 변경 금지
신고
Posted by 꿍스
프로그래밍2009.01.14 20:22
프로그래밍2009.01.09 00:13
프로그래밍2008.12.06 21:04

동아대학교 교수협의회 홈페이지

ASP, MSSQL, CSS, Javascript 사용, Menu는 Flash

꽤 오래 전 부터 작업하였지만 진척이 없고 OSWD에서 가져온 디자인을 사용한 홈페이지 디자인을 사용하였다가 디자이너가 만들어준 PSD파일로 다시 작업 하였다.

DB도 MDB를 사용하다가 동아대학교 정보전산센터에서 SQL 서버로 바꾸길 권장해서(설정이 너무 쉬웠다는) 그냥 바꾸어 버렸다.

실제 작업기간 2주, 역시 웹 페이지는 PSD파일 자르기가 가장 오래 걸린다.

http://professor.donga.ac.kr/
신고
Posted by 꿍스
프로그래밍2008.01.05 16:45

C#으로 개발한 아주 간단한!! 비디오 관리 시스템


처음 해본 C#프로그래밍,  C#하다가 다시 C++을 잡으니 이거원 막노동이라는... -0-

신고
Posted by 꿍스
프로그래밍2008.01.05 15:09
군대 전역후 처음으로 개발한 프로그램으로 ATL + WTL을 이용하여
익스플로러 툴바 구현 하였습니다.

프로그램을 실행하면 설치가 됨( 널소프트 인스톨러 사용 )
익스플로러를 띄워서 툴바부분에서 오른쪽 버튼으로 G메모를 활성화 시키면 됩니다.

활성화 시키면 다음과 같이 툴바가 보입니다.

메모를 원하는 사이트에서 편집을 눌러서 메모를 추가하면 됩니다.



그러면 화면과 같이 메모가 보입니다. 간혹 웹페이지의 스타일에 따라서 메모가 안보일 수도 있습니다.
삭제는 C:\GBar 에서 uninst.exe실행한번 이면 끝!!
실행전에 익스플로러를 모두 닫으면 한번에 모든 파일이 삭제됩니다.

GMemoBar.exe
신고
Posted by 꿍스
프로그래밍2007.12.31 16:29

S-DES.exe

좀 허접하지만.. WTL로 만든 S-DES 파일 암호화 복호화 프로그램

키를 넣고 키생성한후에 암호화나 복호화를 클릭하여 파일을 선택하면 진행됩니다.

신고
Posted by 꿍스
프로그래밍2007.09.27 16:48
프로그래밍2007.09.26 23:29


과제로 만든 TCP연결 포트 스캔 프로그램..

신고
Posted by 꿍스
프로그래밍2007.09.04 23:22
Lex 와 Yacc 설명
http://dinosaur.compilertools.net/
http://www.therobs.com/uman/lexyacc.shtml

Flex와 Bison의 다운로드 링크만 있는데 Lex, Yacc FAQ(http://www.therobs.com/uman/faq.shtml)를 보면

Flex and Bison are essentially compatible GNU versions of Lex and Yacc. Flex also supports C++ class generation and actions.

Flex와 Bison은 Lex, Yacc의 GNU 버전과 본질적으로 호환됩니다. Flex 역시 C++ 클래스 생성과 활용도 지원합니다.

Flex와 Bison의 Win32 포팅은 Wilbur Streett 라는 사람이 해놓았습니다.

http://www.monmouth.com/~wstreett/lex-yacc/lex-yacc.html

가면 다운받을 수 있습니다.

추가로 lex, yacc 예제를 http://memphis.compilertools.net/interpreter.html 에 가면 볼 수 있습니다.
신고
Posted by 꿍스
TAG lex, yacc