Sunucunuzdaki temp dosyanız dolduğu zaman, artık sunucunuzda barınan internet siteleri SESSION tutamaz hale geliyorlar. Sitenizin sorunsuz bir şekilde çalıştığını sanarken, SESSION veya COOKIE gerektiren işlemlerde siteniz hata vermeye başlar. Bunun sebebi ise ya sunucunuzda NGinx kurulu değildir yada temp klasörünü belli zaman aralıklarında otomatik olarak temizleyen tmpwatch adlı cron komutunuz düzgün çalışmıyordur.

Bu tür durumlarda iş başa düşer ve sunucunda yer alan temp klasörünü temizlersiniz. Bilmeden yazdığınız kod, bazen temp klasörünü de silmektedir. Temp klasörünü silince ise, "NGinx 500 Internal Server Error" hatası kaçınılmaz olacaktır. Temp klasörünün kendisini silmeseniz bile, bu klasörün içindeki "nginx_client" klasörünü sildiğiniz için bu sorundan kaçamazsınız. 



"NGinx 500 Internal Server Error" sorununu çözmek için 3 farklı işlem yapmamız gerekecektir.

1) Önce tmp klasörü oluşturulacak. Daha sonra da bu temp klaörünün içerisinde "nginx_client" klasörünü oluşturmamız gerek. Son olarak ise bu klasöre gerekli erişim izinlerini vereceğiz. Şimdi bu yazdıklarımı, konsol ekranından komut olarak nasıl yazacağınızı göstereyim. (Putty ile sunucunuzu komut ekrana bağlanmanız gerek. Daha sonrasında belirttiğim işlemleri yapmanız gerek.)



2) Üstteki adımları hallettikten sonra şimdi sıra geldi temp klasörünü otomatik olarak belli zaman aralıklarında temizleyecek olan cron komutunu yazmaya. Öncelikle, belirttiğim komutun daha önceden var oluğ olmadığını kontrol edelim. Komut ekranına



yazarak crontab komutlarını listeleyin. Listelenen komutlarda şu komutun olup olmadığını kontrol edin :



Eğer yoksa,


komutu ile



komutunu crontab dosyasına termianl üzerinden ekleyin ve dosyayı kaydederek çıkın.

3) Buraya kadar her şey tamam ise, geriye restart işlemleri kaldı. Aşağıdaki restart işlemlerini uyguladıktan sonra sorununuz çözülmüş olacaktır.



Putty ile server yöntemini konsol üzerinden yapma konusunda acemiyseniz, bu işlemleri yaparken dikkatli olmanızı veya bu tür işler hakkında bilgisi olan birinden yardım almanızı tavsiye ederim. Konuyla ilgili soru, görüş ve önerilerinizi aşağıdaki yorum formu aracılığıyla bana iletebilirsiniz.


Yazının devamını oku
Normal şartlarda domain uzantılı bir mail adresi alabilmek Blogger kullanıcıları için pek mümkün olmuyordu. Çünkü Blogger alt yapılı sitelerde host alma, kendi hostunu kullanma vs. gibi bir olay yok. Bunun için Google, kurumsal mail adresleri verse de bunun belli bir maliyeti var. Aynı şekilde diğer hosting şirketleri de sadece, kendilerinden bir host alınması karşılığında alan adı uzantılı mail adresi verebileceklerini belirtiyorlar.

Yandex Mail sayesinde herhangi bir host hesabına sahip olmadan, kendi sitenizin adını kullanarak bir mail adresine sahip olabiliyorsunuz. Bunun için yapmanız gereken tek şey ise, domaininizi Kurumsal Yandex'e onaylatmak.

Normal şartlarda  host sahibiyseniz, FTP ile domain doğrulaması kolaylıkla yapılabiliyor. Blogger sitelerde FTP ile dosya yükleme olayı olmadığı için, domain doğrulama işleminizi yapmak için domain hesabınıza giriş yaparak ufak bir ayar yapmanız gerekecek.

Benim sitemin domaini İsimtescil'den alınma olduğu için, ayarları İsimtescil üzerinden anlatacağım. Siz domaininizi farklı bir yerden almış olsanız bile yine aynı ayarları yaparak domain doğrulama işleminizi kolaylıkla yapabilirsiniz.

Olayı adım adım anlatacağım.

