Oracle SQL Developer full pathname for java.exe

If you are asked to enter the full pathname for java.exe when you are installing Oracle SQL Developer, click Browse and find java.exe.

For example, the path might have a name similar to

 
C:\Program Files\Java\jdk1.6.0_37\bin\java.exe

Source:
http://docs.oracle.com/cd/E10405_01/doc/install.120/e10407/install.htm

Posted in Uncategorized | Tagged , , | Leave a comment

Uppercase Converter

“In many situations it’s useful to store some properties in upper case. It’s a common practice of many data modeller and designers which prefer upper case for visible unique keys like codes, names, etc.”

Let’s say we have an unique requirement of changing the inputted string to its Uppercase type. There are indeed 2 ways to salvage this.

1. Using JavaScript.

<h:inputText ... onblur="value=value.toUpperCase()" />

2. Using JSF.

JSF Page:

<h:inputText value="#{exampleTableBean.object.code}" converter="UpperCaseConverter" 
             required="true" requiredMessage="#{msg.error_required_example_code}" />

faces-config.xml

<?xml version="1.0" encoding="UTF-8"?>

<faces-config version="1.2"			
              xmlns="http://java.sun.com/xml/ns/javaee"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation=
              "http://java.sun.com/xml/ns/javaee 
             	 http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd
              ">
        
    <application>
        .
        .
        .
	<converter>
	     <converter-id>UpperCaseConverter</converter-id>
	     <converter-class>com.example.util.converter.UpperCaseConverter</converter-class>
	</converter>
        .
        .
        .
    </application>
</faces-config>

Converter Class

package com.example.util.converter;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;

/**
 * @author k.mutlu
 * 
 */
public class UpperCaseConverter implements Converter {
	
	@Override
	public Object getAsObject(FacesContext context, UIComponent component, String value) {
		return value.toUpperCase();
	}

	@Override
	public String getAsString(FacesContext context, UIComponent component, Object value) {
		return value.toString();
	}
	
}

“The JS approach is extremely simple. However, this is tamperable by the enduser as it’s performed fully at the client side, under full control of the enduser. The enduser can disable/skip that JS code and/or edit the request parameter before it’s actually being sent to the server side. The JSF approach isn’t tamperable as this is performed fully at the server side, so this results in a more solid and reliable result.

You have to decide based on those facts which one fits the business requirements the best.”

Resources:
http://stackoverflow.com/questions/11021123/how-to-make-a-jsf-inputtext-field-upper-case-on-blur

http://ayushmanindia.blogspot.com/2010/09/feedjit-live-blog-stats-need-for-custom.html

http://www.dobosz.at/java/uppercase-converter/

http://riyazmsm.blogspot.com/2009/07/uppercase-converter.html

Posted in Uncategorized | Tagged , , | 1 Comment

Girişimciliğin 10 Temel Kuralı

Birçok insan girişimci olmak istese de, başarılı bir girişimin nasıl başlatılacağı ve sürdürüleceği temel bir sorundur.

İşte size yıllar boyu yaptığım incelemelere dayanak geliştirdiğim girişimciliğin 10 temel kuralı:

İyi bir iş fikri gezerken keşfedilir! Gitmediğiniz yere gitmeli, konuşmadığınız insanlarla konuşmalı, fiyatları kıyaslamalı ve bolca gözlem yapmalısınız. İş fikirleri oturduğunuz yerden keşfedilmez. Harekete geçmek ve yeni enformasyonlara ulaşmak gerekir. Hiçbir yere gitmiyorsanız, normalde hiç okumadığınız dergileri okumak, ziyaret etmediğiniz internet sitelerine bakmak gerekir.

Müşteriyle başlayın! İşe ofis açarak değil, müşteri bularak başlayın. Bir hayali kontrol etmenin en iyi yolu, o hayal için para ödeyecek biri olup olmadığını öğrenmektir. Bir ofis açıp bir yıl müşteri arayıp kimseye bir şey satamazsanız, tüm ofis maliyeti, bir yıllık emeğinizin karşılığı uçar gider. İşin başında tüm konsantrasyonunuzu müşteri bulmaya verin.

