Thứ Bảy, 28 tháng 12, 2013

bash script to start / stop / restart solr

#!/bin/bash

log_file=solr-server.log
pid_file=solr-server.pid
process_name="solr"
function stop {
   if [ ! -f "$pid_file"  ]; then
      printf "$process_name is not running\n"
      exit 1
   else
      printf "Stopping $process_name...\n"
      pid=`cat $pid_file`
      kill "$pid"
      rm $pid_file
      sleep 1
      echo "Done"
   fi
}


function start {
   if [ ! -f "$pid_file" ]; then
      printf  "Starting $process_name...\n"
      java -jar  start.jar > $log_file 2>&1 &
      echo $! > $pid_file
      sleep 1
      pid=`cat $pid_file`
      printf "pid=$pid\nDone\n"
   else
      pid=`cat $pid_file`
      printf "$process_name is already running\npid=$pid"
   fi
}

function restart {
   printf  "Restarting $process_name...\n"
   stop
   sleep 1
   start
}




case "$1" in
   start)
      start
   ;;
   stop)
      stop
   ;;
   restart)
      restart
   ;;
   status)
      status
   ;;
   *)
    restart
    #  echo "Usage: $0 {start|stop|restart|status}"
esac

Thứ Bảy, 14 tháng 12, 2013

download feed from facebook

String url = "https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=&client_secret="; String id = "341807892536730";//user id Document doc = CronJobUtil.downloadHtml(url); String token = doc.select("body").html(); logger.info(token); url = "https://graph.facebook.com/" + id + "/feed?" + token; logger.info(url); //http://graph.facebook.com/{ID of object}/picture JSONObject json = CronJobUtil.downloadJSON(url); logger.info(json.toString());

Thứ Năm, 12 tháng 12, 2013

get province name google map

<html>
<head>


<title>Reverse Geocoding</title>

<script src="http://maps.googleapis.com/maps/api/js?sensor=false" type="text/javascript"></script>
<script type="text/javascript">
  var geocoder;

  if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(successFunction, errorFunction);
}
//Get the latitude and the longitude;
function successFunction(position) {
    var lat = position.coords.latitude;
    var lng = position.coords.longitude;
    codeLatLng(lat, lng)
}

function errorFunction(){
    alert("Geocoder failed");
}

  function initialize() {
    geocoder = new google.maps.Geocoder();



  }

  function codeLatLng(lat, lng) {

    var latlng = new google.maps.LatLng(lat, lng);
    geocoder.geocode({'latLng': latlng}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
      console.log(results)
        if (results[1]) {
         //formatted address
         alert(results[0].formatted_address)
        //find country name
             for (var i=0; i<results[0].address_components.length; i++) {
            for (var b=0;b<results[0].address_components[i].types.length;b++) {

            //there are different types that might hold a city admin_area_lvl_1 usually does in come cases looking for sublocality type will be more appropriate
                if (results[0].address_components[i].types[b] == "administrative_area_level_1") {
                    //this is the object you are looking for
                    city= results[0].address_components[i];
                    break;
                }
            }
        }
        //city data
        alert(city.short_name + " " + city.long_name)


        } else {
          alert("No results found");
        }
      } else {
        alert("Geocoder failed due to: " + status);
      }
    });
  }
</script>
</head>
<body onload="initialize()">

</body>
</html> Reverse Geocoding

Thứ Tư, 11 tháng 12, 2013

virtual host apache window

NameVirtualHost *:80 DocumentRoot "C:/zserver/projects/web-static" ServerName tgddcdn.com #ErrorLog "logs/dropbox.local-error.log" #CustomLog "logs/dropbox.local-access.log" combined Options All AllowOverride All Order Allow,Deny Allow from all Require all granted

Chủ Nhật, 8 tháng 12, 2013

check if an element is visible when scroll jquery

function isScrolledIntoView(elem){ var docViewTop = $(window).scrollTop(); var docViewBottom = docViewTop + $(window).height(); var elemTop = $(elem).offset().top; var elemBottom = elemTop + $(elem).height(); return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom)); }

