Laravel Özel Helper Dosyası Oluşturmak

Laravel ile yine bir proje üzerinde çalışırken ihtiyaç gereği bir helper dosyası oluşturmam gerekti. Daha önce ihtiyaç olmamıştı ancak projenin büyüklüğü ve ihtiyaç doğrultusunda tekrarlayan şeyler için bazı global fonksiyonlar tanımlamak gerekiyor.

Benim kullanmak istediğin proje bir e-ticaret sistemiydi. Örnekle açıklayacak olursak ürünün bir gerçek fiyatı var ve birde kampanyalı fiyatı var. Ve bunu anasayfa, ürün detay sayfası, arama sayfası, sepet sayfaları derken bir çok yerde kullanmam gerekiyor. Koşullar ve düzenlemeler derken 15-20 satırlık bir blok oluşuyor ve çok kaba gözüküyor.

İşin aslı yazılımcıyız ve kısa bir yol ve sürdürebilirlik açısından temiz ve mantıklı da kod yazmak gerekiyor. Kısaca ürünün ID değerini fonksiyona göndersem direk bana ürün fiyatını ya da kampanyalı fiyatı kontrol edip uygun olan sonucu dönse ne güzel olurdu değil mi 🙂 Olmaz mı hadi öğrenelim o zaman.

Helper Dosyası Oluşturmak

Öncelikle araştırmalarıma göre genellikle helper dosyalarını App klasörünün altında topluyorlar. Ancak bu konuda özgürüz sanırım. Çünkü yolunu kendimiz belirliyoruz. Ama ben yine geleneği bozmadım ve App klasörünün altına bir Helpers klasörü açtım ve Helper.php adında bir dosya oluşturdum.

App Klasöründe Helpers klasörünün oluşturulması

Helper.php dosyasında istediğiniz kadar farklı işlevleri olan fonksiyonlar tanımlayabilirsiniz. İşlemler tamamlandığında tüm fonksiyonlara global olarak projenin her yerinden ulaşabiliyor olacaksınız. Mesela ürünlerinizin SEO url için kullandığınız slug oluşturan bir fonksiyon kullanabilirsiniz. Ya da Türkçe karakterleri değiştiren bir replace fonksiyonu. Bu örnekler çoğaltılabilir. Bu dosyaları yaptık ama proje de bunu nasıl göstereceğiz kısmına geldik.

Dosyaları oluşturduk ama Laravel bu helper dosyasını tanımıyor. Bir yere yolunu da tanımlamadık. Hemen yardımcı oluyorum.

Composer.json Düzenlemesi

Proje klasörümüzün kök dosyalarının bulunduğu yerde composer.json dosyasını bulup açıyoruz.

Proje dizininde composer.json dosyasının konumu

Açtığımız dosya da “autoload” kısmını bulup alt satıra bir kaç ekleme yaparak eklediğimiz klasör ve dosyanın isimleri neyse tam yolunu yazıyoruz. Eğer farklı bir konumda tanımlama yaptıysanız lütfen onu yazınız.

"files": [
   "app/Helpers/Helper.php"
]

Ekledikten sonra şu şekilde gözükmesi gerekiyor.

composer.json düzenlemesi

Son olarak projemizin komut satırına giderek şu komutu çalıştırarak Laravel’e dosyamızı tanıtmış oluyoruz.

composer dump-autoload

Bunu yaptıktan sonra artık Helper.php içerisindeki tüm fonksiyonlara projeni her yerinden (Controller, blade vb.) ulaşıp kullanmanız mümkün.

Faydalı olması dileğiyle.

Mutlu kodlamalar.

Laravel İyzico Sanal Pos Entegrasyonu

2020 başından beri Laravel ile proje geliştiriyorum. Daha önce Symfony ile tecrübem olduğu için aslında öğrenmesi çok zor olmadı. İçine dalınca da ister istemez öğreniliyor. Hızlı bir giriş yaptım diyebilirim. İrili ufaklı 4-5 proje çıkarttım sanırım. Son Laravel projesinde iyzico entegrasyonu yapıyordum bazı sorunlarla karşılaştım.

2 günümü harcayan, beni deli eden, bir ton Türkçe ve İngilizce forum ve siteyi hatim etmemi sağlayan bu entegrasyon nasıl yapılıyor bundan bahsedeceğim. Sanırım sizde zaten o yüzden bu yazıyı okuyorsunuz duygularınıza tercüman olmaya çalışıyorum 🙂

Öncelikle neredeyse tüm sıkıntılarla karşılaştım diyebilirim. Hepsini tek tek anlatacağım ki benim gibi sorun yaşayan arkadaşlar rahatlıkla durumu atlatabilsinler.

Karşılaştığım sorunların listesi

  • 419 Page Expired Hatasının çözümü
  • .env dosyasındaki eksik düzenlemeler
  • Callback sonrası oturum sonlanması sorunu (Auth)

Evet sırasıyla bunları başlıklar halinde irdeliyor olacağız. Ondan önce bir Laravel projenizin olduğunu varsayıyorum. İyzico entegrasyonuyla başlayalım.

İyzico Entegrasyonu

https://dev.iyzipay.com/tr Öncelikle bu adrese giderek neler yapmamız gerekiyor bir bakalım. Yapılması gereken tüm adımlar tek tek anlatılmış. Normalde bir başvuru yaptığınızda size gerçek bir API Key ve Secret Key veriliyor. O bilgiler canlı ortamda kullanmak için lazım oluyor. Ancak siz başvuru yapmadan da iyzico entegrasyonu yapabilirsiniz. Sandbox sayesinde bu adımı kolaylıkla gerçekleştirebiliyoruz. https://sandbox-merchant.iyzipay.com/ bu adresten hesap oluşturup kullanmaya başlayabilirsiniz. Zaten iyzico’nun kendi sitesinde de yönlendirmeler mevcut. Kısaca hesabı oluşturup giriş yaptıktan sonra ayarlar menüsünden API Key ve Secret Key oluşturup ödeme formuyla çekim yapmak için hazır oluyorsunuz.

Gelelim kodları indirmeye. Ben direk composer yüklemesi gerçekleştirdim. https://github.com/iyzico Github üzerinden PHP veya diğer kütüphaneler için ilgili kodları indirebilirsiniz. Ben PHP versiyonunu kurdum. Laravel içinde bir paket gözüküyor ancak zamanında farklı amaç için yazılmış ve artık desteklenmiyor. O yüzden PHP paketinden devam.

Kurulum

composer require iyzico/iyzipay-php

