28 Kasım 2013 Perşembe

Top PhoneGap (Cordova) Plugins

In this list, I present most important phonegap plugins and how to install them to your project. Before going through this list, you should first have a look at How to Develop Phonegap Hello World Application
  1. Splash Screen. Run following command to add splash screen plugin into your existing project.

    cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git
  2. Device API. Run following command to add device plugin into your existing project.

    cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git

Solve&Fix "Package name must look like" error in Phonegap 3

You may get "Package name must look like..." error if you create a phonegap 3 project as below:

cordova create ./hello-world HelloWorld
cordova platform add android

When you run above code, you get below error:

Checking Android requirements...
Creating android project...
[Error: An error occured during creation of android sub-project. 
Package name must look like: com.company.Name
]

You get error because you are missing --id and --name options. The correct way to add Android support into your Phonegap application would be as follows:

phonegap create ./hello-world --id com.example.hello --name HelloWorld
cd hello-world
cordova platform add android

24 Kasım 2013 Pazar

How to Create&Develop a Phonegap HelloWorld Project


  1. Install PhoneGap. You need NodeJs package manager installed.

    npm install -g cordova
  2. Create  a project named "HelloWorld" inside "phonegap-example" directory. Use "com.example.hello" root package.

    phonegap create phonegap-example --id com.example.hello --name HelloWorld
  3. Add android support

    
    cd phonegap-example
    
    cordova platform add android

  4. Build the project

    cordova build

  5. Run the project. You need Android Development SDK installed.

    cd ./platform/android/cordova
    
    ./run
    In case, you don't have an android emulator defined in your development environment, you may get following error:

    ERROR : No emulator images (avds) found, if you would like to create an  avd follow the instructions provided here:
     http://developer.android.com/tools/devices/index.html
     Or run 'android create avd --name <name> --target <targetID>' in on the command line.

16 Kasım 2013 Cumartesi

10 Kasım 2013 Pazar

19 Ekim 2013 Cumartesi

My First Open-Source Contribution Goes to Gwt-Bootstrap

I'm very proud to announce that I have made my first open-source contribution to gwt-bootstrap
gwt-bootstrap is a toolkit which enables using Twitter Bootstrap in GWT applications.  
You can see my contribution activity from following page:

https://github.com/gwtbootstrap/gwt-bootstrap/graphs/contributors

Follow me on github: https://github.com/hkarakose




20 Eylül 2013 Cuma

List of Foreign Keys in Mysql

Following sql shows list of foreing keys in Mysql. You may require this information for foreign key manipulations, such as dropping a foreign key.

use INFORMATION_SCHEMA;

select TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,
REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME from KEY_COLUMN_USAGE where
TABLE_NAME = '<table>';

You may require this information for foreign key manipulations, such as dropping a foreign key.

Resource: http://stackoverflow.com/questions/201621/how-do-i-see-all-foreign-keys-to-a-table-or-column 

1 Eylül 2013 Pazar

My First Open Source Contribution

I have just completed my first open-source contribution to gwt-bootstrap project. The code updates are merged to master branch!

https://github.com/gwtbootstrap/gwt-bootstrap/pull/425

This is my first contribution to a widely used and known project. Previously, I had published several open-source projects which are not active now.

Learn JBoss Forge

Video: Forge New Ground in Rapid Enterprise Software Development
http://www.youtube.com/watch?v=Clso5vtKu9k

Learn GWT


Login Security
https://code.google.com/p/google-web-toolkit-incubator/wiki/LoginSecurityFAQ: Describe how to log in, store data in a secure fashion in the server, stay logged in, make auto complete feautre

Advanced:
Best Practices For Architecting Your GWT App
http://www.google.com/intl/tr/events/io/2009/sessions/GoogleWebToolkitBestPractices.html: Describes history handling, event bus, MVP architecture, unit testing of GWT applications

Learn Bootstrap

29 Ağustos 2013 Perşembe

