10 Nisan 2013 Çarşamba

Mezuniyeti 1 yıl olmadan 3 iş değiştirenler

Kariyer günleri kapsamında bir  kaç üniversitede öğrencilere okul devam ediyorken bir şeyler öğrenmenin ne kadar önemli olduğunu anlatmaya çalışıyorum.

Değindiğim diğer bir konuda yeni mezun arkadaşların çok sık iş değiştirmesi. Sürekli uyardım ve uyarmaya devam ediyorum. Eğer çok sık iş değiştirirseniz bir süre sonra bu çalışan bir yerde bir yıldan fazla çalışmamış bizim burada da uzun vadeli çalışmaz diye sizi işe almazlar dedim.

Ama görüyorum ki firmalar 6 ayda iki iş değiştirmiş elemanı bile alabiliyorlar.

Kanaatimce bunun üç sebebi var:

1. Piyasada ciddi bir insan kaynağına ihtiyaç var. Bu yüzden firmalar geçmişine bakmadan çalışanları işe almak zorunda kalıyor.
2.Firma  o elemanı kısa vadeli alıp gönderecek veya gitmesini isteyecek.
3. Firmanın insan kaynakları mevzunun ciddiyetinden bihaber.


Öğrencilerin sürekli iş değiştirmesini gençliklerine veriyorum da bu kadar çok dolaşan gençleri işe alan firmaları anlamak oldukça zor.


Sürekli iş değiştiren bu kişiler bir süre sonra CV'deki firmaların bazıları silmeye başlıyor. Sildikleri tarih aralıklarını da önceki ve sonraki firmalara dağıtıyorlar :)

Tabii artık  bu da yemiyor. Sosyal ağlar üzerinden insanlar işe alacakları kişileri tanıyan arkadaşları ile irtibata geçerek o kişi hakkında her türlü bilgiye sahip olabiliyor.

Gençlere tavsiyem: İşe gireceğiniz firmayı ve yapacağınız işi iyi araştırın. Eğer tam istediğiniz gibi değilse biraz daha bekleyin. Eğer bekleyecek durumda değilseniz girdiğiniz yerde en az 1-2 yıl çalışın. İşe girdim ama iş bana göre değilmiş gibi bir bahaneniz varsa bunun sebebi ve sorumlusu sizsiniz. Çünkü mezun olmuşunuz ama hangi alanda çalışacağınız hakkında en ufak bilginiz yok. Ama bir an öncede paraya ihtiyacınız olduğu için ilk "mantıklı" gelen işe giriyorsunuz.

Sektör çok küçük. Adınız yerinde durmayan çalışana çıkarsa yeni iş bulmalarda çok zorlanabilirsiniz.

Peki yeni mezunlar hiç mi iş değiştiremez? Aşağıdaki şartlardan bazıları varsa elbette iş değiştirilebilir:
  • Maaşınız çok geç ödeniyor ve hiç ödenmiyorsa
  • 9-6 mesai denmişken hafta sonu da dahil aylarca gece geç saatlere kadar çalışıyorsanız.
  • Maddi/Manevi Şiddet uygulanıyorsa
  • Şirketiniz battı veya batmak üzere ise
  • Çalıştığınız bölüm kapanacak veya bölümdeki çalışan sayısı azaltılacaksa. 
  • Sizi işe başladığınız pozisyondan alıp hiç alakanız olmadığı bir pozisyona verdilerse.

Fakat gördüğüm kadarıyla iş değiştirmelerin çoğu daha çok maaş,daha az iş yapma(diğer bir tabirle yatış,arazi olma) amacıyla yapılıyor.







6 Nisan 2013 Cumartesi

Apache ve PHP'de sürüm bilgilerini gizleme

Çoğu güvenlik tarama yazılımı Apache ve PHP versiyonunun gösterilmesini bir açıklık olarak görür.
Bir sitemizde Netsparker Community edition ile yaptığımız taramada bu iki bilginin açık edildiği raporlandı. Bize de düzeltmek düştü.


Apache'de sürüm bilgisini engellemek için  ServerTokens değerini Prod yapınız.

ServerTokens Prod

Prod seçilirse sadece web sunucusunun türü(Apache) yazar. Başka bir bilgi olmaz.

ServerTokens parametresinin alacağı değerlerin tam listesini  http://httpd.apache.org/docs/2.2/mod/core.html#servertokens adresinden bulabilirsiniz.


PHP'deki sürüm bilgisini kapatmak içinde /etc/php.ini dosyasındaki expose parametresi off yapılır.

; Decides whether PHP may expose the fact that it is installed on the server
; (e.g. by adding its signature to the Web server header).  It is no security
; threat in any way, but it makes it possible to determine whether you use PHP
; on your server or not.
; http://www.php.net/manual/en/ini.core.php#ini.expose-php
expose_php = off



Değişikliklerin etkinleşmesi için Apache yeniden başlatılmalıdır.

# /etc/init.d/httpd restart