Yukarıdaki kodu terminalden çalıştırarak paketi direk Laravel’e ekleyebilirsiniz. Proje klasörününün içinde olmayı unutmayın 🙂

Kodların kullanımı için isterseniz iyzico dökümanından isterseniz de github üzerindeki örneklerden devam edebilirsiniz. Bir çok kullanım şekli mevcut. Biz hazır ödeme formunu kullanacağız. Bunuda isterseniz popup şeklinde, isterseniz de direk sayfaya gömülü olarak kullanmanız mümkün.

Kodların Yazımı

Kullanım kodlarını da adım adım anlatmak istiyorum daha açıklayıcı olur.

$options = new \Iyzipay\Options();
$options->setApiKey("your api key");
$options->setSecretKey("your secret key");
$options->setBaseUrl("https://sandbox-api.iyzipay.com");

Yukarıdaki kodlar için sandboxtan aldığınız API ve Secret keyleri yazıyoruz. Canlı ortama geçerseniz bunları size verilen kodlarla değiştirmeniz gerekecek ve https://sandbox-api.iyzipay.com yolunu https://api.iyzipay.com olarak güncellemeniz gerekecek.

$request = new \Iyzipay\Request\CreatePaymentRequest();
$request->setLocale(\Iyzipay\Model\Locale::TR);
$request->setConversationId("123456789");
$request->setPrice("1");
$request->setPaidPrice("1.2");
$request->setCurrency(\Iyzipay\Model\Currency::TL);
$request->setInstallment(1);
$request->setBasketId("B67832");
$request->setPaymentChannel(\Iyzipay\Model\PaymentChannel::WEB);
$request->setPaymentGroup(\Iyzipay\Model\PaymentGroup::PRODUCT);
$request->setCallbackUrl("url");

İyzico içerisinde de request ile başlayan bir obje var. Biz bunu Laravel ile gelen değerleri almak için kullanıyoruz. Karışmasın diye ya Laraveldekine ya da iyzico daki değişkenlerin isimlerini değiştirebilirsiniz. Bu bölüm çekim için ayarlanan detaylar mevcut. Gerekli açıklamaların hepsi iyzico dökümanında mevcut. Hangi alan neresi için kullanılıyor gibi. Tekrar tekrar yazmıyorum.


$buyer = new \Iyzipay\Model\Buyer();
$buyer->setId("BY789");
$buyer->setName("John");
$buyer->setSurname("Doe");
$buyer->setGsmNumber("+905350000000");
$buyer->setEmail("email@email.com");
$buyer->setIdentityNumber("74300864791");
$buyer->setLastLoginDate("2015-10-05 12:43:35");
$buyer->setRegistrationDate("2013-04-21 15:12:09");
$buyer->setRegistrationAddress("Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1");
$buyer->setIp("85.34.78.112");
$buyer->setCity("Istanbul");
$buyer->setCountry("Turkey");
$buyer->setZipCode("34732");
$request->setBuyer($buyer);

Buyer bölümü kullanıcı bilgilerinin ayarlandığı bölüm. Kişinin adı, soyadı, adresi ve diğer şahsi bilgileri burada tanımlanıyor.

$shippingAddress = new \Iyzipay\Model\Address();
$shippingAddress->setContactName("Jane Doe");
$shippingAddress->setCity("Istanbul");
$shippingAddress->setCountry("Turkey");
$shippingAddress->setAddress("Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1");
$shippingAddress->setZipCode("34742");
$request->setShippingAddress($shippingAddress);

$billingAddress = new \Iyzipay\Model\Address();
$billingAddress->setContactName("Jane Doe");
$billingAddress->setCity("Istanbul");
$billingAddress->setCountry("Turkey");
$billingAddress->setAddress("Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1");
$billingAddress->setZipCode("34742");
$request->setBillingAddress($billingAddress);

Teslimat adresi (Shipping) ve fatura adresi (Billing) bölümleride buradan tanımlama yapıyoruz. Çoğu zamana fatura adresi teslim adresiyle aynı olur. Ancak teslim yeri farklı bir adreste olduğu olabiliyor. Bilgileri eksiksiz doldurmanız önemli.

Ürünlerin Önemi

$basketItems = array();
$firstBasketItem = new \Iyzipay\Model\BasketItem();
$firstBasketItem->setId("BI101");
$firstBasketItem->setName("Binocular");
$firstBasketItem->setCategory1("Collectibles");
$firstBasketItem->setCategory2("Accessories");
$firstBasketItem->setItemType(\Iyzipay\Model\BasketItemType::PHYSICAL);
$firstBasketItem->setPrice("0.3");
$basketItems[0] = $firstBasketItem;

Yukarıdaki bölüm önemli noktalardan bir diğeri. Sattığınız ürünlerin bir listesini burada oluşturacaksınız. Tek bir ürün satıyorsanız sorun yok. Ancak birden fazla ürün varsa foreach ile dönerek alınan ürün kadar yukarıdaki bloktan oluşturmanız gerekiyor. $basketItems[0] = $firstBasketItem; yazan bölümde indis sıfırdan (0) başlıyor. Örneğin 3 ürün varsa 0,1,2 indislerini oluşturmanız gerekecek. Burası önemli demiştim çünkü hem kalem kalem bilgi vermemiz gerekiyor hemde satır ve toplam bazında iyzico çekilecek miktar eşleşiyor mu diye kontrol sağlıyor. Kendi kullandığım yapıyı altta paylaşıyorum.

$piece = 0;
            foreach($data['product'] as $product){

                $BasketItem = new BasketItem();
                $BasketItem->setId($product->id);
                $BasketItem->setName($product->product_name);
                $BasketItem->setCategory1($product->category->category_name);
                $BasketItem->setCategory2($product->category->category_name);
                $BasketItem->setItemType(\Iyzipay\Model\BasketItemType::PHYSICAL);
                $BasketItem->setPrice($product->price);
                $basketItems[$piece] = $BasketItem;

                $piece++;
            }

            $request->setBasketItems($basketItems);

piece değişkeni ile kaçıncı indis olduğunu tutuyorum. ve sırayla ürünleri indislere atarak en son basketItems a gönderiyorum. Kullandığım yapı böyle.

Son olarak formu ekrana basmamız için bir satırlık kodumuz kaldı.

$form = \Iyzipay\Model\CheckoutFormInitialize::create($request, $options)

Form değişkenini view ekranına gönderdikten sonra ekrana html olarak basarsanız form popup olarak karşınıza çıkıcaktır.

