Çarşamba, Nisan 08, 2009

Google App Engine artık java destekliyor...


  • build an App Engine application using standard Java web technologies, such as servlets and JSPs

  • create an App Engine Java project with Eclipse, and without

  • use the Google Plugin for Eclipse for App Engine development

  • use the App Engine datastore with the Java Data Objects (JDO) standard interface

  • integrate an App Engine application with Google Accounts for user authentication

  • upload your app to App Engine


http://googleappengine.blogspot.com/2009/04/seriously-this-time-new-language-on-app.html

hiragana yazılımı

Salı, Mart 10, 2009

YAHOO! QUERY LANGUAGE(YQL)

Yeni bir web servis API’si olan YQL ile beraber tipik bir program erişiminden ziyade farklı web servislerine SQL benzeri bir dille beraber ulaşabileceksiniz. Bunu pipes’ın komut satırı ile yazılmış bir versiyonu olarak da düşünebilirsiniz. Buradaki amaç tek ve bilinen bir önyüz ile beraber Yahoo! ve tüm internet ağı üzerindeki bilgilere erişimi sağlamak.

Başlamak için

1. YQL Konsolunu deneyin.
2. uygulamalarınızdan yql ye nasıl erişeceğinizi öğrenin.
3. Erişim kodunuzu alın.

Kullanım limitleri

YQL API kullanımı aşağıdaki  kısıtlamalara sahiptir:

Erişim anahrarı limitleri
* Günde 100.000 işlem.

IP limitleri:

* / V1/public/* saat başına 1000 işlem
* / V1/yql/* saat başına 10000 işlem

Tüm fiyatlar değişebilir.

örnekler denedikten sonra :)

Cumartesi, Mart 07, 2009

Java, JDBC ve MySQL Tür Dönüşümleri

ResultSet.getObject() fonksiyonu MySQL ve Java türleri arasındaki tür dönüşümleri için aşağıdaki tabloyu kullanır. java.sql.Types hakkında daha fazla bilgi için Java 2 Platform Türlerine bakın.
ResultSet.getObject() için MySQL ve Java Türleri.





























































































































































MySQL Tip AdıGetColumnClassName
Java Class
BIT(1) (new in MySQL-5.0)BITjava.lang.Boolean
BIT( > 1) (new in MySQL-5.0)BITbyte[]
TINYINTTINYINTEğer depolama boyutu 1 ise java.lang.Boolean değilse java.lang.Integer.
BOOL, BOOLEANTINYINTBkz TINYINT
SMALLINT[(M)] [UNSIGNED]SMALLINT [UNSIGNED]java.lang.Integer (herşeye rağmen UNSIGNED veya değil)
MEDIUMINT[(M)] [UNSIGNED]MEDIUMINT [UNSIGNED]java.lang.Integer (eğer UNSIGNED ise)
java.lang.Long (C/J 3.1 ve öncesi ise)
java.lang.Integer
( C/J 5.0 ve sonrası ise)
INT,INTEGER[(M)] [UNSIGNED]INTEGER [UNSIGNED]java.lang.Integer, (eğer UNSIGNED ise)
java.lang.Long
BIGINT[(M)] [UNSIGNED]BIGINT [UNSIGNED]java.lang.Long, (eğer UNSIGNED ise)
java.math.BigInteger
FLOAT[(M,D)]FLOATjava.lang.Float
DOUBLE[(M,B)]DOUBLEjava.lang.Double
DECIMAL[(M[,D])]DECIMALjava.math.BigDecimal
DATEDATEjava.sql.Date
DATETIMEDATETIMEjava.sql.Timestamp
TIMESTAMP[(M)]TIMESTAMPjava.sql.Timestamp
TIMETIMEjava.sql.Time
YEAR[(2|4)]YEARjava.sql.Short. yearIsDateType false ise
java.sql.Date
CHAR(M)CHARjava.lang.String (sutun özelliği BINARY ise byte[] döner)
VARCHAR(M) [BINARY]VARCHARjava.lang.String (sutun özelliği BINARY ise byte[] döner)
BINARY(M)BINARYbyte[]
VARBINARY(M)VARBINARYbyte[]
TINYBLOBTINYBLOBbyte[]
TINYTEXTVARCHARjava.lang.String
BLOBBLOBbyte[]
TEXTVARCHARjava.lang.String
MEDIUMBLOBMEDIUMBLOBbyte[]
MEDIUMTEXTVARCHARjava.lang.String
LONGBLOBLONGBLOBbyte[]
LONGTEXTVARCHARjava.lang.String
ENUM('value1','value2',...)CHARjava.lang.String
SET('value1','value2',...)CHARjava.lang.String

Salı, Kasım 04, 2008

Ufak bi Spring WS örneği

önce alıp vereceğimiz capmpaign modelini oluşturuyoruz.

package tr.hba.springws.model;

public class Campaign {

private String name;
private String code;
private String content;

public Campaign(String name, String content){
this.name = name;
this.content = content;
}

/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the code
*/
public String getCode() {
return code;
}
/**
* @param code the code to set
*/
public void setCode(String code) {
this.code = code;
}
/**
* @return the content
*/
public String getContent() {
return content;
}
/**
* @param content the content to set
*/
public void setContent(String content) {
this.content = content;
}

}