1) Öncelikle 1 adet Yandex Mail hesabınız olması gerekiyor. Eğer Yandex Mail hesabınız yoksa ise, https://mail.yandex.com.tr/ adresine girerek öncelikle kendinize Yandex uzantılı bir mail adresi alın. Yandex Mail adresiniz var ise, direkt 2. adıma geçin.

2) Yandex uzantılı mail adresinize yine aynı link üzerinden giriş yapın. Sisteme zaten giriş yapmış iseniz, https://kurum.yandex.com.tr/domains_add/ adresine tıklayın.

3) Karşınıza aşağıdaki gibi bir ekran gelecek. bu ekrana kendi domaininizi yazın. Örneğin ben blogkafem.net yazdım.



4) Domaininizin "Detaylı Yönetim" alanına girin. "Gelişmiş DNS" kısmından bir adet CNAME kaydı oluşturun. CNAME kaydını oluştururken, Yandex'in size 1. adımda vermiş olduğu bilgileri kullanarak bir CNAME kaydı oluşturun.

Yandex'in benim için verdiği CNAME bilgileri :



Yandex'in bana verdiği bilgilerle, CNAME bilgilerinin kaydını domain yönetim panelinden şu şekilde yaptım :
Ayarları kaydedin. Daha sonra "Alan Adının Sahibini Kontrol Et" butonuna tıklayın. Alan adı doğrulandı yazısını gördükten sonra diğer aşamaya geçebilirsiniz.

5) Yine aynı kısımdan bu sefer de MX kaydı ekleyin. MX kaydını, Yandex'in önerdiği şekilde yapmaya özen gösteriniz. Yani şu şekilde yapın, bakınız :

7) MX kaydını da oluşturduktan sonra "MX kayıtlarını kontrol et" butonu aracılığıyla ayarlarınızın gerçekleşip gerçekleşmediğini kontrol edin. Eğer ayarlarınız doğru ise karşınıza "Bulunan МХ kaydı: mx.yandex.net" yazılı bir ekran gelecektir. Bakınız :


Bu aşamayı da hallettikten sonra işlem tamamdır! Artık alan adı uzantınıza ait bir mail hesabı açabilirsiniz. Örneğin, istediginizbirisim@blogkafem.net vs. gibi. Mail hesabınıza ise şu adres üzerinden giriş yapabilirsiniz : mail.yandex.com.tr/for/[kendi domaininiz]

Örneğin Blogkafem için e-posta giriş adresi : mail.yandex.com.tr/for/blogkafem.net

Tebrikler, bir Blogger kullanıcısı olarak artık sizin de kendi site adınızın uzantısına sahip bir mail adresiniz var. Üstelik de hiçbir ekstra ücret ödemeden, Yandex güvencisine sahip bir mail hesabınız oluyor. Yandex'in bu hizmeti sayesinde Blogger kullanıcılarının yıllardır süre gelen alan adına mail açamama sorunu da son bulmuş oldu. Teşekkürler Yandex!

Benim anlatacaklarım bu kadar. Konu ile ilgili konu, istek, öneri veya görüşlerinizi aşağıdaki yorum formu aracılığıyla iletebilirsiniz.
Yazının devamını oku
CSS bilginiz varsa, resimlere border ekleme yöntemini zaten biliyorsunuzdur. Bu yazımızda ise bunun biraz daha ilerisine giderek iki farklı resimden birini çerçeve olarak ekleteceğiz, diğerini ise ana görsel olarak çerçeve resmi içerisine atacağız. Yani elde etmek istediğim sonuçlar şu tarzda şeyler olacak. Bakınız :



Gördüğünüz gibi görsellerden bir tanesi bulutun içerisinde bir diğeri ise bir tablonun içerisine konumlanmış durumda. Normal şartlarda internette "border image" olarak arama yaptığınız zaman, CSS'in border özelliğine nasıl resim ekleneceği çok basit bir şekilde anlatılmış. Bu yazıda, biz işi biraz daha ilerleterek relative ve absolute olayları ile CSS'in "border image" denen olayını daha profesyonel boyuta taşımış olacağız.

Benim yapmak istediğim resim şudur : 



Böyle bir resim için ise şu 2 görsele ihtiyacımız var :



Kodlar ise aşağıdak gibidir. Kodları bir html dosyası olarak kaydederseniz, sonucu kendiniz görebilirsiniz.



