buy clomid online

Feb 17

Backend Google AccessToken validation

Category: geek,java

Backend need for same cases to validate that Google access token provided by third application (mobile or front) is ok.
To do this task, we need same dependencies

  1. <dependency>
  2.     <groupId>com.google.http-client</groupId>
  3.     <artifactId>google-http-client</artifactId>
  4.     <version>1.19.0</version>
  5. </dependency>
  6.  
  7. <dependency>
  8.     <groupId>com.google.http-client</groupId>
  9.     <artifactId>google-http-client-jackson2</artifactId>
  10.     <version>1.19.0</version>
  11. </dependency>
  12.  
  13. <dependency>
  14.     <groupId>com.google.api-client</groupId>
  15.     <artifactId>google-api-client</artifactId>
  16.     <version>1.19.1</version>
  17. </dependency>
  18.  
  19. <dependency>
  20.     <groupId>com.google.apis</groupId>
  21.     <artifactId>google-api-services-plus</artifactId>
  22.     <version>v1-rev165-1.19.0</version>
  23. </dependency>

and use this code to get the Person object

  1. GoogleCredential credential = new GoogleCredential().setAccessToken("blablabla");
  2.  
  3. Plus plus = new Plus.Builder(GoogleNetHttpTransport.newTrustedTransport(), JacksonFactory.getDefaultInstance(), credential).build();
  4.  
  5. Person profile = plus.people().get("me").execute();
  6. System.out.println("ID: " + profile.getId());
  7. System.out.println("Name: " + profile.getDisplayName());
  8. System.out.println("Image URL: " + profile.getImage().getUrl());
  9. System.out.println("Profile URL: " + profile.getUrl());
  10. System.out.println("Emails: "+profile.getEmails());

You need now to validate that the Id provided is equal to what google return and email exist in profile.getEmails() list.

No comments

Nov 26

Run Solr using docker on fedora

Category: linux,OpenSource

Docker is a tool that can help you to build, ship and run distributed applications. The step by step will help you to discover docker.

Installation :

  1. yum install docker-io

Run service :

  1. service docker start

Check service running :

  1. service docker status

Search solr :

  1. docker search solr

Find the one that you want in the result. THe description can help you to choose the best for your need.

Pull selected container :

  1. docker pull manisnesan/solr-4.8.0

Run your container :

  1. docker run -d -p 8983:8983 manisnesan/solr-4.8.0

-d to run the container in the background
-p to map between container port and host port, hostPort:containerPort

Test your container :
check this url http://127.0.0.1:8983/solr/

Know running container :

  1. docker ps

Get more information about a specific container :

  1. docker top 95066d27cd33

95066d27cd33 is our docker id found using the command “docker ps”

Get log for a specific container :

  1. docker logs 95066d27cd33

95066d27cd33 is our docker id found using the command “docker ps”

No comments

Jun 3

Get regions stats from hbase shell

Category: geek

This jruby script can be used to get regions stats from our servers :

To launch this script you need to use the hbase command with script location :

  1. hbase org.jruby.Main RegionsStats.rb

The result will contain two parts :

  • count/size regions for each server
  • sorted regions by size
No comments

Feb 20

Linux command 20/02/2014

Category: geek,linux

Count number of specific character per line (our example number of tabulation)

cat file | tr -d -c '\t\n'| awk '{ print length; }'> stat

Extract strings that match a regular expression (our case string that begin with XXX and contain 9 characters)

cat input | egrep -oh 'XXX......' > output
No comments

Jan 20

[Solr] get list cores from your RequestHandler

Category: geek,java

In Solr, RequestHandler are called from a specific core.
But, there is many cases where we want to have more information from other cores.

The easist way is to get this information directly from the the request parameter. Indeed, in your handleRequestBody:

  1. @Override
  2. public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception {

Get your current core.

  1. final SolrCore core = req.getCore();

Retrieve CoreContainer using core object.
CoreContainer contain all cores, so, can be used easily to get all cores.

  1. final Collection<SolrCore> cores = core.getCoreDescriptor().getCoreContainer().getCores();

A loop can be used to display our cores.

  1. for (SolrCore solrCore : cores) {
  2.     log.info(solrCore.getName());
  3. }

;) you can call a get to retrieve a specific core

  1. SolrCore core1 = core.getCoreDescriptor().getCoreContainer().getCore("core1");