Thứ Bảy, 7 tháng 12, 2013

note command

yum groupinstall "Development Tools"
 yum install nautilus-open-terminal
echo 'zodehala ALL=(ALL) ALL' >> /etc/sudoers

java -cp "/home/chieu/workspace/gearmand/dist/gearmand.jar" client.PushGearmanJob



import database mysql mysql -u salesdb1 -p sales < sales.sql



mount -t vboxsf E_DRIVE E




C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC> svcutil.exe C:\Users\chi

euvh\Downloads\convertxu.wsdl


C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>wsdl /n:Proxy.ZBFBS2 conv

ertxu.wsdl


view port open by a process
netstat -anpl | grep 14011
netstat -anpl | grep 14011 | wc -l

//create table first

mysql -u root -p  --local-infile iosreceipt;





openssl pkcs8 -topk8 -nocrypt -in PrivateKeyCP.pem -out PrivateKeyCP.pem_pcks8


 openssl rsa -in PrivateKeyCP.pem -text -inform PEM -noout

//regular select time

2018-09-23 16:59:55,118
([0-9]{4})(-)([0-9]{2})(-)([0-9]{2})( )([0-9]{2})(:)([0-9]{2})(:)([0-9]{2})(,)([0-9]{3})( )


count số node zookeeper : echo srvr | nc localhost <port>

Thứ Năm, 5 tháng 12, 2013

session listener embedded jetty example

package httpservice;

import javax.servlet.Filter;
import org.apache.log4j.Logger;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.SessionManager;
import org.eclipse.jetty.server.handler.HandlerList;
import org.eclipse.jetty.server.handler.ResourceHandler;
import org.eclipse.jetty.server.session.HashSessionIdManager;
import org.eclipse.jetty.server.session.HashSessionManager;
import org.eclipse.jetty.server.session.SessionHandler;
import org.eclipse.jetty.servlet.FilterHolder;
import org.eclipse.jetty.servlet.FilterMapping;
//import org.eclipse.jetty.server.nio.SelectChannelConnector;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHandler;
import org.eclipse.jetty.servlets.GzipFilter;
import weblistener.HttpSessionListener;

public class WebServer {

    private static Logger logger = Logger.getLogger(WebServer.class);