{!! $form !!}
iyzico entegrasyonu Popup Ödeme Ekranı

Ancak hemen altına birde iyziconun verdiği form div’ini eklerseniz ekrana gömümü olarak gelecektir.

{!! $form !!}
<div id="iyzipay-checkout-form" class="responsive my-5"></div>
iyzico entegrayonu Form Ödeme Ekranı

Bu sayede iyzico entegrasyonu tamamlanmış oluyor. Çekim yapmak için iyzico sitesindeki test kartlarını kullanabilirsiniz. Ay / Yıl ve CVC numarasını rastgele yazabilirsiniz sorun olmaz. yapılan başarılı çekimleri sandbox ekranından görebiliyorsunuz.

Şimdi gelelim Laravel tarafındaki sorunlara. Bu formu biz oluşturmadık. Tıklayınca bilgiler POST edilecek. Ama CSRF token olmayınca Laravel hata veriyor diyeceksiniz. Aynen öyle Şimdi bu sorunun çözümünü görelim.

419 Page Expired Hatasının Çözümü

Ödeme çekilecek ve sonuç dönecek sayfanın bağlantısını request bölümündeki callbackUrl değişkeninde belirliyoruz. Ödeme butonuna tıklayınca bu sayfaya gidecek ve 419 Expired hatası verecek. Niye formda CSRF token yok çünkü.

Bu sorunu aşmanın kolay bir yolu var. Laravel projenizin içindeki app/Http/Middleware/VerifyCsrfToken.php dosyasını açıyoruz.

protected $except = [
    "/siparis/kaydet",
];

Yukarıda bir örnek paylaştım. expect bölümüne callbackUrl de yazan url için csrf korumasını geçersiz kılıyoruz. Eğer değişken kullancaksanız * koyarak değişkenin yerini sağlayabilirsiniz. Birden fazla değişken varsa /*/* yaparak karşılık sağlayabilirsiniz.

protected $except = [
    "/siparis/kaydet/*/*",
];

Bunu yaptıktan sonra bu hatadan kurtuluyor olacaksınız.

.env ve session.php Dosyasındaki Eksik Düzenlemeler

Herkeste aynı sorun çıkmasa da ayarların düzgün yapılması olabilecek başka hatalarıda önlemede yardımcı olacaktır. .env dosyasında bulunmayan şu 2 satırıda ekleyip gerekli karşılıkları yazmanız faydanıza olacaktır.

SESSION_DOMAIN=site.com
SESSION_SECURE_COOKIE=true

Bu ayarların karşılığı config/session.php dosyasında mevcut. Session domainin karşılığı zaten belli. SESSION_SECURE_COOKIE ne işe yarıyor açıklamasına bakalım.

Bu seçeneği doğru olarak ayarladığınızda, oturum tanımlama bilgileri yalnızca tarayıcının HTTPS bağlantısı varsa sunucuya geri gönderilir. Bu, güvenli bir şekilde yapılamazsa çerezin size gönderilmesini önleyecektir.

Güvenli olacağını düşündüğüm için bu ayarı true yaptım. Bundan hariç olarak yine session.php dosyasında bu ayarın hemen altında bir ayar daha mevcut. http_only => true

Bu değerin true olarak ayarlanması, JavaScript'in tanımlama bilgisinin değerine erişmesini engeller ve tanımlama bilgisine yalnızca HTTP protokolü aracılığıyla erişilebilir. Gerekirse bu seçeneği değiştirmekte özgürsünüz.

Ben bu ayarı yanlış anlamdıysam arka plandaki JS tanımlamalarının sadece HTTP bağlantısı ile düzenleme erişimi verdiğini söylüyor. O yüzden false yaptım. HTTPS de bir sorun çıkmasın diye. Yanlışım varsa bilen söyleyebilir seve seve düzeltirim 🙂

Callback Sonrası Oturum Sonlanması Sorunu (Auth)

Burada karşılaştığım 2 tip hata var. İlkini hemen söyleyeyim. Hepimiz bunu yapıyoruz. Eğer dönüş adresindeki sayfada kullanıcı bilgilerinden herhangi birini auth->user->id ya da auth->user->name gibi bir yapı kullanarak almaya çalışmayın hata alırsınız.

Çünkü oturumla alakalı bir durum dönen sayfada mevcut değil. Sonuç dışarıdan geldiği için bu kontrolü yapamayız. Hangi oturumu kontrol edeceğiz ki? İlk başta bende denedim ama sonradan ben ne yapıyorum diyerek düzelttim. Bu sorunu bir önceki başlıkta callbackUrl içerine bir değişken koyarak kullanıcı bilgisinin id değerini göndererek sağlayabilirsiniz.

Diğer bir sorun ve beni en çok yoran sorun diyebilirim oturum sonlanması. Bilgilerin hepsi doğru, çekim yapılıyor, sonuç dönüyor ama mevcut oturum sonlanıyor. Tamam kullanıcı bilgilerini kullanamıyoruz ama giriş bilgilerimin kalması gerekiyor. Yani sağ üstte kullanıcı adım gözükmeli. Başka sayfaya geçtiğimde tekrar giriş yapmadan alışveriş yapabilmeliyim.

Bir çok araştırma yaptım sonunda sorunun çözümünü buldum. config/session.php dosyasında en sonra bulunan

'same_site' => 'none',

same_site => lax ayarını none ile değiştirerek durumu düzelttim. Üstünde bulunan açıklama şu.

Bu seçenek, siteler arası istekler gerçekleştiğinde tanımlama bilgilerinizin nasıl davranacağını belirler ve CSRF saldırılarını azaltmak için kullanılabilir. Varsayılan olarak, bu güvenli bir varsayılan değer olduğu için bu değeri "lax" olarak ayarlayacağız.
Desteklenen: "lax", "strict", "none", null

Özellikle Chrome tarayıcı kullananlar için bu ayarın lax olarak ayarlı olması durumu tam bir ızdırap konumuna taşıyacaktır ki yaşadığım şey buydu. Chrome güvenlik ayarlarındaki bazı ön tanımlı zorlamalar ile lax ayarıda birleşince çekim oluyor ancak oturum sonlanıyordu. Karşısındaki değeri none yapınca oturum sonlanması düzeldi ve derin bir nefes aldım diyebilirim.

Çekim Yapıldıktan Sonra

Her şey yolunda gider ve bir sorun çıkmazsa çekim yapıldıktan sonra birde yapılan çekimle alakalı bilgileri almak isteyeceksiniz. Onuda aşağıdaki şekilde sorgulayabilirsiniz.