Pazartesi, Ekim 20, 2008

JPA NamedQuery : java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManager.

dao nuzdaki
@PersistenceContext
protected EntityManager entityManager;

satırını
@PersistenceContext(type=PersistenceContextType.EXTENDED)

protected EntityManager entityManager;

şeklinde deneyin.

Çarşamba, Ekim 08, 2008

Türkçe karakterlerin HTML karşılıkları

Ğ Ğ  Latin Capital Letter G With Breve       (Capital G Breve)
ğ ğ  Latin Small Letter G With Breve         (Small G Breve)
Ü Ü  Capital U, dieresis or umlaut mark ("Ü")
ü ü    Small u, dieresis or umlaut mark ("ü")
Ş Ş  Latin Capital Letter S With Cedilla     (Capital S Cedilla)
ş ş  Latin Small Letter S With Cedilla       (Small S Cedilla)
İ İ  Latin Capital Letter I With Dot Above   (Capital I Dot)
ı ı  Latin Small Letter Dotless I
Ö Ö    Capital O, dieresis or umlaut mark ("Ö")
ö ö    Small o, dieresis or umlaut mark ("ö")
Ç Ç    Capital C, cedilla ("Ç")
ç ç    Small c, cedilla ("ç")

Salı, Ağustos 26, 2008

video dan ekran görüntüsü alma

mplayer -vf screenshotdosya.avi

daha sonra ekran goruntüsü almak istediğiniz yer geldiğinde s tuşuna basın.

Cuma, Ağustos 08, 2008

Javascript object dump

function str_repeat(str, repeat) {
var output = '';

for (var i = 0; i < repeat; i++) {
output += str;
}

return output;
}

var MAX_DEPTH = 10;

function dump(obj, indent, depth) {
var ws = '    ';
var output = '';
indent = (!indent) ? 0 : indent;
depth = (!depth) ? 0 : depth;

if (depth > MAX_DEPTH) {
return str_repeat(ws, indent) + '*Maximum Depth Reached*\n';
}

if (typeof(obj) == "object") {
output += (indent == 0) ? typeof(obj) + '\n(\n' : '';
indent++;
var child = '';

for (var key in obj) {
try {child = obj[key];}
catch (e) {child = '*Unable To Evaluate*';}

output += str_repeat(ws, indent) + '['+key+'] => ';

if (typeof(child) == "object") {
indent++;
output += typeof(child) + '\n';
output += str_repeat(ws, indent) + '(\n';
output += print_r(child, indent, depth+1);
output += str_repeat(ws, indent) + ')\n';
indent--;
}

else {
output += child + '\n';
}
}

indent--;
output += (indent == 0) ? ')\n' : '';
return output;
}else {
return str_repeat(ws, indent) + obj + '\n';
}
}

python tarih saat işlemleri

#bugün
today = datetime.date.today()
print "bugün", today