Yazılı Bir Planınız Olsun! İş planı, bir film senaryosu gibi gelecekte neler olacağını bütünsel olarak sunan bir belgedir. Hangi adımları ne zaman atacağınızı, hangi giderleri ne zaman yapacağınızı, hangi gelirleri ne zaman elde edeceğinizi gösterir.

Büyük Düşünün! Bir kafe değil, bir kafeterya zinciri açmayı hayal edin. Büyüme, işi büyütme hayali olmayanlar, küçük kalıp büyük balıklara yem olabiliyorlar. Bir işi büyütmek demek, işi markalaştırmak ve sistemleştirmek demektir. Bir işi küçük bırakırsanız, her işi kendisi yapan küçük işletme sahibi olarak kalırsınız.

Yaratıcılık ve sıra dışı düşünme, paranın ikamesidir! Paranızın olmadığı için harekete geçmediğinizi söylemeyin. Yaratıcılığınızı kullanın. Samanlıkta iğne aramak için tek tek samanları gözden geçirmek yerine bir mıknatıs kullanın.

Sıra Dışı Olun! Potansiyel müşterilerin rakiplerinizden değil, sizden almak için bir nedeni olmalı. Daha güzel, daha iyi, daha hızlı, daha ucuz, daha şık, daha basit, daha pahalı gibi tanımlanabilecek bir özelliğiniz olmalı. Rakiplerinizle aynı olursanız, potansiyel müşterilerin sizi onlardan ayırabilmek için bir imkanı olmaz.

Bir iş, çevreyle kurulur ve büyür! Bir işi büyütmek için paradan çok imkanları, yetkileri olan insanlar gereklidir. Sizden mal alacak bir satın alma müdürüyle sizi tanıştıracak kişi, nakit paradan daha değerlidir. Sürekli insanlarla tanışın ve mutlaka onlara işinizden söz edin. Kaynakları ve fırsatları size başka insanlar getirir. Sadece mal kaynağı ya da müşteri değil, sizinle çalışacak elemanlar ya da ortaklar da gereklidir.

Ürün değil, işletme önemlidir! Bir ürüne âşık olacak kadar sevmek değerlidir; ne var ki, ürünler geçici, ürünler geliştiren, üreten ve satan işletmeler kalıcıdır. Dolayısıyla sadece bir ürüne saplanıp kalmadan ürün üretme kapasitesine odaklanmak gerekir.

İyi bir tanıtım yapın! Girişimciliğin başında başarıyı belirleyen şey tanıtımdır. İnsanlar tanımadıkları şirketlerden bilmedikleri ürünleri satın almazlar. Açılış etkinlikleri düzenlemek, yerel ya da ulusal gazetelerde haberler çıkarmak, internet ve sosyal medyada kendimize sayfalar oluşturarak insanları ürün ve hizmetlerimiz hakkında bilgilendirmemiz gerekir.

Yapabildiğinizin en iyisini yapın, mükemmeli hedeflemeyin! İş hayatında mükemmeli yapmak idealdir; ama girişimciliğin başında elinizden gelenin en iyisiyle yetinmeniz gerekir. Mükemmel olanı yapmak için bazen çok para ve zaman gerekir. Bazı girişimciler de ikisi de olmadığından hiçbir şey yapmamayı tercih ederler. Harekete geçmek ve yapılabilenin en iyisini yapmak esastır. Girişimciliğin izleyen evrelerinde ise mükemmeli başaranlar markalaşırlar.

Melih Arat, 04 Eylül 2011, Pazar
Kaynak: http://www.zaman.com.tr/yazar.do?yazino=1176171

Posted in Uncategorized | Tagged , , , | Leave a comment