$options = new \Iyzipay\Options();
$options->setApiKey("your api key");
$options->setSecretKey("your secret key");
$options->setBaseUrl("https://sandbox-api.iyzipay.com");
$request = new \Iyzipay\Request\RetrieveCheckoutFormRequest();
$request->setLocale(\Iyzipay\Model\Locale::TR);
$request->setConversationId($id);
$request->setToken($token);
$checkoutForm = \Iyzipay\Model\CheckoutForm::retrieve($request, $options);

Yaptığım entegrasyon ve karşılaştığım sorunların özeti bu şekilde diyebilirim. Şu an her şey yolunda ve rahatalıkla çekim yapılabiliyor. Umarım benim gibi sorun yaşayan birine faydalı olur ve gününü kurtarır.

Mutlu kodlamalar 🙂

Kitap Yazma Serüvenim Hakkında

Her insanın kendince bazı gerçekleştirmek istediği hayaller vardır. Benimde son zamanlarda bazı hayallerim gerçek olmaya başladı. Bunlardan biri de kitap yazmaktı. Sizlere kitap yazarken karşılaştıklarımı adım adım aktarmaya çalışacağım.

Yayın Evi

Zamanında attığım adımlar ve doğru arkadaşlıklar ile Unikod yayın evi ile yollarımız kesişti. Ve bir yolculuğa başladık. Burada belirtmem gereken yayın evinin sizi yönlendirmesi ve destek olması çok önemli. Barış Elitoğ ile oldukça keyifli ve güzel bir çalışma yaptık. Kendisine buradan yine ayrıca teşekkür ediyorum. Yayın evinden 2 adet kitap yazmamı istediler ve bu kitapları oluşturmak 5 ay sürdü. Edindiğim bir çok tecrübe ve öğrendiğim bir çok yeni şey oldu. Dediğim gibi yayın evinin desteği ve sizi yönlendirmesi işleri daha da kolaylaştırıyor. Eğer kitap yazmayı düşünüyorsanız şartları iyi değerlendirin derim. Ben güzel bir ekibe denk geldim.

Kitap Yazma Adımları

Öncelikle şunu belirtmeliyim ki kitap yazmak gerçekten emek isteyen ve bir o kadar da zor bir iş. Ama size kattığı fayda tartışılmaz. Belli bir süre içinde kitabı yetiştirmeniz gerekiyorsa disiplinli bir iş planı yapmanız gerekiyor. Ben özellikle her gün 5 word sayfası yazmaya çalışıyordum. 5 sayfa yazmadığım günlerde diğer gün veya o hafta tamamlamak için ekstradan zaman ayırıp sayfa sayısını tutturmaya çalışıyordum. Harf harf yazdığınız her şeyin bir araya geldiğini görmek gerçekten çok mutlu ediyor insanı. Özellikle birinin bu kaynaktan faydalanacak olması asıl hazzı yaşatan şey.

Yazım olayına gelecek olursak türkçe imla kurallarına ve doğru yazıma dikkat etmeniz gerekiyor. Web tasarım kitabıda olsa bir kurgu oluşturmak şart. Bazen bölümler arasında daha önce yaptığınız örneklere ya da başlıklara gönderme yapmanız gerekebiliyor. Bu da okurun dikkatini ve öğrenme durumunu etkiliyor bence.

Yazarken dikkat edilecek diğer bir nokta ise karşı tarafın ilk defa bu bilgileri öğreneceğini düşünerek yazmak gerekiyor. Herkesin anlayabileceği bir şekilde sade ve mesleki jargonları açıklayıcı bir şekilde aktarım yapmak gerekiyor. Yoksa okuyan kişi o bölümü anlamazsa sıkılır ve ilerleyemez.

Kitabı yazmak için belli bir bilgi birikiminizin olması gerekiyor bu tartışılmaz. Ancak bildiğiniz şeyin doğru olduğunun sağlamasını da yapmanız gerekiyor. Açıkçası yabancı ve türkçe kaynaklardan 2-3 tane belirleyip sağlamasını yaptıktan sonra yazmaya geçiyordum. Yani yazmadan önce araştırmaya yapıyordum. Bu esnada farklı şeylerde öğreniyordum. Ya da unuttuğum bazı şeyleri hatırlamış oluyordum. Gerçekten faydalı olduğunu söylemeliyim.

Bunların haricinde tüm sayfaları özenle hazırlamanız gerek. Ben her şeyi kendim hazırladım ve hiç bir şeyi koplaya yapıştır yapmadan kendi özgün dilimle yazdım. Örnekleri kendim oluşturdum ve resimlerini kendim kesip ekledim.

Bazen çok uğraştırıcı geliyordu ama kitap bittiğinde ben bile o eseri oluşturduğuma inanmıyordum. Barış beyle ilk görüşmemizde bana kitabı gösterip bu kalınlıkta bir kitap istiyorum deseydi muhtemelen kabul etmezdim 🙂 ama her şey bittikten sonra esere bakmak ve onu sizin yazdığınızı bilmeniz gerçekten çok güzel bir his.

Satış Sonrası

En keyifli yere geldik. Kitabı alan kişiler sizinle iletişime geçiyor ve kişi bundan fadalanıyorsa size dönüşüde güzel oluyor ve aktardıklarınızla bir şeyler öğrendiği için yine mutlu oluyorsunuz ve gurur duyuyorsunuz.

Ne mutlu ki bu mesleği sevdiriyor ve sevdirmek için çabalamaya devam etmek için güzel bir enerji buluyorsunuz kendinizde. Ben bu enerjiyi kaybetmeyi düşünmüyorum. 1 kişiye daha faydalı olmak için çalışmaya devam edicem.

Kitaplar

5 aylık bir çalışma sonucunda biri 280 sayfa HTML5 ve CSS3 kitabı diğeri 500 sayfa Web Tasarım Rehberi kitabını piyasaya sürdük. Kitap içerikleri hakkında bilgi için buraya tıklayarak kitaplarım bölümündeki sayfadan bilgi edinebilirsiniz.

Son olarak eserlere sahip olmak isterseniz aşağıdaki linklerden alım yapabilirsiniz.

https://www.kitapyurdu.com/kitap/web-tasarim-rehberi/536473.html&publisher_id=10281

https://www.kitapyurdu.com/kitap/html-5-css-3/536478.html&manufacturer_id=224812

Mutlu kodlamalar…

Bootstrap 5 Güncellemesi ve Yeni Gelişmeler