Ana class adını "main" olarak belirleyip bu "main" denen class'ın relative olmasını sağladık. Amaç, "image-container" denen ve aynı zamanda bizim çerçevemiz olan "div"e "absolute" özelliği vererek onu istediğimiz gibi harekt ettirebilmek. Aynı şekilde "img" tagına da absolute verip onu da "main" class'ı içine yerleştirip, bunların üst üste gelmesi sağlandı. Burada, "image-container" denen "div"in sagip olduğu z-index değerinin 5 olması ve buna karşılık resmi barındıran "img" tagının z-index değerinin "1" olması resme, çerçevenin içerisindeymiş gibi bir görüntü vermesini sağladı.

Olayın temel mantığı ise şudur. "image-container" adlı div'e belli bir yükseklik ve genişlik veriyoruz. Daha sonrasında ise buna border image özelliği ekliyoruz. Daha önceden genişlik ve yükseklik verildiği için, içi boş olan bir çerçevemiz artık hazır. Sonrasında ise bu çerçeve ile resmi üst üste getirip, z-index ile farklı derinlikler verince olay bitiyor. Yani resmimize çerçeve ekletmiş oluyoruz.

Buraya tıklayarak tamamını bilgisayarınıza indirebilirsiniz.

Konuyla ilgili yorumunuzu, sorunuzu veya varsa önerinizi, aşağıdaki yorum formu aracılığıyla bana iletebilirsiniz.
Yazının devamını oku
Bu hatanın sebebi bir çok şeye bağlanabilir. Mail ayarlarınızı doğru bir şekilde yaptığınıza eminseniz ve denediğin her türlü yönteme rağmen halen sorununuz devam ediyorsa, muhtemelen bu yazıda anlatacağım çözüm yöntemini henüz denemediniz.

Hatanın çözümünü anlatmaya geçmeden önce, birkaç hatırlatma yapmak istiyorum. Şayet mail gönderme işlemini Gmail uzantılı bir mail üzerinden göndermeye çalışıyorsanız şu iki yazıyı incelemenizi tavsiye ederim. Bakınız :
Laravel kullanıcısıysanız ayrıca, şu yazı da işinize yarayabilir.

Ufak bir hatırlatmalardan sonra, "StreamBuffer.php line 265: Connection could not be established with host smtp.gmail.com" hatasının çözüm yöntemini anlatmaya devam edebilirim. Üstte belirttiğim ilk iki linke tıklayıp o yazılara göz attıysanız eğer ve ayarlarınızla ilgili yanlışlarınızı düzelttiyseniz sorununuz büyük ihtimalle çözülecektir fakat; ayarlarınız doğru olduğu halde halen aynı hatayı alıyorsanız yazıyı okumaya devam edin.

Çözüm:
Hatanın çözüm yöntemi oldukça basit. Bunu 2 adımda göstereceğim.

1) Proje dosyanızda yer alan StreamBuffer.php adlı dosyayı açın. Dosyanın yolunu bilmiyorsanız, proje dosyanızı açtıktan sonra, Windows'un pencere üzerinde yer alan arama özelliğinden yararlanarak ufak bir arama yapabilirsiniz. 

streambuffer hatası ve çözümü laravel

Arama yapmak ile zaman kaybetmek istemezseniz,  projenizi açtıktan sonra şu adımları takip edin :
vendor -> swiftmailer -> swiftmailer -> lib -> classes -> Swift -> Transport
Son olarak Transport dosyasını açtığınızda, karşınıza gelecek olan dosyalar arasından StreamBuffer.php dosyasını bulun ve açın.

2) Hataya dikkat ederseniz 265. satırda bir sorun olduğu belirtilmiş. O halde StreamBuffer.php dosyasında 265. satıra gelin ve aşağıdaki görselde kırmızı daire içerisine aldığım iki kısmı 264 ve 265. satırlara görseldeki gibi ekleyin.


streambuffer hatası ve çözümü laravel

Son olarak dosyayı kaydedin ve projenizi test edin. "StreamBuffer.php line 265: Connection could not be established " hatasının gittiğini göreceksiniz. Bizzat deneyip, test ettiğim bir yöntemdir.
Yazının devamını oku
Android Studio kullanıyorsanız bu yazımda, Google Maps'i projenize eklemek için Google'ın bize inanılmaz derecede güzellikler sunduğunu göreceksiniz. Yazıdaki adımları uyguladığınız takdirde Android Studio sizin yerine hem XML uzantılılı activity dosyasını hem de MapsActivity.java dosyasını otomatik oluşturuyor. Üstelik de kodları bile içinde geliyor. Size ise sadece bir buton aracılığıyla MapActivity.java fonksiyonunu tetikleyerek activitiy_maps.xml sayfasını açmak ve haritayı görüntülemek kalıyor.