Escaping single and double quotes in JavaScript onclick event handler

The simple code block below results in a javascript error if ${photoCaption} contains single or double quotes.

<a href="#" onclick="
		                 $('#photo_caption').text('${photoCaption}');
	                ">

So I thought that It needs to be Javascript escaped. I used escapeJavaScript method of org.apache.commons.lang.StringEscapeUtils class.
First I inserted the code below (escapeJavaScript function) to tags.tld. Short name for my tag lib is ch

<taglib>
	...
	<short-name>ch</short-name>
	...
	<function>
		<name>escapeJavaScript</name>
		<function-class>
			org.apache.commons.lang.StringEscapeUtils
		</function-class>
		<function-signature>
			java.lang.String escapeJavaScript(java.lang.String)
		</function-signature>
	</function>
	...
</taglib>

I used escapeJavaScript function below in onclick event handler.

<a href="#" onclick="
		                 $('#photo_caption').text('${ch:escapeJavaScript(viewPhotoCaption)}');
	                ">

It escaped both single and double quotes. It converted

'   to   \' 

and 

"   to   \"

But it didn’t solve my problem because there was still javascript error. Single quotes problem was fixed but I realized that double quotes also needs to be HTML-escaped, not only Javascript-escaped.

Then I inserted the code below (escapeHtml function) to tags.tld for html escaping. I used escapeHtml method of org.apache.commons.lang.StringEscapeUtils class.

<taglib>
...
<function>
	<name>escapeHtml</name>
	<function-class>
		org.apache.commons.lang.StringEscapeUtils
	</function-class>
	<function-signature>
		java.lang.String escapeHtml(java.lang.String)
	</function-signature>
</function>
...
</taglib>

I solved this problem by using both escapeHtml and escapeJavaScript functions together in onclick event handler.

$('#photo_caption').text('${ch:escapeHtml(ch:escapeJavaScript(viewPhotoCaption))}');

escapeHtml function converted double quotes to html escaped double quotes.It converted

"  to  &quot;
Posted in Uncategorized | Tagged , , , | Leave a comment

jQuery AJAX Cache Problem on Internet Explorer

Internet Explorer (IE) caches the AJAX request. So if I make ajax queries with same URL(with the exact same parameters), it tends to give me same result/output as IE caches the data that it gets from first query.

No other browser, by default, caches AJAX requests… but IE does.

What we have to do is tell, right on the request, that we don’t want the result to be cached. So on a jQuery AJAX request, we would do:

$.ajax(
cache: false,
url: 'http://myurl',
data: {}
);

This will work for this particular request. If you want to expand the scope of this setting to all AJAX requests, you can set it on the global AJAX configuration:

$.ajaxSetup({ cache: false });
Posted in Uncategorized | Tagged , , | Leave a comment

Comparing Struts 1 and 2

Feature : Threading Model

Struts 2 Action objects are instantiated for each request, so there are no thread-safety issues. (In practice, servlet containers generate many throw-away objects per request, and one more object does not impose a performance penalty or impact garbage collection.)

Struts 1 Actions are singletons and must be thread-safe since there will only be one instance of a class to handle all requests for that Action. The singleton strategy places restrictions on what can be done with Struts 1 Actions and requires extra care to develop. Action resources must be thread-safe or synchronized.

Source: http://struts.apache.org/2.0.14/docs/comparing-struts-1-and-2.html

Posted in Uncategorized | Tagged , , | Leave a comment

Eclipse launch configuration files location

The .launch xml files (launcher definition) are found in

[eclipse-workspace]\.metadata\.plugins\org.eclipse.debug.core\.launches

There should be a *.launch for every configuration you have in this workspace.

For more details see:
http://stackoverflow.com/questions/5094786/eclipse-java-launch-configuration-file-path

http://stackoverflow.com/questions/952290/how-do-i-save-eclipse-launch-profiles-across-workspaces

Posted in Uncategorized | Tagged , , | Leave a comment