    public void start() throws Exception {

        Server server = new Server(Integer.parseInt(System.getProperty("zport")));

        ServletHandler handler = new ServletHandler();
        server.setHandler(handler);
        HashSessionIdManager hashSessionIdManager = new HashSessionIdManager();
        SessionHandler sessionHandler = new SessionHandler();
        SessionManager sessionManager = new HashSessionManager();
        sessionManager.setSessionIdManager(hashSessionIdManager);
        sessionHandler.setSessionManager(sessionManager);
     
        sessionHandler.addEventListener(new HttpSessionListener());

        sessionHandler.setHandler(handler);
        sessionHandler.setServer(server);
        server.setSessionIdManager(hashSessionIdManager);
        ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
     
        context.setHandler(sessionHandler);
     
        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.SearchByPriceServlet", "/search-by-price");
        context.addServlet("webservlet.SearchByOsServlet", "/search-by-os");
        context.addServlet("webservlet.SearchByNameServlet", "/search-by-name");
        context.addServlet("webservlet.SearchByManufacturerServlet", "/search-by-manufacturer");
        context.addServlet("webservlet.OrderByPriceServlet", "/order-by-price");
        context.addServlet("webservlet.SearchByScreenSizeServlet", "/search-by-screen-size");
        context.addServlet("webservlet.SearchByRamServlet", "/search-by-ram");
        context.addServlet("webservlet.OAuth2CallbackServlet", "/oauth2callback");

        context.addServlet("webservlet.ajax.GetStoreByPhoneCodeAndProvinceServlet", "/ajax/get-store-by-phone-code");
        context.addServlet("webservlet.ajax.GetJsonStoreByPhoneCodeAndProvinceServlet", "/ajax/get-json-store-by-phone-code-and-province");
        context.addServlet("webservlet.ajax.GetLocalStorageDataServlet", "/ajax/get-local-storage-data");
        context.addServlet("webservlet.ajax.GetPhoneArticle", "/ajax/get-phone-article");
        context.addServlet("webservlet.ajax.GetTopComment", "/ajax/get-top-comment");
        context.addServlet("webservlet.ajax.GetComment", "/ajax/get-comment");
        context.addServlet("webservlet.ajax.GetPhoneTechSpec", "/ajax/get-phone-tech-spec");
        context.addServlet("webservlet.ajax.LoginUser", "/ajax/login-user");
        context.addServlet("webservlet.ajax.LogoutUser", "/ajax/logout-user");
        context.addServlet("webservlet.ajax.InsertComment", "/ajax/post-comment");
        context.addServlet("webservlet.ajax.InsertSubComment", "/ajax/post-sub-comment");
        context.addServlet("webservlet.ajax.GetPhoneAutoComplete", "/ajax/get-phone-auto-complete");
        context.addServlet("webservlet.ajax.GetMoreCategoryProduct", "/ajax/get-more-category-product");
        context.addServlet("webservlet.ajax.GetMoreSearchByPrice", "/ajax/get-more-search-by-price");
        context.addServlet("webservlet.ajax.GetMoreSearchByOs", "/ajax/get-more-search-by-os");
        context.addServlet("webservlet.ajax.GetMoreSearchByName", "/ajax/get-more-search-by-name");
        context.addServlet("webservlet.ajax.GetSuggestSearchByName", "/ajax/get-suggest-search-by-name");
        context.addServlet("webservlet.ajax.GetMoreSearchByManufacturer", "/ajax/get-more-search-by-manufacturer");
        context.addServlet("webservlet.ajax.GetMoreOrderByPrice", "/ajax/get-more-order-by-price");
        context.addServlet("webservlet.ajax.GetMoreSearchByScreenSize", "/ajax/get-more-search-by-screen-size");
        context.addServlet("webservlet.ajax.GetMoreSearchByRam", "/ajax/get-more-search-by-ram");
        context.addServlet("webservlet.ajax.GetBoxRating", "/ajax/get-box-rating");
        context.addServlet("webservlet.ajax.SearchSimilarPrice", "/ajax/search-similar-price");
        context.addServlet("webservlet.ajax.InsertOrderSingle", "/ajax/insert-order-single");
        context.addServlet("webservlet.ajax.UpdateNumLike", "/ajax/update-num-like");
        context.addServlet("webservlet.ajax.UpdateNumLikeSubComment", "/ajax/update-num-like-subcomment");

        ResourceHandler resourse_handle = new ResourceHandler();
        resourse_handle.setDirectoriesListed(true);
        resourse_handle.setResourceBase("static");
        HandlerList handlers = new HandlerList();
        FilterHolder gzipFilterHolder = this.createGzipFilterHolder();
        handler.addFilter(gzipFilterHolder, this.createFilterMapping("/*", gzipFilterHolder));
        handlers.setHandlers(new Handler[]{resourse_handle, /*handler,*/ context});
        server.setHandler(handlers);

        server.setStopAtShutdown(true);
//        server.setSendServerVersion(true);

        server.start();
        server.join();

    }

    private FilterHolder createGzipFilterHolder() {
        Filter gzip = new GzipFilter();
        FilterHolder filterHolder = new FilterHolder(gzip);
        filterHolder.setName("gzip");
        return filterHolder;

    }

    private FilterMapping createFilterMapping(String pathSpec, FilterHolder filterHolder) {
        FilterMapping filterMapping = new FilterMapping();
        filterMapping.setPathSpec(pathSpec);
        filterMapping.setFilterName(filterHolder.getName());
        return filterMapping;

    }
}