blog.Ring.idv.tw

Open Source

一個值得研究的領域 - Hadoop

.2009/03/21 - 新增「Hadoop on Windows with Eclipse」
.2010/07/07 - 新增「Hadoop Summit 2010 - Presentation Slides」

Hadoop

.Hadoop is a software platform that lets one easily write and run applications that process vast amounts of data.

.Hadoop implements MapReduce, using the Hadoop Distributed File System (HDFS) MapReduce divides applications into many small blocks of work. HDFS creates multiple replicas of data blocks for reliability, placing them on compute nodes around the cluster. MapReduce can then process the data where it is located.

.Hadoop is a Lucene sub-project that contains the distributed computing platform that was formerly a part of Nutch.

Hadoop相關資源

Hadoop Summit 2010 - Presentation Slides

Hadoop Resources | Scale Unlimited

NCHC Cloud Computing Research Group

Hadoop Summit and Data-Intensive Computing Symposium Videos and Slides

用 Hadoop 进行分布式并行编程, 第 1 部分

Academic Cluster Computing Initiative

Hadoop学习笔记一 简要介绍

Hadoop学习笔记二 安装部署

Getting Started with Hadoop, Part 1

Yahoo!'s bet on Hadoop

Open Source Distributed Computing: Yahoo's Hadoop Support

Yahoo! Launches World's Largest Hadoop Production Application

Hadoop Wikipedia

Google Code for Distributed Systems

Scaling Powerset using Amazon's EC2 and S3

Running Hadoop MapReduce on Amazon EC2 and Amazon S3

Building an Inverted Index for an Online E-Book Store

Running Hadoop On Ubuntu Linux (Single-Node Cluster)

Running Hadoop On Ubuntu Linux (Multi-Node Cluster)

Yahoo! Hadoop Tutorial

Cloud Computing and Grid Computing

Hadoop on Windows with Eclipse

MapReduce相關資源

Why Should You Care About MapReduce?

Distributed Systems - Google Code University - Google Code

MapReduce

Can Your Programming Language Do This?[中譯]

Chubby相關資源

An Introduction to ZooKeeper Video (Hadoop and Distributed Computing at Yahoo!)

ZooKeeper: Because coordinating distributed systems is a Zoo

Yahoo! Project: Zookeeper

SourceForge.net: ZooKeeper

KFS相關資源

Kosmos Distributed File System (KFS)

2007-11-06 16:59:12 | Comments (4)

WiiremoteJ - 用Wii來做互動

WiiRemoteJ is a free Java API and library for interacting with a 
Nintendo(R) Wii(tm) Remote through Bluetooth(R). WiiRemoteJ aims to do 
two things: first, it aims to create an easily accessible interface for 
Java developers wanting to work with the Wii Remote. Second, it aims to 
provide tools for developers using the Wii Remote to speed development. 
WiiRemoteJ comes with a complete (to my knowledge) javadoc, detailing 
every public class, field, and method. In addition, WiiRemoteJ aims to 
duplicate many of the same ideologies and methods used in the main Java 
libraries. This should allow developers to jump into the development 
process relatively quickly.

WiiremoteJ提供了一套Java API可以讓我們藉此來開發Wii的互動程式,而在這當中的傳輸必須仰賴Bluetooth,聽學弟說只有MSI的Bluetooth有支援而已~ 有興趣的人不妨玩玩看!

參考資源:

1.WiiremoteJ

2.WiiLi.org WiiremoteJ

2007-09-11 10:05:54 | Comments (2)

影音轉檔工具-FFmpeg

簡單且快速的安裝方式如下:

Step 1.下載LAME MP3 Encoder

Step 2.組態設定並安裝

./configure --enable-shared --prefix=/usr
make
make install

Step 3.取得FFmpeg原始碼

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

Step 4.組態設定並安裝

./configure --enable-gpl --enable-libmp3lame --enable-shared --prefix=/usr
make
make install

Step 5.進行轉檔