Update : Don’t forget to close your core after exploitation with core.close()

2 comments

Dec 19

Récupération des BokBok avec Ruby

Category: Ruby

Nous avons mis ce script ruby pour télécharger le maximum d’images BokBok du site lapresse

Ce script utilise un GET pour récupérer le flux HTTP et l’écrire dans un fichier

  1. require ‘net/http’
  2.  
  3. for i in  (1347).downto(1)
  4.     Net::HTTP.start("www.lapresse.tn") do |http|
  5.         resp = http.get("/images/upload_files/au_gre_des_jour/#{i}.jpg")
  6.         open("#{i}.jpg", "wb") do |file|
  7.             file.write(resp.body)
  8.         end
  9.     end
  10. end
  11. puts "Done."
No comments

Dec 13

tawla ou comment les Tunisiens ont réinventé les bases de données

Category: geek,Tanbir

Je viens de voir cette remarque dans un site

En anglais, « tableau » est traduit par « table ». Cependant, beaucoup de ressources francophones utilisent pourtant le mot anglais « table » pour désigner un tableau, à cause de la prépondérance de l’anglais dans l’informatique.

Mais alors le fait de dire tawla est faux ?? ça craint

Les questions :
Faut il apprendre à nos ingénieurs Tunisiens le mot kwatrou ???
Faut il mettre en place un wiki pour regrouper ces expressions tunisiennes ???

PS : Amis Admin DB, je n’ai rien contre vous. Au contraire, je compatis puisque vous devez réapprendre votre métier avec l’arrivée du NoSQL (MouchSQL). Et là je m’attends au pire pour les traductions de schéma, collections, … dans le cas ou il n’y a plus de tables :D

4 comments

Dec 12

SQL use exists instead of in

Category: programmation

In SQL, there is many way to validate if one information exist in another table (or same).
The most used/viewed call is :

  1. SELECT a FROM tablea WHERE a IN (SELECT b FROM tableb)

The problem with this call the long time of execution in case if our tables contains millions of lines.

Our solution to avoid this problem is to use the exists keyword.

  1. SELECT a FROM tablea WHERE EXISTS (SELECT b FROM tableb WHERE tablea.a = tableb.b)

Exists can help you to get result faster.

No comments

Nov 16

Influencer les votes ExpressFm avec Python

Category: geek,programmation

Le site ExpressFM offre une plateforme de vote basée sur une page back office se trouvant au niveau de http://www.radioexpressfm.com/ExpressBackEnd/vote.php. Cette page récupère les requêtes POST avec le paramètre radio qui indique le choix de l’électeur.

Le but de notre script est d’offrir une boucle infinie capable d’envoyer le maximum de requêtes de votes :

  1. #!/usr/bin/env python
  2. # encoding: utf-8
  3. """
  4. networkTest.py
  5.  
  6. Created by XXXXXX on 2012-11-16.
  7. Copyright (c) 2012 __MyCompanyName__. All rights reserved.
  8. """
  9.  
  10. import sys
  11. import os
  12. import httplib, urllib
  13.  
  14.  
  15. def main():
  16.         while 1==1:
  17.                 params = urllib.urlencode({‘radio’: 118})
  18.                 headers = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/plain"}
  19.                 conn = httplib.HTTPConnection("www.radioexpressfm.com")
  20.                 conn.request("POST", "/ExpressBackEnd/vote.php", params, headers)
  21.                 response = conn.getresponse()
  22.        
  23.         pass
  24.  
  25.  
  26. if __name__ == ‘__main__’:
  27.         main()
  28.  
  29.  

PS : pour une raison que je ne connais pas mon éditeur de syntax a tendance à changer les quotes, à vous de les corriger avant d’exécuter le script.

3 comments

Sep 18

Technoparade Paris 2012

Category: Photo

L’édition 2012 de la technoparade était une occasion pour faire la fête, connaitre du monde et prendre des photos que je partage avec vous à travers mon album. http://photo.nihed.com/Technoparade-Paris-2012

No comments

Next Page »