Not: Apache ve PHP sürümleriniz eski ve güvenlik açığı içeren bir sürüm ise mutlaka güncelleyiniz. Sadece sürüm bilgisini gizleyerek güvenlik olmaz.

5 Nisan 2013 Cuma

PostgreSQL binary yedek alma

Bir müşterimizin 100GB civarı PostgreSQL veritabanı vardı. Standart pg_dump komutu ile yedek alındığında yedek alma süresi 24 saate kadar uzayabilmekteydi. Sonrasında binary backup ile testler yaptığımızda bu sürenin 2 saate düştüğünü gözlemledik. Burada kısaca binary yedek nasıl alınır ve geri yüklenir ondan bahsedeceğim. Örnekler PostgreSQL 9.2 üzerinde uygulanmıştır.

pg_dump -F parametresi yedek türünü belirler.

p: plain(düz)  yedek anlamına gelir. Ön tanımlı yedek türü budur.  Yedek SQL metin dosyası formatındadır.

Örnek:
# pg_dump -U ssm -F t -b -v -f ssm.dbbackup ssm

Dosyanın türüne file  komut ile baktığımızda metin olarak gözükmektedir.

# file ssmdb.backup ssmdb.backup: UTF-8 Unicode English text, with very long lines

c: custom (özel) yedektir. Bu fomat bize esneklik sağlıyor. Yedekten sadece bir tablo veya index
dönebiliyoruz. Ön tanımlı olarak yedek sıkıştırılmaktadır.

# pg_dump -U ssm -F c -b -v -f ssmdb.backup ssm
pg_dump: reading schemas
pg_dump: reading user-defined tables
pg_dump: reading extensions
pg_dump: reading user-defined functions
pg_dump: reading user-defined types
pg_dump: reading procedural languages

 ..
 
# file ssmdb.backup
ssmdb.backup: PostgreSQL custom database dump - v1.12-0



d: directory(dizin) Yedekler bir dizin altında oluşmaktadır. Ön tanımlı olarak arşiv sıkıştırılır.











# pg_dump -U ssm -F d -b -v -f ssmbackupdir ssm
# ls -al ssmbackupdir/
total 360K
drwx------  2 root root 4.0K Apr  5 10:53 .
dr-xr-x--- 11 root root 4.0K Apr  5 10:53 ..
-rw-r--r--  1 root root  230 Apr  5 10:53 2859.dat.gz
-rw-r--r--  1 root root 295K Apr  5 10:53 2861.dat.gz
-rw-r--r--  1 root root 5.0K Apr  5 10:53 2863.dat.gz
-rw-r--r--  1 root root   29 Apr  5 10:53 2865.dat.gz
-rw-r--r--  1 root root   25 Apr  5 10:53 2866.dat.gz
-rw-r--r--  1 root root   29 Apr  5 10:53 2868.dat.gz
-rw-r--r--  1 root root   29 Apr  5 10:53 2869.dat.gz
-rw-r--r--  1 root root  307 Apr  5 10:53 2870.dat.gz
-rw-r--r--  1 root root   29 Apr  5 10:53 2872.dat.gz
-rw-r--r--  1 root root  15K Apr  5 10:53 toc.dat



t: tar tar arşivleme formatında yedek alır. Dizin formatındakinin arşivlenmiş hali gibi düşünülebilir.  Bu yöntemde yedekler sıkıştırılmz.

# pg_dump -U ssm -F t -b -v -f ssmtar.backup ssm
# file ssmtar.backup
ssmtar.backup: tar archive


tar dosyasnının içeriği aşağıdaki gibidir.

# tar tvf 
# tar tvf ssmtar.backup
-rw------- 2048/1024     14416 2013-04-05 11:05 toc.dat
-rw------- 2048/1024       489 2013-04-05 11:05 2859.dat
-rw------- 2048/1024    895755 2013-04-05 11:05 2861.dat
-rw------- 2048/1024     19287 2013-04-05 11:05 2863.dat
-rw------- 2048/1024         9 2013-04-05 11:05 2865.dat
-rw------- 2048/1024         5 2013-04-05 11:05 2866.dat
-rw------- 2048/1024         9 2013-04-05 11:05 2868.dat
-rw------- 2048/1024         9 2013-04-05 11:05 2869.dat
-rw------- 2048/1024       573 2013-04-05 11:05 2870.dat
-rw------- 2048/1024         9 2013-04-05 11:05 2872.dat
-rw------- 2048/1024     13065 2013-04-05 11:05 restore.sql


 
Yukarıdaki restore.sql dosyasında veritabanında tek tek tüm indeks,tablo vs kayıtlır silinip tekrar oluşturulmaktadır.


 pg_restore

pg_restore komutu ile de yedekleri dönebilirsiniz.  pg_restore ile komutu dönerken yedek formatını belirtmeye gerek yoktur. Programın kendisi otomatik olarak formatı tanımaktadır.

Aşağıdaki komutla yukarıdaki yedeklerden birini dönebilirsiniz. Örnek olarak tar formatlı yedek geri dönüşü gösterilmiştir.


# pg_restore -U ssm -v -f ssmtar.backup ssm