# formatlı tarih

#    %a  Yerel kısa hafta adı
#    %A     yerel uzun hafta adı
#    %b     Yerel kısa ay adı
#    %B     Yerel uzun ay adı
#    %c     yerel tarih saat #'Fri Aug  8 00:00:00 2008'
#    %d     ayın günü [01,31].
#    %H     Saat (24-saat) [00,23].
#    %I     Saat (12-saat) [01,12].
#    %j     Yılın günü [001,366].
#    %m     Ay [01,12].
#    %M     Dakika [00,59].
#    %p     AM or PM.
#    %S     Saniye [00,61]
#    %U     Hafta [00,53].
#    %w     Haftanın günü [0(Sunday),6].
#    %W     Yılın haftası [00,53]
#    %y     Yıl 2 basamak [00,99].
#    %Y     Yıl 4 basamak [2008].
#    %Z     Zaman dilimi

print "Bugün", today.strftime("%d %B %Y %H:%M")
>>Bugün 08 August 2008 00:00

Tarih saat işlemleri

t1 = datetime.datetime(1982, 6, 16, 4, 35, 25)
t2  = datetime.datetime(2008, 1, 18, 3, 45, 50)

fark = t2 - t1

hafta, gun = divmod(fark.days, 7)
dakika, saniye = divmod(fark.seconds, 60)
saat, dakika = divmod(dakika, 60)

print "%d hafta, %d gün, %d:%d:%d saat" % (hafta, gun, saat, dakika, saniye)
>>1335 hafta, 1 gün, 23:10:25 saat

# tarih saat pars etme

time.strptime("Tue Jun 16 20:18:03 1981")
# (1981, 6, 16, 20, 18, 3, 1, 167, -1)

time.strptime("16/6/1981", "%d/%m/%Y")
# (1981, 6, 16, 0, 0, 0, 1, 167, -1)

now = datetime.datetime(*time.strptime("16/6/1981", "%d/%m/%Y")[0:5])

#bekleme

time.sleep(3.1)
print "tamam"

Perşembe, Ağustos 07, 2008

özlü sözler :)



"iyi yazılım şarap gibidir, zaman alır."
- Joel Spolsky

"bilgisayar bilimlerinin bilgisayarlarla alakası, astronominin teleskopla alakasından fazla değildir."
- Edsger Dijkstra

"programlama seks gibidir, bir yanlışlık yaparsanız, hayatınızın sonuna kadar destek olmak zorundasınız."
- Michael Sinz

"C ile kendinizi ayağınızdan vurabilirsiniz. C++ bunu biraz daha zorlaştırır ama lendinizi vurduğunuzda bütün bacağınız kopartır"--Bjarne Stroustrup

"Bir resim bin kelimeye bedeldir. (ve bu yüzden yüklemesi bin kat daha uzun sürer!)" --Eric Tilton

"Eğer C++ dilinin gereğinden fazla kamaşık olmadığını düşünüyorsanız bana ' protected abstract virtual base pure virtual private destructor' ın ne ol olduğunu söyleyin " --Tom Cargill, C++ journal 1990

"Tüm paraçalar zorlanmadan yerine oturmalıdır. onları söken siz olduğunuza göre eğer tekrar bütünleştiremiyorsanız bunun bir sebebi olmalı. Kesinlikle çekiç kullanmayın!" --IBM bakım klavuzu 1925

"Gerçek programcılar her dilde assembly kodu yazabilirler" --Larry Wall

"Simulasyonlar mini eteklere benzer, çok şey gösterir ama esas görünmesi gerekeni saklar" --Hubert Kirrman

"Bilgisayarlar faydasızdır. Onlar ancak cevapları verebilir" --Pablo Picasso

beleş anti-virüs programı virüsü türkü çağıra çağıra ararmış

Cuma, Şubat 15, 2008

.flv uzantılı videolar DivX vaya XviD e Nasıl çevrilir ?

aşağıdaki kodu flv2avi.sh adıyla /usr/local/bin altına kaydedin daha sonra

flv2avi.sh -divx dosya1.flv dosya2.flv