Öncelikle Android Studio'nun sağ tarafındaki kısımdan projeniz içinde yer alan app klasörüne sağ tıklayın  New -> Google -> Google Maps Activity adımlarını gerçekeştirin.

Bakınız :



Karşınıza şöyle bir ekran gelecek :



Bu ekranda değiştirmeniz gereken tek yer, üstte de görmüş olduğunuz üzere "Package" yazan kısım. Burada yazan "layout" ifadesini silip onun yerine, projenizdeki  build:gradle(Module: app) sayfasında yer alan "applicationId" ifadesinin karşılığı olan ifade buraya yazılacak. Mesela bende şu yazıyor, bakınız :



O halde layout kısmını silip o kısma benim "com.blogkafem.mobileuygulama" yazmam gerekiyor. Siz de Layout kısmına sizin projenizin "applicationId" ifadesini yazdıktan "Finish" butonuna tıklayın ve beklemeye geçin. İşlemler otomatik olarak başlayacaktır. İşlemlerin başladığını editörün en alt kısmından görebilirsiniz.

İşlemler başlamaz ise "Tools -> Android -> Sync Project with Gradle Files" adımlarını takip ederek işlemleri başlatabilirsiniz. İşlemler bittikten sonra karşınıza google_maps_api.xml sayfası otomatik olarak gelecektir. (Yan sekmede de MapsActivity.java dosyası da gelmiş olması lazım.) Şu şekilde;

 

google_maps_api.xml  dosyasının içinde üstten de göreceğiniz üzere kırmızı daire için aldığım uzun bir link var. Ona kopyalayın, tarayıcınıza yapıştırın ve "Enter" tuşuna tıklayın. Ardından karşınıza şöyle bir sayfa gelecek :




Bu sayfada "Continue" butonuna tıkladıktan sonra karşınıza şu sayfa gelecek :




Burada "Create API key" butonuna tıkadıktan sonra uygulama size bi API anahtarı verecek, şu şekilde :



Ne olur ne olmaz diye ben bu API anahtarının bir kısmını sansürledim gördüğünz gibi. Google size burada, yalnızca size özel bir API key veriyor. Bu Api key kodunu kopyalayıp, google_maps_api.xml dosyasında "YOUR_KEY_HERE" yazılı olan yere yapıştırmanız gerekiyor. Bakınız :



Tüm işlemler bu kadar! Geriye kalan tek şey uygulamayı çalıştırmak olacaktır fakat; uygulamayı çalıştırırken "The number of method references in a .dex file cannot exceed 64k" şeklinde başlayan bir hata ile karşı karşıya kalabilirsiniz. Çünkü Android, Google Maps gibi büyük kütüphaneleri projelerinizde kullanırken "Multidex" adı verilen bir özelliği kullanmamızı ister.

Siz bu yazıyı okuduğunuz için kendinizi şanslı hissetmelisiniz. Çünkü ben hem bahsettiğim hata ile ilgili hem de "Multidex özelliğinin kullanımı" ile ilgili daha önce detaylı bir şekilde anlatımlar yapmıştım. İlgili yazılara gitmek için;


Benim Android Studio'da Android Projesine Harita Ekleme işlemleri ile ilgili bahsedeceklerim bu kadar. Geriye sadece uygulamayı çalıştırmak kalıyor. Konuyla ilgili sormak istedikleriniz veya aklınıza takılan kısımlar varsa, aşağıdaki yorum formu aracılığıyla bana iletebilirsiniz. Elimden geldiğince yardımcı olmaya çalışırım.
Yazının devamını oku
Mail::send() fonksiyonunun kullanımına geçmeden önce Laravel'deki mail ayarlarınızın yapılmış olması gerekmektedir. Ben daha önceki yazımda Laravel'de Gmail uzantılı bir hesaptan nasıl mail gönderimi yapılacağını anlatmıştım.

Bakınız :   Laravel 5 İle Gmail'den Mail Gönderme Ayarlarının Yapımı

Farklı uzantılara sahip mail adreslerine sahipseniz ayarlarınızı Gmail için anlattığım ayarlarından yola çıkarak yapabilirsiniz.

laravel mail gönderimi, mail send