gwt-bootstrap Lazy Developer's Guide


  1. Add following dependency into your pom.xml:
    <dependency>
        <groupId>com.github.gwtbootstrap</groupId>
        <artifactId>gwt-bootstrap</artifactId>
        <version>2.2.1.0</version>
        <scope>provided</scope>
    </dependency>
  2. Add following repository into your pom.xml
     <repository>
         <id>sonatype</id>
         <url>http://oss.sonatype.org/content/repositories/snapshots</url>
         <snapshots><enabled>true</enabled></snapshots>
         <releases><enabled>false</enabled></releases>
     </repository>

  3. Run following maven command to download dependencies:

    mvn process-resources

  4. Add following module dependency to your *.gwt.xml file.

    <inherits name="com.github.gwtbootstrap.Bootstrap" />

  5. Add following script inside your module start page's HEAD section

    <head>

    <!-- before your module(*.nocache.js) loading -->

    <!--[if lt IE 9]>
    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->

    <!--[if IE 7]>
    <link rel="stylesheet" href="{your module name}/css/font-awesome-ie7.css">
    <![endif]-->


    <!-- your module(*.nocache.js) loading -->
    </head>

25 Ağustos 2013 Pazar

How to Bind Port 80 to Tomcat 7 in Ubuntu



Default tomcat installation uses 8080 port. This is not preferred way when you present your web application over a top-level domain. I needed this information for my new sites gamenism.com/game and onlineuml.net/modeler. Below I am describing how to bind port 80 to Tomcat 7.
  • Backup /var/lib/tomcat7/conf/server.xml
  • Open /var/lib/tomcat7/conf/server.xml for editing. Find the part beginning with "<Connector"
    As highlighted below, change the value of port attribute to 80.

    <Connector port="80" protocol="HTTP/1.1"    connectionTimeout="20000"   
        URIEncoding="UTF-8"
       
        redirectPort="8443" />
  • Backup /etc/default/tomcat7 file
  • Open /etc/default/tomcat7 file for editing. 
    • Find the line containing "AUTHBIND" property. This line should be commented. Uncomment it.
    • Set AUTHBIND property to YES. This is required to bind a port to a process which is less than 1023.

      AUTHBIND=yes
  • Restart tomcat 7

    sudo /etc/init.t/tomcat7 restart

6 Haziran 2013 Perşembe

Browsing All Visio 2010 Shapes as a Document


http://viziblr.com/news/2012/3/10/browsing-visio-2010-stencil-shapes-as-a-document.html

Visio shapes can be found under "C:\Program Files (x86)\Microsoft Office\Office14\Visio Content\1033" folder.


1 Haziran 2013 Cumartesi

How to Download Sun Jars in Maven Projects

Sun jars cannot be hosted in Maven central repository due to Sun's Binary License, e.g:

  • javax.sql:jdbc-stdex
  • javax.transaction:jta
  • javax.activation:activation

java.net provides a Maven repository to access Sun jars. It is a good practice to add following repository in your settings.xml file:
<repository>
      <id>maven2-repository.dev.java.net</id>
      <name>Java.net Repository for Maven</name>
      <url>http://download.java.net/maven/2/</url>
      <layout>default</layout>
</repository>

More details can be found at:
http://maven.apache.org/guides/mini/guide-coping-with-sun-jars.html

Create User In Mysql


Parameters:

username = 'mehmet'
host     = 'localhost'
password = 'mypass'


SQL command which creates a user based on above parameters:
CREATE USER 'mehmet'@'localhost' IDENTIFIED BY 'mypass';

31 Mayıs 2013 Cuma

Connect MySQL From External Hosts

Edit the /etc/mysql/my.cnf file and change the bind-address directive to the server's IP address:
bind-address            = 127.0.0.1
After changing bind-address directive to server's IP address in /etc/mysql/my.cnf, MySQL daemon will need to be restarted using following command:
sudo service mysql restart