Herkese merhabalar, 

Bugün Bootstrap 5 güncellemesinden ve Bootstrap tarafındaki gelişmelerden bahsedeceğim. Youtube kanalımda bu gelişmelerle alakalı canlı yayın videoları gerçekleştiriyorum. Dilerseniz o yayınlara gitmek için buraya tıklayabilirsiniz. Bootstrap hakkındaki gelişmeleri kendi resmi blogundan takip edip inceliyorum ve  gelişmeleri blog dan aktarılan kadarıyla sizlere ulaştırıyorum. Resmi Bootstrap bloguna gitmek için buraya tıklayabilirsiniz. 

Çıkış zamanı ilk zamanlar belli olmayan Bootstrap 5 için artık ilk sinyaller ve neredeyse çıkış tarihinin kesinleştiğini söyleyebiliriz. Aşağıdaki resimde gözüktüğü üzere daha önceki sürümlerin ve yeni gelecek sürüm için belirli tarihler arasında destek süreleri gibi bilgiler gözüküyor.

Bilenleriniz vardır belki 3 sürümü uzun bir süre bizimle kaldı ve 4.senesinde 4 versiyonu yayına alınmıştı. Yukarıdaki resim için biraz daha açıklama yapmak gerekirse artık geliştirme yapılmayacak sürüm için yani Bootstrap ekibi o sürümü emekli yapmak istedikten sonra 2 bölümden oluşan 6 aylık bekmele süresine girecek. İlk 6 aylık bölümde güncelleme almaya devam edecek olan o sürüm, sonraki 6 aylık dilimde sadece güvenlik ve dokümantasyon güncellemeleri alacak.

Yapılan açıklamayla birlikte artık 3 sürümü için herhangi bir güncelleme ve yenileme gelmeyeceği kesinleşti. 4 sürümü içince yeniliklerin bittiğini ve sadece dokümantasyon ve güvenlik güncellemelerinin alacağı ikinci 6 aylık dönemde olduğunu söyleyelim. 5 sürümü için çalışmalar devam ediyor. Yukarıdaki resimdende gördüğümüz üzere 5 sürümü 2020’nin ilk çeyreğinde bizi selamlayacak gibi duruyor. 5 sürümü için şu an bilinen js alt yapısında değişiklikler olacağı. Kendimce çok sık kullanılan ve Bootstrap içinde olmayan eklentilerin ve grid yapısında daha esnek kullanımın olacağı sınıfların gelmesini bekliyorum.

Blog üstünden bu bilgilendirmenin yapılması bence çok iyi olmuş. Çünkü Bootstrap kullanan bir çok orta ve büyük ölçekli proje var. Verilen desteğe göre proje sahipleri ileriye dönük planlarını oluşturup buna göre planlama yapabilecekler. 

Yeni gelişmeleri sabırsızlıkla bekliyorum. Yine gelişmeler oldukça buradan sizlere ulaştırıyor olacağım.

İyi kodlamalar…

Merhaba Dünya (Sürpriz İçerikli)

Herkese merhabalar,

Blog tarafında yazılar yazmaya ve eğitimlerimi, projelerimi ve diğer tüm gelişmeleri buradan yazılı olarak sizlere aktarmaya çalışıcam. Aslında geç kalmış bir Merhaba Dünya yazısı bu. Kısaca sizleri selamlıyor yazılı olarakta sizlere ulaşmaktan mutluluk duyuyorum. 

Şimdi tasarım ve program yazan bir adamsın bu site sana yakışıyor mu ? daha güzel bir şeyler çıkardı yahu senden diyenleriniz olabilir. İlerleyen zamanlarda daha da geliştirmeyi planlıyorum. İçerik ve yazı bakımından, kategori ve farklı noktalara değinen tarzıyla farklı bir konsept denemeye çalışıcam. Bu platformda da yanımda olursanız memnuniyet duyarım.

Şimdi ilk olmayan merhaba yazımıza özel sizlere Udemy üstünden kurs hediye etmek istiyorum. Bakalım kimler bunu fark edip ücretsiz (20 adet ) kursa sahip olacaklar 🙂 

Ücretsiz kurs için buna eğer ben bu yazıyı geç gördüm kuponu kaçırdım diyorsanız da üzülmeyin indirimli olarak ta 25 tl ye buna tıklayarak sahip olabilirsiz.

Ayrıca diğer platformlardan ve mail listesine abone olarak bu tarz sürprizlerden ve diğer gelişmelerden haberdar olabilirsiniz.

Başka bir yazıda görüşmek üzere.

Hoşça kalın…

JivoChat ile Müşterilerize Daha Kolay Ulaşın…

Bugün benimde kullandığım bir uygulamadan bahsetmek istiyorum. JivoChat… 

Peki nedir bu JivoChat ? Neden kullanmalıyız ? Ya da kullanırsak bize faydası ne olur ? 
Kısaca özelliklerinden bahsedelim. Öncelikle web sitesi üzerinden 360 derece canlı destek sistemi olarak kendilerini tanımlıyorlar. Müşterilerinize ve üyelerinizle anlık olarak mesajlaşma ve dosya paylaşımı yapmanız mümkün. Ana amacı bu. 2 tip kullanım türü mevcut. 

Temel Sürüm ve Profesyonel Sürüm.

Temel sürümde sınırsız web sitesine entegrasyon, mobil uygulamara erişim ve 7/24 destek mevcut. Ayrıca sohbet aracı için 20 dilde ayarlama yapmak mümkün.

Profesyonel sürüm için biraz daha ek özellikler mevcut. Yukardakilere ek olarak raporlamalarda ek özellikler, hatırlatıcılar, otomatik tetiklenen mesajlar, çoklu sohbet, departmanlara göre temsilci atama, çeviri desteği, ziyaretçi takibi vb. bir çok özellik mevcut. 

Temel sürümü ücretsiz olarak süresiz olarak 5 temsilciye kadar kullanabilirsiniz. Profesyonel sürüm ise aylık şu an 64.50 TL.

Başka ne gibi özellikleri var peki ? 

JivoChat uygulaması sohbet ekranı


Geniş bir kitleye sahipseniz ve herkese ayrı yerden cevap vermek sorun oluyorsa JivoChat burada imdadınıza yetişiyor. Web sitenizden, Facebook sayfanızdan, Mailden, Telegram dan ve Viber üzerinden bağlantı kurarak tek bir noktada mesajlarınızı toplayabilir ve cevaplayabilirsiniz. Yakında WhatsApp içinde bağlantı kurmak için çalışmalar yapıldığını biliyorum.