Mail::send() fonksiyonu çoğunlukla, Controller sınıflarında yer alan fonksiyonların içerisinde kullanılır. Örneğin şifremi unuttum uygulaması yapacaksınız. Bunun için 'sifremiUnuttum' adında, kendi yapmış olduğunuz bir fonksiyon aracılığıyla kullanıcının mail adresi bilgisini post metodu ile alırsınız. Daha sonrasında bu mail adresini Mail::send() fonksiyonuna ileterek, ilgili kişinin mail adresine şifresini göndermiş olursunuz.

Laravel'de hazır olarak gelen Mail::send() fonksiyonu şudur :

Mail::send('mail_sablonu',['icerik'=>"Hoşgeldiniz"],function($mesaj) use($eposta))
{
  $mesaj->to("$eposta")->subject("Blogkafem Hoşgeldin E-Postası");
});

Mail::send() fonksiyonundan ve aldığı parametrelerden bahsedelim. İlk parametreye dikkat ettiyseniz, Mail::send() fonksiyonu içerisinde mail _sablonu adlı bir kısım var. Bu kısım, bir blade sayfasının adıdır ve bu blade sayfası html kodlarından oluşan basit bir mail şablonudur.

resource klasörü içindeki view adlı klasor içine bir adet  mail_sablonu.blade.php sayfası açıp aşağıdaki kodları içine yapıştırın.




İşlem tamam, artık sizinde bir mail şablonunuz var. Devam edelim.

Mail::send() fonksiyonunun ikinci parametresi dizi alan bir parametredir. Kullanıcıya mail içerisinde göndermek istediğimiz tüm bilgileri bu parametre aracılığıyla yolluyoruz. Mesela ben dizi içerisine sadece "içerik" adında tek bir eleman ekledim, siz ihtiyacınıza göre tek bir dizi olmak koşuluyla bu dizinin içerisine istediğiniz kadar eleman ekleyebiliriz. Bu dizide yer alan tüm elemanları, mail_sablonu.blade.php sayfasının istediğiniz bir yerinde görüntületebilirsiniz.

['icerik'=>"Hoşgeldiniz"]

Dizinin elemamının indisi "icerik" ve bu indis "Hoşgeldiniz" mesajını tutuyor. Bu fonksiyon tetiklendiği zaman, şablon kısmında {{icerik}} olarak belirttiğim kısımda "Hoşgeldiniz" yazacaktır ve kullanıcının mail içeriğinde kullanıcı "Hoşgeldiniz" mesajını görecektir.

Not : Çift parantez içerisinde değişken yazma özelliği için Laravel 'form & html' kütüphanesini projenize kurmanız gerek. Şayet onu kurmak uğrak istemezseniz icerik dizisini {{icerik}} şeklinde göstermek yerine direkt olarak php tagları arasında, echo kullanarak dizinin içriğini şablonun body kısmına yazdırabilirsiniz.

3. parametre "function($mesaj) use($eposta)" kısmı yer alıyor.  $mesaj değişkenini fonksiyonun içerisinde kullanacağımız bir nesne olarak düşünebilirsiniz. Bu $mesaj nesnesi to() ve subject() gibi Laravel'de daha önceden tanımlanmış olan fonksiyonları kullanmamızı sağlıyor. use() kısmı ise, $mesaj nesnesinin çağırdığı bu fonksiyonların içerisine göndereceğimiz parametrelerin neler olduğunun tanımlandığı yerdir.

to() fonksiyonu parametre olarak mail adresi alır. Mail göndermek istediğiniz e-posta adresini işte bu to() fonksiyonu içerisine yazıyorsunuz.

subject() ifadesi, mailiniz karşı tarafın e-posta kutusuna düştüğü zaman, mailinizin başlık kısmında yazacak olan ifadedir.

Sonuç olarak karşı tarafa giden mail şöyle olacak;
Mail konu başlığı : Blogkafem Hoşgeldin E-Postası
Mail içeriği : Hoşgeldiniz

Konuyla ilgili sormak istedikleriniz veya aklınıza takılan kısımlar varsa, aşağıdaki yorum kısmı aracılığıyla bana iletebilirsiniz. Elimden geldiğince yardımcı olmaya çalışırım.

Yazının devamını oku
Laravel 5 ile mail uygulamasının nasıl yapılacağını anlatan bir çok site olmasına karşın, bu sitelerden farklı olarak farklı konu linklerine de bu konuda yer vererek, Laravel ile mail gönderimi konusunda yeterli bir döküman oluşturmayı planlıyorum. Bu yazıda temel ayarların nasıl yapılması gerektiğine değineceğim.