bu şekilde kullanabilirsiniz.
#!/bin/sh

if [ -z "$1" ]; then
echo "Usage: $0 {-divx|-xvid} list_of_flv_files"
exit 1
fi

# video encoding bit rate
V_BITRATE=1000

while [ "$1" ]; do
case "$1" in
-divx)
MENC_OPTS="-ovc lavc -lavcopts \
vcodec=mpeg4:vbitrate=$V_BITRATE:mbd=2:v4mv:autoaspect"
;;
-xvid)
MENC_OPTS="-ovc xvid -xvidencopts bitrate=$V_BITRATE:autoaspect"
;;
*)
if file "$1" | grep -q "Macromedia Flash Video"; then
mencoder "$1" $MENC_OPTS -vf pp=lb -oac mp3lame \
-lameopts fast:preset=standard -o \
"`basename $1 .flv`.avi"
else
echo "$1 is not Flash Video. Skipping"
fi
;;
esac
shift
done

kaynak : http://www.linux.com

Salı, Ekim 30, 2007

JDBC Driver Listesi

Name     JavaDB/Derby server
Identifier     jdbc:derby://
Type     derby
URLFormat     jdbc:derby://<server>:<port1527>/<databaseName>
DefaultClass     org.apache.derby.jdbc.ClientDriver

Name     JavaDB/Derby embedded
Identifier     jdbc:derby
Type     derby
URLFormat     jdbc:derby:<databaseName>
DefaultClass     org.apache.derby.jdbc.EmbeddedDriver

Çarşamba, Eylül 26, 2007

VirtualBox Vista(Guest) network driver sorunu

cd ~/install_files
wget http://www.amd.com/us-en/assets/content_type/utilities/V4.51.zip
unzip V4.51.zip -d driver
mkisofs -o driver.iso -R -J driver

iso dosyasını  VirtualBox a mount ettikten sonra

Control Panel > Hardware and Sound > Device Manager. Sağ klik
Ethernet Controller > Update Driver Software

diyerek yükleyebilirsiniz...

Salı, Eylül 04, 2007

plesk için domain yedekleme

import zipfile
import sys, os, shutil, string

plesk_vhost_yolu = "/var/www/vhosts/"
yedeklenecek_yol = "/yedeklenecek/yol/"

class RecursiveFileIterator:
#http://www.faqts.com/knowledge_base/view.phtml/aid/6000
def __init__ (self, *rootDirs):
self.dirQueue = list (rootDirs)
self.includeDirs = None
self.fileQueue = []

def __getitem__ (self, index):
while len (self.fileQueue) == 0:
self.nextDir ()
result = self.fileQueue [0]
del self.fileQueue [0]
return result

def nextDir (self):
dir = self.dirQueue [0]   # fails with IndexError, which is fine
# for iterator interface
del self.dirQueue [0]
list = os.listdir (dir)
join = os.path.join
isdir = os.path.isdir
for basename in list:
fullPath = join (dir, basename)
if isdir (fullPath):
self.dirQueue.append (fullPath)
if self.includeDirs:
self.fileQueue.append (fullPath)
else:
self.fileQueue.append (fullPath)

domain_listesi = os.listdir(plesk_vhost_yolu)
for domain in domain_listesi:
print "%s icin yedekleme basliyor "%domain
file = zipfile.ZipFile(yedeklenecek_yol+domain+".zip", "w")
directory = plesk_vhost_yolu+domain+"/httpdocs/"

for name in RecursiveFileIterator(directory):
if os.path.isfile(name):
file.write(name, name, zipfile.ZIP_DEFLATED)

file.close()
print "%s icin yedekleme tamamlandi "%domain

Cuma, Ağustos 31, 2007

void bir fonksiyondan nasıl çıkılır

public class Deneme {

public void k(){
System.out.println("başladı");

try {
System.out.println("try içi");
Long a = Long.parseLong("abc");

} catch (Exception e) {
System.out.println("exception");
return;
}
System.out.println("devam");
}

public static void main(String[] args) {
Deneme d = new Deneme();
d.k();

}

}