haskell faktöriyel hesaplama
1 faktoriyel 0 = 1
2 faktoriyel a = a * faktoriyel (a - 1)
3 main = do putStrLn "Hangi Sayının faktöriyeli hesaplanacak ? "
4 say <- readLn
5 print (faktoriyel say)
6
Vgrup for Geek and Robot Unix Party
{ Monthly Archives }
1 faktoriyel 0 = 1
2 faktoriyel a = a * faktoriyel (a - 1)
3 main = do putStrLn "Hangi Sayının faktöriyeli hesaplanacak ? "
4 say <- readLn
5 print (faktoriyel say)
6
linux üzerinde açık olan bir ssh bağlantınızı bir süre kullanmadığınızda
Timeout, server not responding.
şeklinde bir mesaj alıp bağlantınız kesiliyorsa
~/.ssh/config
dosyası içerisine
ServerAliveInterval 30 ServerAliveCountMax 0
yazarsanız 30 saniyede bir boş paket göndererek bağlantınızın açık kalmasını sağlar
Tags: config, Linux, ServerAliveCountMax, ServerAliveInterval, ssh, timeoutÜzerinde bad sektör (bozuk alan) olan diskleri kullanmak pek tavsiye edilmez. Ancak zorunlu durumda kaldıysanız bozuk alanları linux üzerinde işaretleterek o alanların kullanılmasını engelleyebilirsiniz.
Bu işlemlerden önce mutlaka (düşük veya yüksek bir ihtimal bile olsa) veri kaybı olabileceğini bilmeniz lazım. Mümkünse bir çalışan cd (livecd) kullanarak sistemi açın ve ilerideki adımları o şekilde yapın.
eğer bir çalışan cd ile açma şansınız yoksa en azından tarayacağınız alanı salt okunur (readonly) olarak mount edin
Bir diskte bozuk alan varmı diye sadece sınamak için root olarak
badblocks -nvs /dev/sda1
bu işlem sda1 bölümünü hatalar için tarar ve baozuk alanları size belirtir. Eğer bozuk alanları işaretlemek istiyorsanız e2fsck daha faydalı bir komut olacaktır.
e2fsck -cy /dev/sda1
yukarıdaki komut ise bozuk alanları tarayıp o alanları bozuk diye işaretler
Tags: badblocks, e2fsck, LinuxEv dizininizdeki ~/.gimp-2.6/fonts/ dizinine fontları atmanız yeterlidir.
subversion üzerinde bir dosyayı ve klasörü geçmiş bilgilerini kaybetmeden taşıma ihtiyacınız varsa.
svn move KAYNAK HEDEF
yukarıdaki komut KAYNAK olarak belirtileni alıp HEDEF e taşır
KAYNAK eğer bir çalışma kosyası (working copy) ise HEDEF te bir çalışma koyası olmak zorundadır
KAYNAK eğer bir url ise HEDEF te bir url olmak zorundadır
eğer url üzerinde taşıma yapacaksanız -m ile commit mesajını da yazmanız lazım
svn move -m "commit mesajımız" KAYNAK HEDEF
alternatif kullanım şekilleri
svn mv KAYNAK HEDEF
svn rename KAYNAK HEDEF
svn ren KAYNAK HEDEFTags: svn, svn commit, svn move, svn ren, svn rename, vcs
import java.io.Serializable;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
/**
*
* @author Muhammed YÜRÜRDURMAZ
*/
@Entity
@Table(name = "KISI_TBL")
public class Kisi implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "KISI_ID")
private int KisiId;
@Column(name="ISIM", length=64, nullable=false)
private String isim;
@ManyToMany
@JoinTable(name = "KISI_TELEFON_TBL", joinColumns = {
@JoinColumn(name = "KISI_ID")},
inverseJoinColumns = {
@JoinColumn(name = "TELEFON_ID")})
private List<Telefon> telefonlar;
/**
* @return the KisiId
*/
public int getKisiId() {
return KisiId;
}
/**
* @param KisiId the KisiId to set
*/
public void setKisiId(int KisiId) {
this.KisiId = KisiId;
}
/**
* @return the isim
*/
public String getIsim() {
return isim;
}
/**
* @param isim the isim to set
*/
public void setIsim(String isim) {
this.isim = isim;
}
/**
* @return the telefonlar
*/
public List<Telefon> getTelefonlar() {
return telefonlar;
}
/**
* @param telefonlar the telefonlar to set
*/
public void setTelefonlar(List<Telefon> telefonlar) {
this.telefonlar = telefonlar;
}
}
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
/**
*
* @author Muhammed YÜRÜRDURMAZ
*/
@Entity
@Table(name = "TELEFON_TBL")
public class Telefon implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "TELEFO_ID")
private int telefonId;
@Column(name = "TELEFON_NO", length = 13, nullable = false)
private String telefonNo;
@ManyToMany(mappedBy="telefonlar")
private List<Kisi> kisiler;
/**
* @return the telefonId
*/
public int getTelefonId() {
return telefonId;
}
/**
* @param telefonId the telefonId to set
*/
public void setTelefonId(int telefonId) {
this.telefonId = telefonId;
}
/**
* @return the telefonNo
*/
public String getTelefonNo() {
return telefonNo;
}
/**
* @param telefonNo the telefonNo to set
*/
public void setTelefonNo(String telefonNo) {
this.telefonNo = telefonNo;
}
/**
* @return the kisiler
*/
public List<Kisi> getKisiler() {
return kisiler;
}
/**
* @param kisiler the kisiler to set
*/
public void setKisiler(List<Kisi> kisiler) {
this.kisiler = kisiler;
}
}
Öncelikli olarak XMLType tipinde bir tablo oluşturalım. Tablo adı deneme_tablo olsun
create table deneme_tablo of xmltype;
bir kayıt insert edelim
insert into deneme_tablo values(
xmltype('<kisi adi="muhammed" soyadi="yürürdurmaz" />')
)
insert into deneme_tablo values(
xmltype('<kisi adi="ismail" soyadi="çakır" />')
)
şimdi tüm kayıtları listeleyelim
select * from deneme_tablo
şimdi ismi muhammed olan kayıtları sorgulayalım
select * from deneme_tablo tb where existsNode(tb.OBJECT_VALUE, '/kisi[@adi=''muhammed'']') = 1
şimdi kişi adlarını listeleyelim olan kayıtları sorgulayalım
select extractValue(tb.OBJECT_VALUE, '/kisi/@adi') from deneme_tablo tbTags: existsNode, extractValue, oracle, xmltype, xpath
abiword: error while loading shared libraries: libgoffice-0.8.so.7: cannot open shared object file: No such file or directory
şeklinde bir hata alıyorsanız muhtemelen debian testing kullanıyorsunuzdur
.
Çözüm için öncelikli olarak sisteminizde libgoffice kurulu olduğundan emin olun.
benim sistemimde bu şekilde görüyorum.
# ls -al /usr/lib/libgoffice-0.8.so.* lrwxrwxrwx 1 root root 23 2010-02-26 09:59 /usr/lib/libgoffice-0.8.so.8 -> libgoffice-0.8.so.8.0.0 -rw-r--r-- 1 root root 1124636 2010-02-15 14:59 /usr/lib/libgoffice-0.8.so.8.0.0
Çözüm için root yetkileriyle
# ln -s /usr/lib/libgoffice-0.8.so.8 /usr/lib/libgoffice-0.8.so.7
komutu ile mevcut olan libgoffice dosyasına link oluşturun daha sonra abiword çalışacaktır
Not aynı hata mesajını gnumeric ile de alıyorsanız bu yöntem işinizi görecektir
Tags: abiword, debian, gnumeric, libgoffice, testingbir dosya veya klasörü yanlışlıkla subversion a commit ettiniz veya commit edilmiş birşeyin ignore listesinde olması gerekiyordu.
bu sorunu şu şekilde çözersiniz.
öncelikli olarak yanlış eklenen şeyi ignore liste ekleyin
svn propedit svn:ignore .
komutu ile açılan editörden ignore listi düzenleyin ve kaydedip çıkın
daha sonra subversion dan ingore liste eklediğiniz şeyleri
svn rm --keep-local ignore_liste_eklenen_şey
komutu ile silin
Tags: rm, svn, svn:ignore, vcsmakinanızda hem linux hem windows kullanıyorsanız, kurmuş olduğunuz debian siteminde windows ile saat uymuyorsa muhtemelen utc ayarını düzenlemeniz gerekmektedir.
vim /etc/default/rcS
komutu ile dosyayı açın ve
UTC=yes
satırını bulup
UTC=no
yapın. sistemi yeniden başlattığınızda ve saati tekrar ayarladığınızda artık saat uyuşmazlığınız çözülmüş olacaktır.
Tags: /etc/default/rcS, debian, saat, utc