Laravel projenizdeki .env dosyasını açın. Bilgileri kendinize göre doldurun.

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=sizinmailadresiniz@gmail.com (bu kısma kendi gmail adresinizi yazın)
MAIL_PASSWORD=sizinsifreniz (bu kısma da gmail şifreninizi yazın)
MAIL_ENCRYPTION=tls

Tabii .env dosyasını bu şekilde yapmakla olay bitmiyor. Laravel projenizde yer alan config klasörü içindeki mail.php dosyanızın içeriğinde yer alan dizi elemanları şu şekilde olmalı :

return [
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.mailgun.com'),
'port' => env('MAIL_PORT',587),
'from' => ['address' => 'sizinmailadresiniz@gmail.com', 'name' => 'SitenizinAdı'],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => false,
];

Mail.php dosyanızdaki dizi elemanlarının yukarıdaki gibi olduğundan emin olun. Bu yazıda ilgili ayarların nasıl yapılacağını gösterdim. Bu anlatımlara rağmen halen mail gönderiminde sorun yaşıyorsanız, diğer yazımı incelemenizde fayda var.

Bakınız :  Mail Gönderiminde “Username and Password not accepted" Hatası ve Çözümü

Mail fonksiyonun nasıl kullanılması gerektiğini tam olarak bilmiyorsanız, bir sonraki yazımda da onu anlatacağım. Takipte kalın.

Yazının devamını oku
Hatalar (Errors) : 
1) Error:The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html

2) Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException

Çözüm : Yukarıdaki hataların her ikisiyle ben aynı anda karşı karşıya kalmıştım. Özellikle de ilk hata olan, "The number of method references in a .dex file cannot exceed 64k." hatasıyla karşılaştıysanız bu hatanın sebebi Android uygulamanız "Multidex" özelliğini kullanmıyor olmanızdan kaynaklanmaktadır. Multidex özelliğini projenize ekleyerek hatayı çözmek için buraya tıklayınız.

Solve : You must import multidex in your Android project. How to import multidex in any Android project? Click here for details.

multidex 64k limit

Multidex Nedir ve Ne İşe Yarar?

Android projelerinzde kullandığınız kütüphaneler belli bir boyutu aşıyorsa Multidex kullanmak zorundasınız. Aksi takdirde konu başlığında belirtilen hatayı almanız kaçınılmaz olacaktır. Örneğin Google'ın harita kütüphanesini kullanmak, Multidex kullanmayı gerektirir. Buda demek oluyor ki Google Map API'sini kullanarak, uygulamanıza bir harita yerleştirmek istiyorsanız Multidex'i kullanmak zorundasınız.

Multidex özelliğini projenize nasıl ekleyeceğinizi tüm detaylarıyla resimli olarak anlattım. Android projenize Multidex özelliğini eklemek için buraya tıklayınız.

Konuyla ilgili merak ettiğiniz detayları veya iletmek istedikleriniz yorum forumu aracalığıyla iletebilirsiniz.
Yazının devamını oku
Multidex özelliği, belli bir boyutu aşan android kütüphanelerinde kullanılması gereken bir özelliktir. Örneğin Google'ın harita kütüphanesi, Multidex kullanmayı gerektirir. Aksi takdirde uygulamanızı derlerken sürekli hata alırsınız. Buraya tıklayarak ilgili hatanın ne olduğunu görebilir ve multidex ile ilgili detaylı bilgi alabilirsiniz.

Multidex'i Android projenize ekleme işlemini Android Studio üzerinden anlatacağım. Android geliştirme ortamınız Android Studio ise şanslısınız ve yazıyı okumaya devam edin. Sabasit adımda Multidex'i android projenize eklemiş olacaksınız. Aşamaları adım adım takip edin.

1) Android Studio'nun sağ tarafındaki proje dosyalarınızın olduğu yerin alt kısımlarında "Gradle Scripts" kısmı var. Oradan build.gradle(Module:app) yazılı olan yere tıklayın. Bakınız :

build.gradle_module:app
Buradaki sayfada "defaultConfig " adında bir alan var ve parantezler içerisinde uygulamanıza ait bir takım veriler var. O verilerin hemen alt kısmına şunu ekleyin;

 multiDexEnabled true