Tüm platformlar için mobil uygulamaları ve uyumlu web siteleri şuanda aktif olarak çalışıyor. Destek üzerinden talepte bulunduğunuzda da hızlı bir şekilde size cevap dönüyorlar. 

Ayrıca isterseniz JivoChat ile Satış ortaklığı yaparak gelir bile elde edebiliyorsunuz. Sizin referans linkinizle kayıt olan kişiler lisans satın aldıklarında %30 gibi bir komisyona sahip oluyorsunuz.

Dilerseniz benim referans linkim üzerinden kayıt olup ücretli veya ücretsiz sürümünü kullanabilirsiniz.
<a href=\”https://www.jivochat.com.tr?partner_id=19632&pricelist_id=27&lang=tr\”>Kayıt için tıklayın</a>

Başka bir yazıda görüşmek üzere.

Freelance (Serbest) Çalışmak

Okuduğumuz okuldan itibaren hep güzel meslekler ve kaliteli meslekler seçmek için yarışıyoruz. Daha prestijli bir iş, daha yüksek gelirli bir iş, geleceği olan bir iş bunlar gibi bir çok sebep ve tabiki sevdiğimiz bir işi yapmak adına birer meslek ediniyoruz. Arada bu mesleğe giden yolda neler yaşadığımızı aktarmaya gerek yok sanırım.

Çünkü orada da yaptığımız seçimler sonucunda aslında az önce saydığım sebeplerim harmanlanmış haliyle bu mesleği seçiyoruz. Hangi meslekte olursa olsun bir düzen var. Mesai saati dediğimiz, para kazanmak için belirlenen saatler içerisinde bir yere gidip para kazanmaya uğraştığımız zaman dilimi…

Düşününce garip geliyor değil mi ? her gün aynı şeyi yapmak, her gün aynı yere gitmek. Bunlar geçimimizi sağlamak için uymamız gereken kurallar.

Peki birazda çalışma türlerine değinelim.

Tam zamanlı çalışma, Yarı zamanlı çalışma, freelance (Serbest zamanlı) çalışma. Neredeyse tüm insanlık tam zamanlı çalışmakla meşgul. Yarı zamanlı yani part time dediğimiz genelde öğrencilerin ekstra gelir elde etmek istediği çalışma türü diye biliyoruz ama illa ki öğrenci olmak zorunda da değiller, asıl konumuz olan freelance çalışmak. Yani serbest zamanlı.

Peki bu çalışma türü gerçekten tam zamanlı çalışan birine göre daha rahat bir çalışma ortamı mı sunuyor? Para kazanmak bu çalışma türünde mümkün mü ? Yıllarca tam zamanlı çalışan biri bu türe geçerse ayak uydurabilir mi ? Size bunları biraz açıklamaya ve edindiğim tecrübelerden sizlere bişeyler aktarmaya çalışacağım.

İlk sorumuzu cevaplamak gerekirse evet rahat. Yani her meslek türü için geçerli bir çalışma türü değil ancak, işinizi bilgisayar üzerinden ya da iş yerinde olmadan tamamlayabiliyorsanız aynı motivasyonla işi tamamlayabiliyorsanız bence daha rahat bir çalışma sistemi. Tabiiki işlerinizi yetiştirmek koşuluyla.

Para kazanmak mümkün mü diye sormuştuk ?

Evet mümkün. Ancak bir önceki maddeyi yani işleri yetiştirmek koşuluyla mümkün. Tam zamanlı çalışmaya alışan biri bu çalışma sistemiyle çalışabilir mi dedik ? Bundan sonrasını işe biraz kendimi katarak anlatmak istiyorum. Bende yıllardır tam zamanlı çalışan biriyim. Son 1 senedir haftada 3 gün sigortalı olarak part time, geri kalan günlerde ise freelance olarak çalışıyorum. İlk başta bu sisteme alışmak insanı boşluğa düşürüyor. Tatil gibi hissettiğiniz o freelance çalıştığınız günler adapte olmanızı engelleyen bir çok şeyle beraber ölüp gidiyor. Aynı disiplini tam zamanlı çalışır gibi sağlamanız gerekiyor. 

Freelance işin en güzel tarafı esnek çalışma saatleri. yani bir kalıba girmenize gerek yok. Altını çizerek tekrar söylüyorum aynı disiplin ve işi bitirme dürtüsüyle çalışırsanız sorun yok. Önemli olan işin zamanında yetişmesi. Geri kalan süre de ne zaman isterseniz o zaman çalışabilirsiniz. Bende öyle yapıyorum. Bazen 1 gün 10 saat çalışıyorum tabi bu belirli aralıklarla, Bazen gün geliyor 3 saat çalışıyorum. Tamamen bana kalmış.

Risk var mı elbetteki var. Kendi işinizi bu formata çevirmek istiyorsanız hatta şirketleşip bu şekilde bireysel olarak serbest çalışmak istiyorsanız riske açık olun. Para geç gelebilir. Yaptığınız iş iptal olabilir. Parayı iade etmek zorunda kaldığınız durumlar olabilir. İş askıya alınabilir. Bunlar her işletmede olan şeyler. Siz önceden ilgilenmiyordunuz artık bunlarla da ilgileniyorsunuz.

İlerleyen zamanlarda bu çalışma sistemi çokça artacak. Gelecekte çoğu insan hiç işe gitmeden sadece bilgisayarları ile veya farklı bir şekilde işler yapıp para kazanacak. Hatta bu tarz işler küçük çapta olduğu için herkes belkide 2-3 farklı şekilde iş yapacak. Bunlara şimdiden hazırlıklı olun. Teknolojinin gelişmesiyle birlikte dünyamız ve alışkanlıklarımızda değişiyor ve farklılaşıyor.

Son olarak bu çalışma türüyle çalışmak istiyor ve buna psikolojik ve maddi olarak hazırım diyorsanız,

Sizlere başarılar diliyorum. Güzel işler başarmanız dileğiyle.  

Çevre Edinmek

Etrafımızda bizimle birlikte yaşayan bizim tanıdığımız ve tanımadığımız binlerce hatta milyonlarca insan var. Günlük ilişkilerimizde ailemiz, arkadaşlarımız ve geniş çevremizle beraber konuşuruz selamlaşırız haberleşiriz.Günlük rutin işlerimizde hayatımızı sürdürüp gidiyoruz. Kimimiz okula gidiyoruz. Kimimiz işe. Kimimiz evde çalışıyor. Kimimiz çok farklı yerlerde.