ffmpeg -i blue.avi -ar 22050 -ab 32 -f flv -s 320x240 blue.flv

參考資料:

One-stop Installation Guide for Create a Linux Server-side FLV conversion environment

FFmpeg usage command

http://soenkerohde.com/tutorials/ffmpeg

ffmpeg和Mencoder使用实例小全

泛用型 ffmpeg 安裝攻略

2007-08-26 19:12:43 | Add Comment

檔案上傳-「commons fileUpload」

一般我們常見的HTML輸入型態(例如:text、radio、select…)都是使用「application/x-www-form-urlencoded」的編碼方式,但要傳送檔案至伺服端時,編碼方式則是要仰賴「multipart/form-data」,由於兩者的編碼方式不同,所以這裡提供一個「FileUpload」的小範例~

必要的package如下:

commons fileUpload

commons IO

HTML

<%@page language="java" contentType="text/html;charset=utf-8"%>
<html>
<head>
<title>檔案上傳</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<b>檔案上傳</b></font></p>
<form name="UploadForm" enctype="multipart/form-data" method="post" action="fileupload.dan">
    <input type="file" name="File1" size="20" maxlength="20"> <br>
    <input type="text" name="File2" size="20" maxlength="20"> <br>
    <input type="submit"value="上傳">
</form>
</body>
</html>

Servlet

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class FileUpload extends HttpServlet
{
    private String base;
    
    public void init(ServletConfig sc) throws ServletException
    {
        ServletContext sco = sc.getServletContext();
        base = sco.getRealPath("/");
    }
    
    public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
    {   
        boolean isMultipart = ServletFileUpload.isMultipartContent(req);
        try
        {
            if(isMultipart)
            {
                DiskFileItemFactory factory = new DiskFileItemFactory();
                factory.setSizeThreshold(4096);
                factory.setRepository(new File(base+"temp"));
                ServletFileUpload upload = new ServletFileUpload(factory);
                upload.setSizeMax(10000000);
                List items = upload.parseRequest(req);
                Iterator iter = items.iterator();
                while(iter.hasNext())
                {
                    FileItem item = (FileItem) iter.next();
                    if (item.isFormField())
                    {
                        String name = item.getFieldName();
                        String value = item.getString();
                        System.out.println("name:"+name+" value:"+value);
                    } else {
                        String fieldName = item.getFieldName();
                        String fileName = item.getName();
                        String contentType = item.getContentType();
                        boolean isInMemory = item.isInMemory();
                        long sizeInBytes = item.getSize();
                        System.out.println("fieldName:"+fieldName+" fileName:"+fileName);
                        File to = new File(base+"upload",fileName);
                        item.write(to);
                    }
                }
            }
        } catch (Exception e)
        {
            e.printStackTrace();
        }
    }
}

2007-08-10 14:52:00 | Comments (2)

Gnash - GNU Flash Movie Player

Gnash是一個採用GPL授權的Flash Movie Player,主要的開發者為Rob Savoye,目前最新釋出的版本為0.8.0 (June 9,2007),且大多支援Flash v7的功能與特色,如果你是Linux的使用者,我想對它應該不會過於陌生,而且在Ubuntu 7.10就將被列為預設安裝的項目之一。

當然如果你想在Win32平臺上測試的話,可以來此下載:

Gnash for win32(executable)

Gnash原始碼:

Gnash Source Code

Gnash執行方式(Win32)

先將底下的一些DLL、Gnash.exe檔複製到「C:\Windows\System32」底下,並在命令列下輸入:

gnash C:\test\xxx.swf

相關介紹:

Gnash - Wikipedia

GameSWF

2007-07-27 10:34:51 | Add Comment

Next Posts~:::~Previous Posts
Copyright (C) Ching-Shen Chen. All rights reserved.

::: 搜尋 :::

::: 分類 :::

::: 最新文章 :::

::: 最新回應 :::

::: 訂閱 :::

Atom feed
Atom Comment