Yine aynı sayfada "dependencies" adında bir alan var bu dependencies kısmının parantezleri arasına ise şunu ekleyin;

compile 'com.android.support:multidex:1.0.0'

Sonuç olarak, bir örnek vermem gerekirse build.gradle(Module:app)  dosyasına genel olarak bu belirttiğim iki kod parçası şu şekilde ekli olmalı :

Bu örnek gösterim developer.android.com sitesiden alınmıştır.
2) Bu adımda AndroidManifest.xml dosyasını açmanız gerekmektedir. Bu dosyada,


android:name="android.support.multidex.MultiDexApplication"

Android'in kendi sayfasından alınan örnek gösterim için bakınız :


Bunu ekledikten sonra hata alır gibi kırmızı bir uyarı alırsanız sakın aldırmayın. Dosyayı Ctrl+S tuş kombinasyonu ile kayıt edin ve 3. aşamaya geçin.

3) Üst menüden, Tools -> Android kısmına gelin ve "Sync Project with Gradle Files" yazılı yere tıklayın ve eklemiş olduğunuz paketlerin projenizle senkronize olmasını bekleyin. İşletm bittikten sonra projenizi derleyin ve multidex sorununuzun çözülmül olduğunu göreceksiniz.

Konu ile ilgili detaylı bilgilere ulaşmak için şu linke tıklayarak, https://developer.android.com/studio/build/multidex.html#dev-build Google'ın Android geliştiricileri için hazırlamış olduğu Multidex dökümanını incleyebilirsiniz.

Yazının devamını oku
Bir internet siteniz var içeriklerinizi tüm ziyaretçilerinizin paylaşması için bir adet Twitter paylaş butonu eklediniz. Kodsal olarak her türlü denemelerinize rağmen, Twitter paylaşım butonuna tıkladıktan sonra, internet sitenizin içeriğindeki Türkçe karakterler bozuk görünüyorsa sorun muhtemelen tarayıcınızdan kaynaklanmaktadır.

Birkaç gün önce bu tarz bir sorunlar karşılaşmıştım. Başlarda sorunun kendi yazdığım kodlardan kaynaklı olduğunu sanıyordum. Sonrasında Mozilla Firefox ve Google Chrome'dan Twitter paylaş butonunu test etmeyi denedim. Mozilla Firefox ile yaptığım paylaşım içerikleri sorunsuz bir şekilde görüntülenirken, Google Chrome'dan yapılan paylaşımlarda Türkçe karakterlerin bozuk bir karakter olarak göründüğünü farkettim. Sorun ise tamamen tarayıcınızın içeriği kodlama ayarlarından kaynaklanmaktadır.

Mozilla Firefox kullanıyorsanız ve paylaşım sırasında içeriğinizin bozuk olarak göründüğünden şikayetçiyseniz, üst kısımdaki "Görünüm -> Metin Kodlaması" kısmından, kodlama çeşidini 'Unicod' olarak ayarlamanız gerekmektedir.

mozilla firefox encode settings - ayarı

Google Chrome'da ise ayar yapmak için birkaç şeyi değiştirmeniz gerekiyor. Bunları ise adım adım göstereceğim. Öncelikle Chrome tarayıcınızdan 'Ayarlar'a girin.

1) Ayarlar'da Ara kutucuğuna "diller" yazın. Açılacak olan sayfada ise aşağıdaki görselde yer alan ayarları belirttiğim numaralara göre adım adım uygulayın.
chrome dil ve giriş ayarları


2) Bu sefer arama kutucuğuna "özelleştir" yazın. Gelecek ona sayfadan "Yazı tiplerini özelleştir..." yazılı butona tıklayın. Sonrasında ise açılacak olan pencerenin en alt kısmında yer alan "Kodlama" seçeneğini Unicode (UTF-8) olarak ayarlayın. Aşağıdaki görselden de görebilirsiniz. Bakınız :
chrome encode utf-8 encode (ayar)

Benim bu konuda anlatacaklarım bunlardı. Konuyla ilgili yazmak istediklerinizi aşağıdaki yorum formu aracılığıyla bana iletebilirsiniz. Kolay gelsin.
Yazının devamını oku
Tüm Android sürümlerinde veya Android Marshmallow'un tüm telefonlarında benzer sorun var mıdır bilemiyorum ama Lenovo'nun A7000 modelin bizzat bu sorunla karşılaştım ve bayağı bir internette araştırmama rağmen çözümünü bulamamıştım. Telefonu kurcalarken bu sorunun Bildirim ayarlarındaki "Kişi Yöneticisi" kısmından kaynaklandığını farkettim.