Bizim tanıdığımız ve yeni tanıyacağımız insanlar bizim çevremizi oluşturuyor. Çevreniz ne kadar genişse ve ne kadar seviliyorsanız o kadar olumlu sonuçlar alıyorsunuz. Bu herhangi bir iş için o kişiden bir rica da olabilir yada aradığınız her hangi bir şey için daha hızlı sonuçlar alabilirsiniz. İyi ilişkiler her zaman güzel sonuçlar doğurur. Aslında bahsetmek istediğim konu insan biriktirmek. Ne kadar çok insan biriktirirseniz o kadar güzel ve olumlu sonuçlar almanız mümkün oluyor.

Bunu iş hayatında da yaşayabilirsiniz yada düğün dernek olduğu zamanlarda cemiyetin ne kadar kalabalık olduğundan da karşılaştırma yapabilirsiniz.

Peki insan biriktirmek ya da çevre edinmek bize neler kazandırabilir ? Neden çevre yapmalıyız ? 100 kişi tanımakla 1000 kişi tanımak arasında ne farklar olabilir. Şimdi genel manada bundan bahsettik gelin bunu iş hayatına taşıyalım.

Her hangi bir şey ürettiğinizi var sayalım. Bu somut bir şeyde olabilir soyut bir şey de. Bunu ilk ailenizle ve yakın çevrenizle paylaşıp onların onayına sunuyoruz.Tepkiler olumlu olursa devam ediyoruz. İş para kazanmaya geldiğinde çevrenin işte burada çok önemli payı oluyor. İş hayatında buna network de deniyor. Network ü geniş olan insanlar başarılı insanlardır. Yada networkleri geniş olduğu için mi başarılar acaba. Bunu sizlerinde bir düşünmesini istiyorum. 

Ürettiğimiz her neyse bunu satmaya, pazarlamaya kalktığımızda reklam yapmamız gerekir. Çevrenizde ürettiğiniz şeye değer veren ne kadar insan varsa onlar zaten sizin reklamınızı yapar. En iyi reklam ağızdan tavsiye yoluyla yapılan reklamdır. En basit örnekte hiç birimiz dişçiye doktora giderken gazeteye yada internete bakmıyoruz. Çevremizdeki insanlardan tavsiyeler isteyip de gidiyoruz. Bunun gibi bir çok örnek sıralandırabiliriz. 

İş sadece para kazanma olayıda değil. Farklı kişilerle farklı konular paylaşıyoruz. O kişiler ya bizim hayatımıza dokunuyor yada biz onların hayatına dokunuyoruz. Maddi yada manevi olarak hayatın bir noktasında kesişiyor yollarımız. Bende daha önceki konular olan ortak çalışma ve girişken biri olmak için zamanında adımlar attığımı söylemiştim. Benimde kendime ait hatrı sayılır bir çevrem var. Çevremi genişletmemde elbetteki faydalarını görmeye başladım ve görmeye devam edicem. Demiştim ya olay sadece maddi değil. Manevi bir çok şey de var. Küçük bir örnek veriyim. 

Aradan yıllar geçse bile zamanında iyi anlaştığınız bir hocanızı 8 sene sonra gördüğünüzde bile oda sizi gördüğüne mutlu olup hala bir şeyler paylaşabiliyorsanız bence en güzel çevrelerden birine sahipsiniz demektir. Çevrenizi nasıl oluşturacağınız ve ne kadar insan biriktireceğiniz sizin elinizde. 

Çevrenizi oluştururken işe yaramaz dediğiniz kişiler bile bazen sizin için neye lazım olacağını bilemezsiniz. Dedim ya hayat bir noktada bizi ayırır bir noktada birleştirebilir.

Güzel ve mutlu bir çevreniz olması dileğiyle.

Proje Fiyatlandırma

Hepimiz belli bir yaşa geldikten sonra iş hayatına atılıyoruz ve hayatımızı idame ettirebilmek için para kazanmak zorunda kalıyoruz. Yada hayat bizi buna itiyor diyebiliriz. Öncelikle temel ihtiyaçlarımızı karşılamak için çalışıyoruz. Barınma, yeme, içme, giyinme gibi. Daha sonra özel ihtiyaçlarımız ve isteklerimiz için, daha kaliteli, daha sağlıklı ve daha iyi şartlarda yaşamak için…

Hepimizin kendi çalıştığı sektöre, konuma ve tecrübeye göre kazandığı miktarlar değişebiliyor. Bazen az ücrete çalışsak bile çalışmaya devam ettiğimiz oluyor. Nedeni ise ilk başta saydığım temel ihtiyaçlarımızı karşılamak. Peki biz bugün bunlardan değil biraz daha bizim sektöre özel bizim kendi mesleğimizle ve dışarıya yaptığımızı yada ürettiğimiz projelerle alakalı fiyat etiketi nasıl oluşturmalıyız, projelerimizi nasıl fiyatlandırmalıyız bundan bahsedeceğim. Daha doğrusu kendi bildiğim ve uyguladığım yöntemleri ve düşünceleri sizlerle paylaşıcam.

Öncelikle her şey emekle başlıyor. Yaptığınız iş her ne olursa olsun içinde emek var. Küçük yada büyük… Bunu heba etmek yada ucuza satmak veya pazarlamak haksızlık olur. Tabi haddinden fazla ve yüksek fiyatlar koymakta yine haksızlık olur. Peki o zaman nasıl fiyatlandırma yapabiliriz. Kriterlerimiz ne olmalı ?

Verdiğiniz emeği siz biliyorsunuz. Bizim sektörde genelde adam saat ücreti olarak hesaplanan bir tür var. Yurtdışında oldukça sık kullanılıyor.Tabii biz buna daha hazır değiliz ama kullananlar mevcut. Belli bir kişinin 1 saat için alacağı miktar ile çalışacağı saat toplamına göre hesaplanıyor. Bu mesela bir kriter eğer projeleriniz bu şekilde fiyatlandırmak isterseniz bunu kullanabilirsiniz. Ancak müşteri için bu pek mantıklı gelmiyor. Bu durumu suistimal edip süreyi uzatıp fiyatı arttıran kişiler yüzünden pek yanaşmıyorlar. Çünkü kontrol etme imkanları pek yok projede aksaklık oldu demek  ve süreyi uzatmak çok basit. Belli projeler için belli fiyatlar biçmeniz sizler için daha mantıklı olacaktır. Projeleriniz için kafanızda o yıl için belirli fiyatlandırmanız olsun. Web tasarım bu kadar, dinamik istenirse şu kadar, responsive tasarım bu kadar gibi.

