ümit samimi on Ağustos 9th, 2016

Arkadaşlar merhaba,

Anlatımı bu kez fotoğraflarla yapacağım.

Step 1 :

Bir tane dynamic web project oluşturalım. Oluşturacağımız bu proje apache tom cat 7.0 veya 8-9 versiyonlarından birisi olabilir. Dynamic module version ‘a da 3.0 ‘ı seçerek devam edelim.

Step 2
Oluşturduğumuz projeyi maven projesine çevirelim. (Convert to maven project) Bunun nedeni, ihtiyacımız olan jar dosyalarını pom.xml dosyasına yazarak, bizim yerimize maven eklentisinin bu jarları projemize dahil etmesini sağlamak. Bunun için projenin üzerine farenin sağ düğmesi ile tıklayıp, açılan seçim ekranından Configure sekmesini seçip “Convert to Maven Project” alanını seçiyoruz.

Karşımıza aşağıdaki gibi bir ekran görüntüsü çıkacaktır.

Group id ‘ye ve Artifact id’ye projenizin adını yazın ve Finish yazılı düğmeye tıklayın. Böylelikle projeniz artık bir MAVEN projesi haline gelmiş olacaktır.

Step 3
Projemizde pom.xml bölümü olacaktır. Bu bölüme projemize dahil edilmesini istediğimiz jar dosyalarının bağımlılıklarını yazmamız lazım. Bu yüzden etiketlerinin altına aşağıdaki xml bloğunu eklemeniz gerekmektedir.

  1. <dependencies>
  2.   <dependency>
  3.    <groupId>asm</groupId>
  4.    <artifactId>asm</artifactId>
  5.    <version>3.3.1</version>
  6.   </dependency>
  7.   <dependency>
  8.    <groupId>com.sun.jersey</groupId>
  9.    <artifactId>jersey-bundle</artifactId>
  10.    <version>1.19</version>
  11.   </dependency>
  12.   <dependency>
  13.    <groupId>org.json</groupId>
  14.    <artifactId>json</artifactId>
  15.    <version>20140107</version>
  16.   </dependency>
  17.   <dependency>
  18.    <groupId>com.sun.jersey</groupId>
  19.    <artifactId>jersey-server</artifactId>
  20.    <version>1.19</version>
  21.   </dependency>
  22.   <dependency>
  23.    <groupId>com.sun.jersey</groupId>
  24.    <artifactId>jersey-core</artifactId>
  25.    <version>1.19</version>
  26.   </dependency>
  27.  </dependencies>