Cep telefonunuzdan "Ayarlar -> Bildirim Merkezi" kısmına girin. Daha sonra "Uygulama Bildirim Yönetimi" kısmına ve sonra üst kısımdan "Engellenenler" yazılı olana tıklayın. Buradan, "Bildirim Çubuğundaki Bildirimler" özelliğini aktif hale getirin. Bu işlemleri yaptıktan sonra artık cihazınızdan SMS bildirimlerini sorunsuz bir şekilde alıyor olacaksınız.

İşte hep bu. Konuyla ilgili yorumlarınızı veya aklınıza takılanları aşağıdaki yorum formu aracılığıyla bana iletebilirsiniz.

Yazının devamını oku
Herhangi bir programlama dili aracılığıyla bir mail uygulaması yapıyorsanız ve bu uygulamanızdaki gönderici mail adresi Gmail uzantılı bir mail adresi ise, bu tarz bir hata ile karşılaşmanız normaldir.

"Username and Password not accepted" ile başlayan ve
 "Expected response code 250 but got code \"535\", with message \"535-5.7.8 Username and Password not accepted. Learn more at\r\n535 5.7.8 http:\/\/support.google.com\/mail\/bin\/answer.py?answer=14257 ....."
şeklinde devam bu hatanın sebebi GMail'in güvenlik ayarlarından kaynaklanmaktadır. Yazdığınız kodların doğruluğundan kesinlike eminseniz, gönderici olarak belirlediğiniz Gmail hesabınızdaki şu 3 ayara dikkat etmeniz gerekmektedir.

1) Öncelikli gönderici olan Gmail hesabınızda oturum açın ve şu linke tıklayın : https://myaccount.google.com/security?pli=1#connectedapps Daha sonrasında ise açılacak olan sayfadan "Daha az güvenli uygulamalara izin ver" kısmını açık konuma getirmeniz gerekmektedir. Olur da siz bu yazıyı yıllar sonra görürseniz ve belirttiğim link çalışmazsa eğer, bahsettiğim ayara Google ayarlarından, "Oturum Açma ve Güvenlik" kısmındaki "Bağlı Uygulamalar ve Siteler" kısmından erişebilirsiniz.

daha az güvenli uygulamalara güven

2) Bir diğer adım ise Captcha özelliğini kapatmanız gerekiyor. Bunun için ise şu linke tıklamanız gerek : https://accounts.google.com/b/0/DisplayUnlockCaptcha Linke tıkladıktan sonra "Devam" butonuna tıklayın ve hesaba erişimi etkinleştirin.


captcha google hesabına erişim izni verme

3) İlk iki adımda bahsettiklerimi yaptıysanız, sorununuz çözülecektir. Eğer halen sorununuz çözülmediyse Google ayarlarından, "Oturum Açma ve Güvenlik" kısmına girin, sonrasında ise"Şifre ve oturum açma yöntemi" kısmından "İki Adımlı Doğrulama" seçeneğinin aktif olup olmadığına bakın. Bu seçeneğin aktif olması, sizin yazmış olduğunuz sistem üzerinden mail gönderimi yapmanızı engeller. Bunu çözmenin  2 farklı yolu. Bunlardan bir tanesi, "2 Adımlı Doğrulama" özelliğini kapatmaktır. Bu özelliği kapatmak istemiyorsanız eğer, yine bulunduğunuz sayfadan bir adet geçici uygulama şifresi oluşturmanız gerekmektedir. Bu uygulama şifresini, kendi yazmış olduğunuz uygulamanızdaki şifre kısmına yazdığınız taktirde, "2 Adımlı Doğrulama" özelliği aktif olsa bile, sorunsuz olarak sisteminiz üzerinden mail gönderimi yapabileceksiniz.
Yazının devamını oku
Custom Search

Kafemizde En Son Kim, Ne Demiş?

Kafeyi Dikizleyenler :)

Blog Istatistik

BLOGKAFEM.NET

© Copyright 2008-2017
Sitedeki yazıların her hakkı BLOGKAFEM.NET sitesine aittir.
Kopyalanması halinde lütfen kaynak gösteriniz.
DMCA.com Protection Status
Anasayfa | Hakkımızda | Bizden | Reklam | İletişim