Siz ne iş yapıyorsanız ona göre fiyatlandırma yapın. Sonra yeni yıl geldiğinde herkesin yaptığı gibi fiyatlarınıza zam yapın ama fazla insafsız olayın. Çok ucuz fiyatta vermeyin araştırma yapın. İnternetten başka firmalardan bu işi yapan kişilerden teklifler alıp ve kendi bulunduğunuz konuma göre fiyatlandırmayı yapabilirsiniz. Çok ucuz verip piyasanın değerimi düşürenler yüzünden işimizi küçük gören çok kişi oluyor. 

İşi bilgisayardan yapınca 1 tuşa basınca proje ortaya çıkacak sananlar var. Dediğim gibi emeğinizi karşı tarafa yansıtmanız ve karşı tarafa verdiği paranın karşılığını aldığını da hissettirmeniz gerekiyor. Onun içinde size önerim olabilir. Yaptığınız iş için küçükte olsa bir miktar kapora isteyin. Bedava iş hiç bir zaman yapmayın. Müşterilerden proje bitsin veririz diyende çok. Yazılımcılardan abi sen parayı gönder ben projeyi bitirip teslim edicem diyende çok. Bu şekilde kesinlikle çalışmayın.

Projeyi kademelere bölün. doğal olarak parayıda. Diyelim ki 4 aylık bir proje teklifi verdiniz. Fiyatta anlaştınız ve kaporanızı aldınız. 1 aylık dönemlerin sonunda iş planına sadık kalarak yaptığınız işi müşteriye onaylatarak devam edin ve paranın bir kısmını isteyin. Bir sonraki ay yine aynı şekilde bunu sürürün ve proje bitene kadar bu şekilde devam edin. Bu hem müşterinin güvenini sağlam tutar hemde sizin prestijinizi ve kazancınızı korur. Bu temeli sağlarsanız müşteri sizden memnun kalır ve sizi önermeye başlar. Bu şekilde reklamınızıda bedava yapmış olursunuz. 

Eğer yapabiliyorsanız şahıs şirketi kurarak kişilere daha resmi bir yapıdan erişip güven konusunda biraz daha sağlam adım atabilirsiniz. Yada geçen hafta ki konumuz olan proje bazlı çalışan kişi yada kurumlarla ortaklık yaparak da gelir elde edebilirsiniz.

Siz siz olun kesinlikle dürüst ve adaletli çalışın. Kendi haklarınızı ve müşterinizin haklarını koruyacak en iyi yöntemleri belirleyip devam edin.Unutmayın hiç bir emek boşa değildir. Karşılığını bir gün fazlasıyla kesinlikle alacaksınız.

Güzel projeler yazmanız ve güzel kazançlar sağlamanız dileğiyle.

Hoşçakalın…

Ortaklık

Her insan küçükten beri bir mesleğin hayalini kuruyor. Çocukken hep sorarlar büyüyünce ne olacaksın diye. O zaman çocuk halimizle gönlümüzde ne yatıyorsa onu seçiyoruz.Daha sonra tercihlerimiz bizi bir noktaya getiriyor ve bir meslek seçmek için durumunda kalıyoruz. Bu belki çok önceden belirlediğimiz ve istediğimiz bir meslek oluyor yada ona yakın veya hiç tahmin etmediğimiz bir iş bile seçebiliyoruz.

Peki çalışacağımız işi bulduk diyelim. İşimizi de severek yapıyoruz. Her mesleğin kendine has zorlukları ve dönemeçleri var. Bizim mesleğimizde de belirli zorluklar elbetteki mevcut. Biraz geriye gidecek olursak, çoğumuzun aklında ya da hayalinde bir iş kurma fikri vardır. Bu iş fikrini gerçekleştirebilenler bazen bunları paylaşmak istemezler. İnsan oğlu ürettiği bir şeyi veya fikri paylaşmak istemeyebilir. Yada bizim sektörümüzde kendi yazdığı bir projeyi başkalarına açmak, başkalarıyla paylaşmak ilk başlarda biraz zor oluyor.

Zamanında bende hocalar proje verirdi tek başıma o projeyi yapmak isterdim. Sadece bana ait olmalıydı diye düşünüyordum. Sonra sonra bir şeylerin tek başına olamayacağını anlayınca biraz daha ortak iş yapma konusunda adım atmaya başladım.

Neden ortak olmalıyız sizce ?

Bir insan her şeyin altından tek başına kalkabilir mi ? Küçük ve sürdürülebilir olana kadar elbette bunu başarabilir. Peki iş bizim boyumuzu aştığı zaman ne yapmamız gerekiyor? Tabii ki ortaklık.

Ortaklık yapın ama bunu sevdiğiniz güvendiğiniz anlaşabildiğiniz kişilerle yapın. Ortaklıktan kastım gidip şirket kurup ortak olun demiyorum, ortak iş yapmaktan, yardım almaktan ve size yol gösterecek kişilerle bağ kurmaktan bahsediyorum. Çünkü ortak size destek olur, size moral verir, sizin inandığınız şeye inandığı için sizin yanınızdadır, yanlışınızı gösterir, farklı açıdan bakmanızı ve düşünmenizi sağlar.

Peki işin içine para girdiğinde ne olacak ? 

Burası tamamen size kalmış ne şekilde nasıl ortaklık yaptığınızı siz belirleyin. Ancak bizim sektörde tek başınıza bir işin altından kalkamıyorsanız ortak çalışmayı kesinlikle düşünün. Daha doğrusu işin içine para girince aç gözlü olmayın, paylaşmayı bilin. Unutmayın ki bir şeyin yüzde ellisi hiç bir şeyin yüzde yüzünden daha iyidir. Bende uzun süredir projeler ve eğitimler oluşturuyorum. Bir çok kişiyle ortak iş yapıyorum.

Bu bizim hem bağlarımızı, bilgilerimizi, çevremizi geliştiriyor hemde para kazanmamızı sağlıyor. İyi ilişkiler kurmak her zaman size artı sağlar. Unutmayınki bu ortaklık sadece iş hayatında yok, ortak bir çok şeyi paylaştığımız durum ve insanlar var. Bunlara ailemiz, eşimiz, arkadaşlarımız ve çevremizde dahil.

Unutmayın ki birlikten kuvvet doğar. Güzel arkadaşlıklar ve ortaklıklar kurmanız dileğiyle.

Hoşçakalın…