http://jquery-plugins.net/jquery-ambiance-notification-plugin
http://stackoverflow.com/questions/2150767/how-to-start-solr-automatically
http://stevedaskam.wordpress.com/2009/05/17/autocomplete-data-structures/
http://www.tenouk.com/cnlinuxsockettutorials.html socket programming
http://designova.net/
http://themeforest.net/item/reveal-flat-metro-masonry-responsive-portfolio/5199623?WT.ac=portfolio_item&WT.seg_1=portfolio_item&WT.z_author=designova
http://stackoverflow.com/questions/621884/database-development-mistakes-made-by-application-developers?rq=1
http://stackoverflow.com/questions/11227809/why-is-processing-a-sorted-array-faster-than-an-unsorted-array?rq=1
http://howtodoinjava.com/2012/10/22/singleton-design-pattern-in-java/ code html
https://gist.github.com/erikeldridge/619947
http://www.tutorialspoint.com/spring/index.htm spring tutorial
Vợ người áo hở anh thương
Vợ anh áo hở anh tương vỡ mồm :))
Thứ Năm, 24 tháng 10, 2013
Thứ Sáu, 18 tháng 10, 2013
login with google in a popup example / đăng nhập website bằng tài khoản google
<! DOCTYPE html> | |
<html> | |
<head> | |
<script src="jquery.js"></script> | |
<script> | |
var OAUTHURL = 'https://accounts.google.com/o/oauth2/auth?'; | |
var VALIDURL = 'https://www.googleapis.com/oauth2/v1/tokeninfo?access_token='; | |
var SCOPE = 'https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email'; | |
var CLIENTID = '716569014051.apps.googleusercontent.com'; | |
var REDIRECT = 'http://www.gethugames.in/proto/googleapi/oauth/' | |
var LOGOUT = 'http://accounts.google.com/Logout'; | |
var TYPE = 'token'; | |
var _url = OAUTHURL + 'scope=' + SCOPE + '&client_id=' + CLIENTID + '&redirect_uri=' + REDIRECT + '&response_type=' + TYPE; | |
var acToken; | |
var tokenType; | |
var expiresIn; | |
var user; | |
var loggedIn = false; | |
function login() { | |
var win = window.open(_url, "windowname1", 'width=800, height=600'); | |
var pollTimer = window.setInterval(function() { | |
try { | |
console.log(win.document.URL); | |
if (win.document.URL.indexOf(REDIRECT) != -1) { | |
window.clearInterval(pollTimer); | |
var url = win.document.URL; | |
acToken = gup(url, 'access_token'); | |
tokenType = gup(url, 'token_type'); | |
expiresIn = gup(url, 'expires_in'); | |
win.close(); | |
validateToken(acToken); | |
} | |
} catch(e) { | |
} | |
}, 500); | |
} | |
function validateToken(token) { | |
$.ajax({ | |
url: VALIDURL + token, | |
data: null, | |
success: function(responseText){ | |
getUserInfo(); | |
loggedIn = true; | |
$('#loginText').hide(); | |
$('#logoutText').show(); | |
}, | |
dataType: "jsonp" | |
}); | |
} | |
function getUserInfo() { | |
$.ajax({ | |
url: 'https://www.googleapis.com/oauth2/v1/userinfo?access_token=' + acToken, | |
data: null, | |
success: function(resp) { | |
user = resp; | |
console.log(user); | |
$('#uName').text('Welcome ' + user.name); | |
$('#imgHolder').attr('src', user.picture); | |
}, | |
dataType: "jsonp" | |
}); | |
} | |
//credits: http://www.netlobo.com/url_query_string_javascript.html | |
function gup(url, name) { | |
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); | |
var regexS = "[\\#&]"+name+"=([^&#]*)"; | |
var regex = new RegExp( regexS ); | |
var results = regex.exec( url ); | |
if( results == null ) | |
return ""; | |
else | |
return results[1]; | |
} | |
function startLogoutPolling() { | |
$('#loginText').show(); | |
$('#logoutText').hide(); | |
loggedIn = false; | |
$('#uName').text('Welcome '); | |
$('#imgHolder').attr('src', 'none.jpg'); | |
} | |
</script> | |
</head> | |
<body> | |
<a href='#' onClick='login();' id="loginText"'> Click here to login </a> | |
<a href="#" style="display:none" id="logoutText" target='myIFrame' onclick="myIFrame.location='https://www.google.com/accounts/Logout'; startLogoutPolling();return false;"> Click here to logout </a> | |
<iframe name='myIFrame' id="myIFrame" style='display:none'></iframe> | |
<div id='uName'></div> | |
<img src='' id='imgHolder'/> | |
</body> | |
</html> http://www.gethugames.in/blog/2012/04/authentication-and-authorization-for-google-apis-in-javascript-popup-window-tutorial.html |
Thứ Năm, 17 tháng 10, 2013
right click to open file with netbeans ubuntu
create file netbeans.desktop and save in /home/chieu/.local/share/applications
[Desktop Entry]
Encoding=UTF-8
Name=Netbeans IDE
Comment=Netbeans IDE
Exec=/home/chieu/netbeans-7.2/bin/netbeans %f
Terminal=false
Type=Application
Icon=/home/chieu/netbeans-7.2/nb/netbeans.png
Categories=Application;Utility;TextEditor;
StartupNotify=false
MimeType=text/plain;
NoDisplay=false
add two line below to /home/chieu/.local/share/applications/mimeapps.list
[Added Associations]
text/plain=netbeans.desktop;
reference : http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
[Desktop Entry]
Encoding=UTF-8
Name=Netbeans IDE
Comment=Netbeans IDE
Exec=/home/chieu/netbeans-7.2/bin/netbeans %f
Terminal=false
Type=Application
Icon=/home/chieu/netbeans-7.2/nb/netbeans.png
Categories=Application;Utility;TextEditor;
StartupNotify=false
MimeType=text/plain;
NoDisplay=false
add two line below to /home/chieu/.local/share/applications/mimeapps.list
[Added Associations]
text/plain=netbeans.desktop;
reference : http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
Thứ Bảy, 12 tháng 10, 2013
request payload java example
String line, jsonString = "";
String payload = "{\"intStoreId\":" + storeId + "}";
URL url = new URL(requestUrl);
//String payload="{\"jsonrpc\":\"2.0\",\"method\":\"changeDetail\",\"params\"://[{\"id\":11376}],\"id\":2}";
HttpURLConnection urlconn = (HttpURLConnection) url.openConnection();
urlconn.setDoInput(true);
urlconn.setDoOutput(true);
urlconn.setRequestMethod("POST");
urlconn.setRequestProperty("Referer", "http://www.thegioididong.com/dtdd/nokia-lumia-720");
urlconn.setRequestProperty("Cookie", "CK_CHECK_PROVINCE_OF_USER=3; __utma=38171452.1146549248.1371292675.1379057701.1379074801.51; __utmc=38171452; __utmz=38171452.1377394775.7.2.utmcsr=localhost:8031|utmccn=(referral)|utmcmd=referral|utmcct=/test");
urlconn.setRequestProperty("Accept", "application/json");
urlconn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
urlconn.setRequestProperty("X-Requested-With", "XMLHttpRequest");
OutputStream os = urlconn.getOutputStream();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os));
writer.write(payload);
writer.close();
os.close();
BufferedReader br = new BufferedReader(new InputStreamReader(urlconn.getInputStream()));
while ((line = br.readLine()) != null) {
jsonString += line;
}
br.close();
urlconn.disconnect();
Thứ Tư, 9 tháng 10, 2013
simple local storage with expire implement (html5)
var clientCache ={
remove: function (key) {
localStorage.removeItem(key);
},
set: function(_key, _value, _expire) {
var object = {
value: _value,
expire: new Date().getTime() +_expire
}
localStorage.setItem(_key, JSON.stringify(object));
},
get: function(key) {
var object = JSON.parse(localStorage.getItem(key));
if(!object||!object.value){
return null;
}
var expire = object.expire;
var now = new Date().getTime();
if(now > expire){
clientCache.remove(key);
return null;
}
return object.value;
},
clearAll : function(){
localStorage.clear();
},
isSupport : function(){
var key = "key";
try {
localStorage.setItem(key, key);
localStorage.removeItem(key);
return true;
} catch(e) {
return false;
}
}
}
session handler and resource handle for embedded jetty example
public class WebServer {
private static Logger logger_ = Logger.getLogger(WebServer.class);
public void start() throws Exception {
Server server = new Server();
// Setup JMX
MBeanContainer mbContainer = new MBeanContainer(ManagementFactory.getPlatformMBeanServer());
// String mbeanName = "vng.wte.app" + ":type=WebServer";
//
// try {
// mbContainer.getMBeanServer().registerMBean(this, new ObjectName(mbeanName));
// } catch (Exception e) {
// throw new RuntimeException(e);
// }
server.getContainer().addEventListener(mbContainer);
server.addBean(mbContainer);
mbContainer.addBean(Log.getLog());
QueuedThreadPool threadPool = new QueuedThreadPool();
threadPool.setMinThreads(100);
threadPool.setMaxThreads(2000);
server.setThreadPool(threadPool);
int port_listen = Integer.valueOf(ConfigUtil.getParam("rest", "port_listen"));
SelectChannelConnector connector = new SelectChannelConnector();
connector.setPort(port_listen);
connector.setMaxIdleTime(30000);
connector.setConfidentialPort(8443);
connector.setStatsOn(false);
connector.setLowResourcesConnections(20000);
connector.setLowResourcesMaxIdleTime(5000);
server.setConnectors(new Connector[]{connector});
ServletHandler handler = new ServletHandler();
server.setHandler(handler);
// handler.addServletWithMapping("webservlet.IndexControllerServlet", "/index");
// handler.addServletWithMapping("webservlet.CategoryControllerServlet", "/category");
// handler.addServletWithMapping("webservlet.IndexControllerServlet", "/*");
// HashSessionIdManager hashSessionIdManager = new HashSessionIdManager();
// SessionHandler sessionHandler = new SessionHandler();
// SessionManager sessionManager = new HashSessionManager();
// sessionManager.setIdManager(hashSessionIdManager);
// sessionHandler.setSessionManager(sessionManager);
// sessionHandler.setHandler(handler);
// sessionHandler.setServer(server);
// server.setSessionIdManager(hashSessionIdManager);
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
context.addServlet("webservlet.IndexServlet", "/index");
context.addServlet("webservlet.HomeServlet", "/home");
context.addServlet("webservlet.CategoryServlet", "/category");
context.addServlet("webservlet.ProductServlet", "/product");
context.addServlet("webservlet.TestServlet", "/test");
context.addServlet("webservlet.ajax.GetStoreByPhoneCodeServlet", "/ajax/get-store-by-phone-code");
//server.setHandler(context);
// Resource jettyConfig = Resource.newSystemResource("jetty.xml");
//XmlConfiguration configuration = new XmlConfiguration(jettyConfig.getInputStream());
//Server server1 = (Server)configuration.configure();
ResourceHandler resourse_handle = new ResourceHandler();
resourse_handle.setDirectoriesListed(true);
resourse_handle.setResourceBase("static");
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[]{resourse_handle, /*handler,*/context});
server.setHandler(handlers);
server.setStopAtShutdown(true);
server.setSendServerVersion(true);
server.start();
server.join();
}
}
Thứ Hai, 7 tháng 10, 2013
override exist jdk ubuntu
root@CPU10777:/usr/java# update-alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_51_32/bin/java 2
root@CPU10777:/usr/java# update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.7.0_51_32/bin/javac 2
root@CPU10777:/usr/java# update-alternatives --install /usr/bin/javaws javaws /usr/java/jdk1.7.0_51_32/bin/javaws 2
root@CPU10777:/usr/java# update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.7.0_51_32/bin/javac 2
root@CPU10777:/usr/java# update-alternatives --install /usr/bin/javaws javaws /usr/java/jdk1.7.0_51_32/bin/javaws 2
/zserver/java$ sudo mv jdk1.6.0_45/ jdk1.6.0_45_32bit
/zserver/java$ sudo update-alternatives --install "/usr/bin/java" "java" "/zserver/java/jdk1.6.0_45_32bit/bin/java" 1
/zserver/java$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/zserver/java/jdk1.6.0_45_32bit/bin/javac" 1
/zserver/java$ sudo update-alternatives --install "/usr/lib/mozilla/plugins/libjavaplugin.so" "mozilla-javaplugin.so" "/zserver/java/jdk1.6.0_45_32bit/jre/lib/i386/libnpjp2.so" 1
/zserver/java$ sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/zserver/java/jdk1.6.0_45_32bit/bin/javaws" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/zserver/java/jdk1.6.0_45_32bit/bin/javaws" 1
/zserver/java$ sudo update-alternatives --config java
/zserver/java$ sudo update-alternatives --config javac
Đăng ký:
Bài đăng (Atom)