step 4
Şimdi ise web.xml dosyamızı güncelleyelim. Aşağıdaki kod bloğunun tamamını alıp, web.xml’in içindeki tüm bölümü sildikten sonra buraya kopyalayalım.

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3.  xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  4.  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  5.  version="3.0">
  6.  <display-name>CrunchifyRESTJerseyExample</display-name>
  7.  <welcome-file-list>
  8.   <welcome-file>index.html</welcome-file>
  9.   <welcome-file>index.htm</welcome-file>
  10.   <welcome-file>index.jsp</welcome-file>
  11.   <welcome-file>default.html</welcome-file>
  12.   <welcome-file>default.htm</welcome-file>
  13.   <welcome-file>default.jsp</welcome-file>
  14.  </welcome-file-list>
  15.  
  16.  <servlet>
  17.   <servlet-name>Jersey Web Application</servlet-name>
  18.   <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
  19.   <load-on-startup>1</load-on-startup>
  20.  </servlet>
  21.  <servlet-mapping>
  22.   <servlet-name>Jersey Web Application</servlet-name>
  23.   <url-pattern>/rest/*</url-pattern>
  24.  </servlet-mapping>
  25. </web-app>
  26.  

Step 5

Artık projemize servis ekleyebiliriz. Projemize aşağıdaki gibi geri dönüşü metin olan bir fonksiyon yazalım.

  1. import javax.ws.rs.GET;
  2. import javax.ws.rs.Path;
  3. import javax.ws.rs.PathParam;
  4. import javax.ws.rs.Produces;
  5. import javax.ws.rs.core.MediaType;
  6.  
  7. @Path("/examples")
  8. public class RSWebServices {
  9.  @GET
  10.  // temel url uzantısının ardından gelen uzantı
  11.  @Path("/isim/{_param}")
  12.  // yapılan sorgunun tipi.
  13.  @Produces(MediaType.TEXT_PLAIN)
  14.  // yapılan sorgunun ardından çalıştırılacak olan fonksiyon
  15.  //Adres http://localhost:8080/restfulwssample/rest/examples/isim/umit
  16.  public String sayHello(@PathParam("_param") String _param) {
  17.   // yapılan sorguya verilecek cevap
  18.   return _param + " parametresi ile sayHello fonksiyonu tetiklendi";
  19.  }
  20. }

Şimdi öncelikli olarak projeyi çalıştırmadan evvel projemize sağ tıklayıp Run as sekmesinden Maven build… (noktalı olan) düğmesine tıklayın. Karşınıza çıkan ekranda Goals bölümüne eclipse:eclipse yazalım ve run düğmesine basalım. Projemiz için gerekli olan jarları indirecektir. Ardından da projemizi çalıştıralım.

Projemiz local’de çalışıyorsa eğer http://localhost:8080/restfulwssample/rest/examples/isim/umit adresinde

Tags: , ,

ümit samimi on Temmuz 30th, 2016

Android Projesine font ekleme / How to import external font/ typeface in ANDROID STUDIO?

Arkadaşlar merhaba,

Android projenize (Android Studio ‘da) font eklemek istediğizde,

Path olarak

|assets

|—————–fonts

|——————-font.ttf

|java

|res

AndroidManifest.xml

bölümüne eklemeniz gerekmektedir. Bu bölüm için sol tarafta bulunan dosya klasöründe “app —> New —>Folder —>Assets Folder” yolunu izlemeniz gerekmektedir.

Dosya içeriğine android activity’ler içerisinden erişebilmek için ise

  1.  
  2. Typeface face=Typeface.createFromAsset(getAssets(),"fonts/digital.ttf");
  3.      txtV.setTypeface(face);

kod parçacığını kullanabilirsiniz.

Tags: ,

ümit samimi on Temmuz 24th, 2016

Arkadaşlar Merhaba,

Android uygulamalarında facebook ile giriş yapmak için Key Hash bilgisine ihtiyacımız var. Normalde facebook developer hesabınızda size

  1. portcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64

komut satırı çalıştırılarak bulunması söyleniyor. Fakat alternatif bir yol daha var. Aşağıdaki kod bloğunu, main activity sınıfınıza eklerseniz, loga

  1. Log.e(" key hash ", something);

bölümü yazılmakta. Eğer log’da “key hash” aratırsanız(uygulamayı çalıştırdıktan sonra) key hash’i logda bulabilirsiniz.

  1.  
  2. PackageInfo info;
  3. try {
  4.     info = getPackageManager().getPackageInfo("com.you.name", PackageManager.GET_SIGNATURES);
  5.     for (Signature signature : info.signatures) {
  6.         MessageDigest md;
  7.         md = MessageDigest.getInstance("SHA");
  8.         md.update(signature.toByteArray());
  9.         String something = new String(Base64.encode(md.digest(), 0));
  10.         //String something = new String(Base64.encodeBytes(md.digest()));
  11.         Log.e(" key hash ", something);
  12.     }
  13. } catch (NameNotFoundException e1) {
  14.     Log.e("name not found", e1.toString());
  15. } catch (NoSuchAlgorithmException e) {
  16.     Log.e("no such an algorithm", e.toString());
  17. } catch (Exception e) {
  18.     Log.e("exception", e.toString());
  19. }

Tags: ,

ümit samimi on Mayıs 22nd, 2016

(Bir bayan ile su satan çocuğun arasında geçen olan. Noktasına dokunmadan…)

Eminönü’nde otobüse binmiş sıcaktan bunalmış halde otobüsün kalkmasını bekliyorum. Otobüs kaçacak diye su almayı unutmuşum ve dilim damağıma yapışmış.
Bir delikanlı girdi 10 12 yaşlarda otobüsün kapısından üstü başı pejmürde pasaklı elinde kendisinin yarı boylarında 24 lü su kolisi…
Su isteyen var mı diye sordu?
Ver Bi tane delikanlı dedim. O getirirken cüzdanı kurcaladım ufaklığım kalmamış. Beş lira verdim alnından akan hakikaten toplumun yüzde doksanının unuttuğu alın terini sildi ufak Ada’m. Ve elini cebine attı onunda iki lira ufaklığı varmış. Tamam dedim delikanlı kalsın beş lira.
Yok Dedi gidip bozdurup geliyorum hemen. Dedim o Zaman ver o iki kirayı gerisi kalsın.
Oda olmaz Dedi su 1 lira.
Tamam dedim borcun olsun bana. Ben borçlanmam dedi. İlla biri borçlanacaksa al suyu sen borçlan.
Tamam dedim kızma hadi al parayı o Zaman bozdur gel.
Yok Dedi ya otobüs gitmiş olursa tut sen bu parayı ben kendi paramdan bozdurup geliyorum. Dedim ya giderse otobüs ben neyapacağım o Zaman.
Senin paran bende kalsa ben senin gibi birine veremem. Ama sokakta benim gibi su satan çocuk çok! Sen bana veremezsen onlardan birine verirsin hepimizin kaderi aynı bizim sonuçta.
Gözlerim dolu dolu baktım beş lira elimde..
Ve gitti bozdurdu geldi dört liramı verdi bana başını okşadım. Kaç su satıyorsun Bi günde dedim 200 kadar Normalde Dedi ama bu gün daha senle siftah yaptım. o niye dedim.
Suyum bitmişti almaya gidecektim baktım cuma vakti gelmiş cumayı kıldım su aldım geldim ancak.
Peki dedim bu gün kazandığın yetecek mi sana?
Ve bizim bolluk içinde unuttuğumuz hatırlamadığımız bir cümleyi kurdu
AZIN BEREKETİ OLURMUŞ ABLA babam öyle derdi…
Baban nerede dedim?
Suriye’de savaşta ŞEHİD oldu. ŞEHİD OĞLUYUM ben Dedi..
Ben ağlıyordum otobüs bize bakıyordu. Derken şöför geldi ve eyvallah Dedi ufak Ada’m. Dedim bana dua edermisin?.
tamam ama sende bana anneme ve kardeşime edeceksin. Hasta olmayalım ve her gün tok güvende uyuyalım diye…
Peki dedim söz..
Dilim kurusun çocuk sana verdiğim sözü unutursam seni unutup sofrada pervasız lokma yersem dilim yüreğim kurusun!
Bu dört lirayı bir ömür saklayıp her israfımda bakıp vazgeçeceğim inşallah..
Ben bu gün hayat dersi aldım hasılı…

Tags: , ,

ümit samimi on Nisan 2nd, 2016

Alternatif doğa derneği : Yeşilcan

Teknolojinin hızla ilerlemesi ve insanların büyük şehirlere sıkışmasıyla birlikte, yeni ve farklı doğa derneklerinin, tabiat kulüplerinin ve ilgili platformların sayısı da artıyor. Onlardan bir tanesi de Yeşilcan Derneği.

Genellikle siyasi gerekçelerle gündeme gelen doğa dernekleri yüzünden birçok genç ilgili sivil toplum örgütlerinden uzakta durmakta. O gençlerin rahatlıkla katılım sağlayabileceği ortamı temin eden Yeşilcan Derneği, siyasetin, sağ sol kavgasının, etnik milliyetçiliğin ötesinde inşa temelli bir anlayış sunmakta.

Diğer doğa kuruluşlarının aksine Yeşilcan Derneği daha fazla sayıda fidan dikmek yerine, daha fazla insana fidan diktirmeyi hedefliyor. Böylelikle bireyin tabiata olan yabancılığı da azalıyor, sevgisi artıyor ve farkındalık sağlanmış oluyor.

Yeşilcan Derneği, özellikle ortaokul-lise-üniversite çağındaki öğrencileri sivil topluma kazandırmak, onlara doğa sevgisini aşılamak amacıyla belirli aralıklarla fidan dikimine götürüyor, doğa yürüyüşleri düzenliyor, tabiat parklarını gezdiriyor. Daha önce köy hayatı ile tanışmamış öğrencilere, köy gezileri düzenleniyor, süt sağımı gösteriliyor, ahırlar ve kümesler gezdiriliyor. Bu sayede sanal ortamlarda sosyalleşmeye çalışan öğrencilere alternatif etkinlikler sunuluyor ve bu öğrencilerin doğa ile bütünleşmesi sağlanıyor.

Yeşilcan Derneği, öğrencilerin hem gezdiği hem ellerinin toprağa değdiği hem kendilerine ait fidanları diktiği ve yetiştirdiği aynı zamanda organizasyon içerisinde görev alarak toplumsal bir sorumluluk üstlendiği alternatif aktiviteye katılma olanağı sağlıyor.

“Dikili bir fidanınız olsun” kampanyası

Birçok tabiat kuruluşunun para bağışıyla fidan dikimi yapmasına karşın, Yeşilcan Derneği para karşılığı başkasına fidan diktirmenin çevre farkındalığı oluşturacağına inanmıyor. Doğa ile tanışmadan, doğanın kıymetinin anlaşılamayacağını düşünüyor. Bu sebeple herkesin kendi elleriyle fidan dikmesi için organizasyonlar düzenliyor. Bu kapsamda Türkiye’deki tüm eğitim kurumlarını fidan dikimine götürmeyi planlıyor.

Yeşilcan Derneği, çoğu gencin dalından meyvenin nasıl toplandığını dahi bilmediği için, doğanın da kıymetini anlayamadığını düşünüyor. Bu sebeple amaçlarının “Daha çok fidan dikme” olmadığının altını çizen dernek yöneticileri, daha fazla öğrenciyle etkileşim kurmayı hedeflediklerini, daha fazla öğrenciyi doğayla tanıştırmak istediklerini ifade ediyor.

Yeşilcan Derneği internet adresi için tıklayınız

Tags: , , , , ,

ümit samimi on Kasım 14th, 2015
  1.  
  2. SQL> create table product(
  3.   2     product_id number(4)     not null,
  4.   3     product_description varchar2(20) not null
  5.   4  );
  6.  
  7. Table created.
  8.  
  9. SQL>
  10. SQL> insert into product values (1,'Java');
  11.  
  12. 1 row created.
  13.  
  14. SQL> insert into product values (2,'Oracle');
  15.  
  16. 1 row created.
  17.  
  18. SQL> insert into product values (3,'C#');
  19.  
  20. 1 row created.
  21.  
  22. SQL> insert into product values (4,'Javascript');
  23.  
  24. 1 row created.
  25.  
  26. SQL> insert into product values (5,'Python');
  27.  
  28. 1 row created.
  29.  
  30. SQL>
  31. SQL>
  32. SQL> DECLARE
  33.   2    refCursorValue SYS_REFCURSOR;
  34.   3    myRecord product%ROWTYPE;
  35.   4  BEGIN
  36.   5    OPEN refCursorValue FOR SELECT *from product;
  37.   6
  38.   7    LOOP
  39.   8      FETCH refCursorValue INTO myRecord;
  40.   9      EXIT WHEN refCursorValue%NOTFOUND;
  41.  10      dbms_output.put_line(to_char(myRecord.product_id)||' '||
  42.  11      rpad(myRecord.product_description,20,' '));
  43.  12    END LOOP;
  44.  13    CLOSE refCursorValue;
  45.  14  END;
  46.  15  /
  47. 1 Java
  48. 2 Oracle
  49. 3 C#
  50. 4 Javascript
  51. 5 Python
  52.  
  53. PL/SQL procedure successfully completed.
  54.  
  55. SQL>
  56. SQL> drop table product;
  57.  
  58. Table dropped.

Kaynak : http://www.java2s.com/Tutorial/Oracle/0500__Cursor/AnexampleofusingSYSREFCURSORforcursorvariableprocessing.htm

ümit samimi on Kasım 13th, 2015
  1. declare
  2.    type number_index_by_string is table of number index by varchar2(30);
  3.    type string_index_by_number is table of dept.loc%type index by pls_integer;
  4.  
  5.    v_country_codes  number_index_by_string;
  6.    v_countries      string_index_by_number;
  7. begin
  8.    v_country_codes('Ukraine') := 380;
  9.    v_country_codes('UAE')     := 971;
  10.    v_country_codes('UK')      := 44;
  11.    v_country_codes('USA')     := 1;
  12.  
  13.    v_countries(380)  := 'Ukraine';
  14.    v_countries(971)  := 'UAE';
  15.    v_countries(44)   := 'UK';
  16.    v_countries(1)    := 'USA';
  17. end;

Tags:

Merhaba arkadaşlar,

Eğer aldığınız hata ” javax.servlet.ServletException cannot be resolved to a type in spring web app ” bu ise, tahminen çözümü aşağıdaki gibidir.

Hatayı aldığınız projeye sağ tıklayıp, karşınıza çıkan menüden properties düğmesie tıklayın. Arından karşınıza çıkan tabloda, sol tarafta Targeted Runtimes ‘ı göreceksiniz. Onu açın. Devamında ise işaretli bir alan göreceksiniz. (Check box) İşaretleyin ve uygula deyin.

Sorunun çözüldüğünü göreceksiniz

Tags:

ümit samimi on Ağustos 23rd, 2015

Arkadaşlar Merhaba

Bugün Apache Maven Kurulumu yapacağız

Maven nedir?

Maven İbranice bir kelime olup, bilginin aküsü gibi bir anlam çağrıştırmaktadır.Proje bilgilerinin basit bir yolla yayınlanması ve çeşitli projeler üzerinde JAR paylaşılmasıdır.

Nasıl Kurulur ?
Öncelikle maven’ı indirmemiz gerekmektedir –> http://maven.apache.org/download.cgi

Maven için Sistem gereksinimleri ise,

JDK Maven 3.2 versiyonu için JDK 1.6 or üzeri, Maven 3.0/3.1
versiyonu için ise JDK 1.5 üzeri olan paketler tercih edilmelidir.
Memory minimum bir gereklilik belirtilmemiştir.
Disk Yaklaşık olarak Maven’in kurulumu için 10mb yeterli olacaktır.
Buna ek olarak sizin local Maven repository(yani yerel
Maven depolarınız) için Maven sizden bir disk alanı isteyecektir…
En azından 500mb bile bu kütüphaleri saklamak için
yeterli olacaktır.. Aslında tamamen sizin projenizin
büyüklüğüne bağlıdır.
Operating System minimum bir gereklilik belirtilmemiştir.

Windows’da kurmak için..

Yukarıda verdiğim link’ten indirdiğiniz zip dosyasına biri yer belirlemeniz gerekmektedir. Benim bilgisayarımda C:\Program Files\Java\apache-maven-3.2.3 klasörünün altına indirmiş olduğum apache-maven-3.2.3-bin.zip dosyasının içindekileri çıkardım.

Devamında ise Bilgisayarım/ Özellikle/ Gelişmiş Sistem Ayarları / Ortam(Enviroment) Değişkenler sekmesine geldim ve burada Yeni(new) düdğmesine basarak yeni değişken ekleyeceğim. Değişkenin (variable) adına M2_HOME Değişken Değerini yazıyorum ve bu değişkenin karşılığı olan değere de maven’ı yüklediğim lokasyonun bağlantı adresini yazıyorum. Benim bilgisayarımda : C:\Program Files\Java\apache-maven-3.2.3 , ben adres yolu olarak bunu verdim.

Daha sonra ok (tamam) düğmesine basıyoruz. Sonrsında bunu bağlantı yoluna(Path) tanıtmamız lazım.

Yine sistem değişkenleri kısmında Path değişkenini Düzenle(Edit) diyerek değişken değeri bölümüne ;%M2_HOME%\bin eklemeliyiz.. Böylelikle Maven’ı sistem değişkenlerine tanıtmış olacağız.

Burada dikkat etmemiz gereken en önemli husus ise daha önce JAVA_HOME’un tanıtılmış olmasıdır. Maven java ile çalışmaktadır..

Komut satırında mvn -version yazarak, çalışıp çalışmadığını görebilirsiniz..

Tags: , , ,

ümit samimi on Ağustos 7th, 2015

KURAL 1: “Karşına çıkan kişiler her kimse, doğru kişilerdir. Bunun anlamı şudur, hayatımızda kimse tesadüfen karşımıza çıkmaz. Karşımıza çıkan, etrafımızda olan herkesin bir nedeni vardır, ya bizi bir yere götürürler ya da bize bir şey öğretirler.”

KURAL 2: “Yaşanmış olan her ne ise, sadece yaşanabilecek olandır. Hiç bir şey, hem de hiç bir şey yaşadığımız şeyi değiştiremezdi. Yaşadığımızın içindeki en önemsiz saydığımız ayrıntıyı bile değiştiremeyiz. ‘Şöyle yapsaydım, böyle olacaktı’ gibi bir cümle yoktur. Hayır, ne yaşandıysa, yaşanması gereken, yaşanabilecek olandır, dersimizi alalım ve ilerleyelim diye. Her ne kadar zihnimiz ve egomuz bunu kabul etmek istemese de, hayatımızda karşılaştığımız her olay, mükemmeldir.”

KURAL 3: “İçinde başlangıç yapılan her an, doğru andır. Her şey doğru anda başlar, ne erken ne geç. Hayatımızda yeni bir şeyler olmasına hazırsak, o da başlamaya hazırdır.”

KURAL 4: “Bitmiş olan bir şey bitmiştir. Bu kadar basittir. Hayatımızda bir şey sona ererse, bu bizim gelişimimize hizmet eder. Bu yüzden serbest bırakmak, gitmesine izin vermek ve elde etmiş olduğun bu tecrübeyle ileriye doğru bakmak daha iyidir.”

Tags: