Pazartesi, Eylül 28, 2009

Korku (Fıkra)

- Uçak tehlikeli değil mi kaptan? Siz hiç korkmuyor musunuz?
- Sizin büyük babanız yatakta ölmedi mi?..
- Evet...
- Peki onun babası?
- O da yatakta öldü...
- Peki siz akşam yatağa girerken korkuyor musunuz?..

motor için de geçerlidir :)

Cuma, Eylül 04, 2009

Mac OS X te MySQLdb 1.2.2 kurmak

Django için mutlaka kurmanız gerekli

Adım 0:
Öncelikle MySQL ve Python u kurmuş olmanız gerekiyor.

Adım 1:
MySQL  Python adapdörünü SourceForge den indirin.

Adım 2:
indirdiğiniz dosyayı açın

$ tar xzvf MySQL-python-1.2.2.tar.gz

Adım 3:
indirdiğiniz klasöre komut satırından girerek aşağıdaki komutu verin

$ sudo python setup.py clean

Adım 4:
aynı klasör içerisindeki  _mysql.c dosyasını favori editörünüzle açın.

4a. aşağıdaki satırları bulup silin (37-39):

#ifndef uint
#define uint unsigned int
#endif


4b. aşağıdaki satırları bulun:

uint port = MYSQL_PORT;
uint client_flag = 0;


aşağıdaki gibi değiştirin

unsigned int port = MYSQL_PORT;
unsigned int client_flag = 0;


Adım 5:
mysql lib klasörü için aşağıdaki şekilde sembolink link oluşturun.

$ sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql

Adım 6:
setup_posix.py dosyasında aşağıdaki satırı bulun

mysql_config.path = "mysql_config"

bununla değiştirin

mysql_config.path = "/usr/local/mysql/bin/mysql_config"

Adım 7:
artık derleyebiliriz. komutumuz

$ sudo python setup.py build

Adım 8:
derlenmiş paketleri yerlerine alalım

$ sudo python setup.py install

Adım 9:
son olarak MySQLdb miz çalışıyor mu test edelim.

$ python
>>> import MySQLdb


Kaynak:

http://www.mangoorange.com/2008/08/01/installing-python-mysqldb-122-on-mac-os-x/

Salı, Eylül 01, 2009

wget ile Download'ı sınırlandırmak

İnternet çıkışınız fazla değil ve bunu download için harcamak istemiyorsanız "--limit-rate=INT_DEGER" şeklinde sınırlandırabilirsiniz.
wget -c --limit-rate=4k http://erkan.iqchoice.com/basisrelease.tar.gz

NOT: Bu sayede sadece 4k ile indirilir.

geri kalanı burda :

http://wiki.linux-sevenler.org/index.php/NASIL_wget_Kullan%C4%B1m%C4%B1

Cuma, Ağustos 07, 2009

JavaOne 2009 JavaFX Authoring aracı demosu

JavaOne 2009 da tanıtımı yapılan JavaFX için Flash benzeri tasarım aracı

ekran görüntüsü :



videolar :





Ç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