C/C++ Öğreniyorum { Gün 3 }

Konu sahibinin özgüvenine hayranım dürüst olmak gerekirse. Yani ben programlama öğrenirken, berbat kodumu insanlarla paylaşmamak için elimden geleni yapıyordum. GitHub'da privateladığım yığınla proje var. Game engine'e featureset eklediğimde bile onunla ilgili konu açmadan önce kodun okunurluğundan, reusabilitysinden falan emin olmak için defalarca kez üstünden geçmiştim. Ona rağmen özgüvenli özgüvenli şunu bunu yaptım diye yazamıyorum hala sağda solda. Onları ilk defa yazarken ne kadar zorlandığımı, ne kadar araştırma yaptığımı hatırlıyorum da...

Yanlış biliyor olabilirim falan düşüncesi hiç yok. Dümdüz "benim" diye atıyor adam mesajları.
Yani işlevi olduktan sonra benim için çok da sorun değil açıkçası, isterseniz buraya oyunlar için yazdığım hileleri atayim ne kadar kötü bir arayüzü olduğunu göreceksiniz ancak işlevi var, günümüz döneminde modernlikten çok işleve kayık bir durumda insanlar.

Moderatörün biosuna bakıcak olursan aynı durum var, responsive ui tasarlamış ve bio-post'u göndermiş, ben ilk java scriptimi yazarken kimse yoktu yanımda kendi - kendime heyecan yaşadım gurur duydum.

Burada önemli olan insanların sizin kodunuzu yorumlaması ve zaten amaç kodun yorumlanması değildi ve bir crackme idi.

Insanlar çeşitlere ayrılır, sizin yaptığınız şu, ben bu dosyanın cpp hali değilde executable halini atsaydım belki de 10 larca insan çok güzel olmuş güzel detaylı gibi bir yorum yapacaktı ancak source hali gibi attığımda övmekten çok eleştiriliyorum maalesef.

2 Gündür yaptığınız şey yorumlamak değil, ne kadar berbat olduğu konusunda eleştirmek, ben böyle mesajlar istemiyorum kusura bakmayın.

Ne kadar iyimser olursam olayim halen daha aynı mesajları atmaya devam ediyorsunuz, ben size istediğiniz gibi kanıtlarım güzel projelerimin olduğunu ama bunu anlamaya çalışmıyorsunuz, evet eskiden bir takım ahlaki sorunu olan mesajlarım olmuştur, kendini beğenen mesajlarım olmuştur ancak ortaokul 6. sınıfta Hileler dolayısıyla çok yüksek mevlalarda para kazanmış birisi olarak halihazırda herkes heyecanlanıyor, siz olsanız sizde aynı şekilde konuşursunuz.

Dediğim hiçbir şey yalan değil ve kanıtlanabilir şeyler, bundan sonraki postlarıma lütfen dalaşmayın veya benle herhangi bir etkileşimde bulunmayın.

Kodunuz yanlış anlamayın ama çok kötü.
Yani bu şekilde kendi kafanıza göre bir şeyler yaparak kodu öğrenemezsiniz.

Geçmiş konularınıza da baktım. Bilmediğiniz şeyi biliyor gibi söylemeniz ayrı komik olmuş.
Kodu doğru öğrenmeden burada "C++ öğreniyorum" diye konu açmanız ayrı ilginç.

Beğenmedim 👎
Hayır, farklı syntaxlarda eklenmiyor.

Çevrende kod yazan çok insan yok sanırım. Ben başlayayım;


Bad practice. C++'ta using namespace literallerin olduğu namespace'i include etmek dışında bad practicedir. Bunun arkasındaki sebebi şurada bulabilirsin;


Aynı işi iki kere yapmana sebep olan bir dizayn var elinde. Kod tekrarı yapıyorsun. DRY diye bir ilke var. Do Not Repeat Yourself. Kendini tekrar etme. Çünkü diğer kodda yapacağın değişikliği bir daha, bir daha her yerde düzeltmen gerekecek. Onun yerine stringleri bir çeşit mapte tutarsan böylece sadece dil değiştirmiş olursun. Kodun tüm akışını değil.

Çok fazla if else var. Kodun okunuşunu mahvediyor. Değişken isimlendirmeleri berbat. Tamamen rastgele. Constant stringlerin debug yada release fark etmeksizin getirilebildiğini bilmiyorsun gibi. Crackme uygulaması için uygun değil. Karakterlerden oluşan bir vektör çooooooook daha sağlıklı bir seçenek olur işi zorlaştırmak adına.
C++:
#include <iostream>
#include <windows.h>
#include <string>

using namespace std;

// Fonksiyon deklarasyonları
void printTitle();
void printMenu();
string getUserInput();
bool verifyPassword(const string& inputPass, const string& expectedPass);
void handleLanguageSelection(const string& language);

int main() {
    system("Color 9");
    printTitle();
    printMenu();

    string language = getUserInput();
    handleLanguageSelection(language);

    system("pause");
    return 0;
}

void printTitle() {
    cout << " ____                           _      _  __  _\n"
        << "| __ )   _   _   _ __    __ _  | | __ | |/ / (_)_ __     __ _\n"
        << "| _ \\  | | | | | '__|  / _` | | |/ / | ' /  | | | '_ \\   / _` |\n"
        << "| |_) | | |_| | | |    | (_| | | < | . \\  | | | | | | | (_| |\n"
        << "|____/ \\__, _| |_ | \\__, _| |_ | \\_\\ | _ | \\_\\ | _| |_| |_ | \\__, |\n"
        << "|___/                           |___/ \n\n\n";
}

void printMenu() {
    cout << "Hello, please select one of the languages below!\n"
        << " TR\n"
        << " EN\n\n";
}

string getUserInput() {
    string input;
    cin >> input;
    return input;
}

bool verifyPassword(const string& inputPass, const string& expectedPass) {
    return inputPass == expectedPass;
}

void handleLanguageSelection(const string& language) {
    string name, pass;
    string basePassword, completePassword;

    if (language == "TR") {
        system("Color 2");
        cout << "\nUSER INPUT >> " << language << "\n";
        cout << "\nIsminiz nedir? \n";
        name = getUserInput();
        cout << "\nUSER INPUT >> " << name << "\n";
        basePassword = "TR" + name;
        completePassword = basePassword + "3169haha";

        system("Color 6");
        cout << "Sifre nedir? \n";
        cout << "Sifre, basta sectiğiniz dillerden birini ve isminizi içermektedir !! \n";
        cout << "\n\nSifreyi giriniz : ";
        pass = getUserInput();

        if (verifyPassword(pass, completePassword)) {
            system("Color 2");
            cout << "\nTebrikler!! Bu uygulamayı kırmayı başardınız, eğer yeni biriyseniz bu müthiş bir şey!! \n";
        }
        else {
            system("Color 4");
            cout << "\nYanlış şifre )= Belki başka bir zaman! \n";
        }
    }
    else if (language == "EN") {
        system("Color 2");
        cout << "\nUSER INPUT >> " << language << "\n";
        cout << "\nWhat is your name? \n";
        name = getUserInput();
        cout << "\nUSER INPUT >> " << name << "\n";
        basePassword = "EN" + name;
        completePassword = basePassword + "3169haha";

        system("Color 6");
        cout << "What is the password? \n";
        cout << "Password includes the language you select and the name that you enter!!! \n";
        cout << "\n\nPlease enter the password : ";
        pass = getUserInput();

        if (verifyPassword(pass, completePassword)) {
            system("Color 2");
            cout << "\nYES, U DID IT! IF YOU ARE A BEGINNER THAT'S AWESOME! \n";
        }
        else {
            system("Color 4");
            cout << "\nWrong Password )= Maybe next time!\n";
        }
    }
    else {
        cout << "\nPlease select one of the languages (\"TR\" or \"EN\")\n";
    }
}

Buyrun, tekrar inceleyebilirsiniz.
 
Son düzenleyen: Moderatör:
Const stringlerini kullanmıyorum çünki aşırı bir işlevi yok diye düşünüyorum
Const string dediğim, string literaller. Tırnak içinde yazdıkların.
6. sınıfta Hileler
Yaşının küçük olduğunu zaten düşünüyordum ancak bu kadar küçük olduğunu düşünmemiştim. En azından lise 3 veya 4. sınıf civarısındır demiştim.
Yani işlevi olduktan sonra benim için çok da sorun değil açıkçası, isterseniz buraya oyunlar için yazdığım hileleri atayim ne kadar kötü bir arayüzü olduğunu göreceksiniz ancak işlevi var, günümüz döneminde modernlikten çok işleve kayık bir durumda insanlar.
Mevzu arayüz değil. Kod kalitesi. GitHub'a yükle bu projelerini, sonra eleştiri al. Eleştiri almak kötü bir şey değil. Sen eleştiri alamıyorsun Burak. İkinci gün konunda da yine üste çıkmaya çalıştın. Hakkını vereyim daha sonrasında benim C++ bilgimin aşağı kalmayacağını fark ettikten sonra daha normal ve uzlaşmaya yönelik mesajlar yazmaya başladın. Buradan sonra değiştiğini görürsem neden daha pozitif yaklaşmayayım.

Burada önemli olan insanların sizin kodunuzu yorumlaması ve zaten amaç kodun yorumlanması değildi ve bir crackme idi.

Insanlar çeşitlere ayrılır, sizin yaptığınız şu, ben bu dosyanın cpp hali değilde executable halini atsaydım belki de 10 larca insan çok güzel olmuş güzel detaylı gibi bir yorum yapacaktı ancak source hali gibi attığımda övmekten çok eleştiriliyorum maalesef.
Hayır, yine gelişirdi aynı gidişat. Ben gelir exe'yi VirusTotal'e atar, ardından bir de decompile eder bakardım ne yapmışsın diye. Geçenlerde böyle foruma virüs atmış birini yakaladık. Her seferinde kontrol etmek alışkanlık oldu artık. Linux'ta strings diye bir komut var. Windows karşılığını bilmiyorum. Binary dosyaların içerisinden string literalleri çekip getiriyor. Böylece istenmeyen bir path falan verdiysen bulabiliyoruz.

2 Gündür yaptığınız şey yorumlamak değil, ne kadar berbat olduğu konusunda eleştirmek, ben böyle mesajlar istemiyorum kusura bakmayın.
Daha önceki konulardan mimlisin Burak. Daha önce farklı konularda yanlış bilgi verdin, verdiğin yanlış bilgileri belirttiğimizde üste çıkmaya çalıştın. Asla hatanı kabul etmiyorsun. Yanlış yaptığını söylediğimizde en çok ben biliyorum diyorsun. Sonrasında da eleştirilince küstüm oynamıyorum diyorsun. Yapma abicim. Lütfen.
Ne kadar iyimser olursam olayim halen daha aynı mesajları atmaya devam ediyorsunuz, ben size istediğiniz gibi kanıtlarım güzel projelerimin olduğunu ama bunu anlamaya çalışmıyorsunuz, evet eskiden bir takım ahlaki sorunu olan mesajlarım olmuştur, kendini beğenen mesajlarım olmuştur ancak ortaokul 6. sınıfta Hileler dolayısıyla çok yüksek mevlalarda para kazanmış birisi olarak halihazırda herkes heyecanlanıyor, siz olsanız sizde aynı şekilde konuşursunuz.

Dediğim hiçbir şey yalan değil ve kanıtlanabilir şeyler, bundan sonraki postlarıma lütfen dalaşmayın veya benle herhangi bir etkileşimde bulunmayın.
GitHub'a yükleyip kanıtlayabilirsin. Bizde anlarız sen mi yazdın, başkası mı yazdı. İntihal kontrol programları var. Kodu hangi siteden aldığına kadar gösteriyor. Mevzu kendini kanıtlama mevzusu da değil. Yanlış bilgi verme mevzusu. Yanlış bilgi veriyorsun deyince ben biliyorum siz bilmiyorsunuz mevzusu. Hiç mi demiyorsun, "yahu koca forumda ki herkes aksini iddia ediyor, ben bir şeyleri yanlış biliyor olabilir miyim acaba" diye...

Senin yerindeyken de aynı şekilde konuşmadım, konuşmuyorum da.

Böyle bir mesajın olduğunu da hatırla isterim Burak;
1723931105596.png
 
Son düzenleme:
Const string dediğim, string literaller. Tırnak içinde yazdıkların.

Yaşının küçük olduğunu zaten düşünüyordum ancak bu kadar küçük olduğunu düşünmemiştim. En azından lise 3 veya 4. sınıf civarısındır demiştim.

Mevzu arayüz değil. Kod kalitesi. GitHub'a yükle bu projelerini, sonra eleştiri al. Eleştiri almak kötü bir şey değil. Sen eleştiri alamıyorsun Burak. İkinci gün konunda da yine üste çıkmaya çalıştın. Hakkını vereyim daha sonrasında benim C++ bilgimin aşağı kalmayacağını fark ettikten sonra daha normal ve uzlaşmaya yönelik mesajlar yazmaya başladın. Buradan sonra değiştiğini görürsem neden daha pozitif yaklaşmayayım.


Hayır, yine gelişirdi gidişat. Ben gelir exe'yi VirusTotal'e atar, ardından bir de decompile eder bakardım ne yapmışsın diye. Geçenlerde böyle foruma virüs atmış birini yakaladık. Her seferinde kontrol etmek alışkanlık oldu artık. Linux'ta strings diye bir komut var. Windows karşılığını bilmiyorum. Binary dosyaların içerisinden string literalleri çekip getiriyor. Böylece istenmeyen bir path falan verdiysen bulabiliyoruz.


Daha önceki konulardan mimlisin Burak. Daha önce farklı konularda yanlış bilgi verdin, verdiğin yanlış bilgileri belirttiğimizde üste çıkmaya çalıştın. Asla hatanı kabul etmiyorsun. Yanlış yaptığını söylediğimizde en çok ben biliyorum diyorsun. Sonrasında da eleştirilince küstüm oynamıyorum diyorsun. Yapma abicim. Lütfen.

GitHub'a yükleyip kanıtlayabilirsin. Bizde anlarız sen mi yazdın, başkası mı yazdı. İntihal kontrol programları var. Kodu hangi siteden aldığına kadar gösteriyor. Mevzu kendini kanıtlama mevzusu da değil. Yanlış bilgi verme mevzusu. Yanlış bilgi veriyorsun deyince ben biliyorum siz bilmiyorsunuz mevzusu. Hiç mi demiyorsun, "yahu koca forumda ki herkes aksini iddia ediyor, ben bir şeyleri yanlış biliyor olabilir miyim acaba" diye...

Senin yerindeyken de aynı şekilde konuşmadım, konuşmuyorum da.
9. Sınıfım şu anda ve ismim Burak, evet. Sende ismini söyleseydin daha memnun olurdum, ben hiçbir şekilde üste çıkmaya çalışmıyorum burada öyle bir amacım yok, sadece gelişimimi bir forum sitesinde yaymaya çalışıyorum heyecanımı atmak için. Geçmişte yapmışlığım olabilir üste çıkma çabam ancak C++ konsol uygulaması ile ilgili aşırı bir bilgim yok ve kimseden üstün olduğumu düşünmüyorum,

Dediğin programların ismi disassembler, IDA, Ninja gibi programlar var windows için, bende programı yazdıktan sonra kolayca anladım zaten şifreyi string halinde store ettiğim için ve düzelttim yukarıda ama ana mesajımı editlemedim.

Ida gibi programları assembly bilgin var ise kullanarak kolay bir şekilde uygulamaları crack edebiliyorsun, para vermeden girebiliyorsun ve bilgi çalabiliyorsun, assembly bilgim var o yüzden söyledim yukarıdakini yanlış anlama.

Insanların üstüne çok geliyorsun geçmişte ahlaki durumdan kötü mesajlar attığı için.
Evet belki dünyanın en bilgili, en iyi programmeri olmayabilirim ama, kendi dünyam çerçevesinde en iyisi benim, bu da en üste çıkma çabası gibi birşey değil, deneyimlerimden dolayı.

Iyi günler dilerim tekrardan.
- Burak

-- Bu arada sen kaç yaşındasın?
 
C++ konsol uygulaması ile ilgili aşırı bir bilgim yok ve kimseden üstün olduğumu düşünmüyorum,
Abicim hala kabul etmiyorsun bak. C++ bilgin yok direkt. C++ konsol ve GUI fark etmiyor. Bunu niye kabul edemiyorsun anlamıyorum. Hayır hata bende konuşmayı bu kadar uzatmamam lazımdı.
 
WoW, bu forumda programlama kategorisinde okuduğum en kaotik konulardan biriydi.
Öncelikle öz güvenli olmak iyi bir şey ancak bu kibre dönüşürse orada açan çiçekler de solar.
Madem öğrenme sürecinde kötü şeyler de yapabileceğiniz reddediyor ve gelen yorumlara çok profesyonelmişsiniz gibi yaklaşıyorsunuz;
Burada paylaşılan final kod hakkında biraz yorum yapma ihtiyacı hissediyorum.
1- Hobi hayatımda sıklıkla kullandığım bir dil ve ben bu dili kullanırken ve profesyonellerin yazdığı kodları incelerken fonk. İmzalarına ben burada fonk. Tanımladım diye yorum satırı koyan 1 kişi bile görmedim. Bunu kimin yaptığını aktif şekilde AI kullananlar çok iyi anlayacaktır. ( :) )

2- Global Namespace kullanımı öğrenirken kullanılabilir ancak dediğim gibi siz o kadar üstten bakıyorsunuz ki insanlara bu konuda da eleştireceğim.

3- Konsol uygulaması yazıp Windows spesifik yazmışsınız. Sorun mu olmayabilir ancak farkında olduğunuzu düşünmüyorum. :)

4- Şifreleri doğrudan hardcoded saklıyorsun.

5- Console renklendirmeleriniz Windows spesific

6- C gibi C++ yazıyorsun.

7- Const kulanmayı reddetmişsin ne alaka?


Gerçekten güzel ve uzun bir yazı yazmak istiyordum ancak gerçekten değmeyeceğini fark ettiğim için maddleri kısa kısa yazdım ve vazgeçtim. Eğer gerçekten öğrenmek istiyorsan bahaneler sunmak yerine hatalarını kabul etmelisin. Rengi bir class yapabilirsin. (C gibi C++ yazmışsın dediğim şey mesela bu) Renge ve işletim sistemine göre yapılacak aksiyonları tutan setColor tarzı bir fonksiyon yaratabilirsin.

C++:
// tekrardan kaçınabilirsin.

std::cout << (language == "TR"
 ? "\nTurkce bla bla bla \n"
 : "\nenglish bla bla bla\n");
Bu yazdığım bile doğru tercih olmayabilir dediğim gibi hobi olarak sık sık kullanıyorum.

Kötü kod yazıyor olmanın dil ile alakası yok. Tamamen programlama ve algoritma bilgisindeki vasatlıktan geliyor. İlk yazdığın kod çalıştırılabilir olma, okunabilir olma, verimlilik ve hata yönetimi konusunda tamamen vasat. Hatta vasat demek bile bir övgü olur. Ha sen yeni öğreniyorum çok pratiğim yok vb. cümleler kursaydın. O kod benim için dünya üzerindeki en iyi kod olacaktı bu da bilen ve öğretmeye çalışan kişilere olan yaklaşımının, ortamı ve sana olan davranışları nasıl etkilediğinin bir göstergesi olsun. Son yazdığın kodun da vasatlıktan son anda kurtulmuş ve bunu kurtaranın da sen olduğunu düşünmüyorum.
 
Bu yazdığım bile doğru tercih olmayabilir dediğim gibi hobi olarak sık sık kullanıyorum.
Birden fazla language key gerekeceği zaman kötü bir tercih oluyor ama eğer sadece çift dil seçeneği olacaksa ve asla değişmeyecekse kötü bir tercih değil.

Map olarak tutmak daha sağlıklı oluyor genelde. Daha da güzeli, dosyadan yüklemek. Ancak bu kadar basit bir uygulamada anlamsız olur onun implementasyonu. Map olarak daha iyi o yüzden.
 
Kodunuz yanlış anlamayın ama çok kötü.
Yani bu şekilde kendi kafanıza göre bir şeyler yaparak kodu öğrenemezsiniz.

Geçmiş konularınıza da baktım. Bilmediğiniz şeyi biliyor gibi söylemeniz ayrı komik olmuş.
Kodu doğru öğrenmeden burada "C++ öğreniyorum" diye konu açmanız ayrı ilginç.

Beğenmedim 👎
Kesinlikle size katılıyorum.
 
:D

Boşverin.


Selam dostum, ben yeni başlamadım bu dile sadece DLL uzantısından external yani konsol aplikasyonuna geçtim ancak tabiki de farklı syntaxlar olduğu için yeni sayılırım,

Öncelikle BU SITEYI kesinlikle öneririm, benim için çok sadık ve kaliteli bir site geldi,

C++ Doğrultusunda öğrenebileceğin şeyler sonsuz, evren gibi ancak sana öğretilen şeyler tabiki limitli olacak,

Her library ( kütüphane dosyasının ) farklı syntax'ları ve kullanımları var mesela detours.h en yaygın kütüphanelerden biri Imgui vs için.

İyi günler dilerim!
Önerdiğin site çok kötü ve aşırı yüzeysel anlatıyor onun dışında kütüphanenin farklı bir syntaxı yoktur. Onun dışında yazdığın kodun ne anlamı var acaba ?
Merhaba, yorumlamanız için teşşekkür ederim 💚
Std : : kullanmaya daha çok dikkat edeceğimi düşünüyorum.
If, else komutlarını aşırı kullanmamın sebebi onun dışında elimde pek alternatif yok ve Lua. dilinden dolayı if, else, hand gibi komutlara aşinayım bir sorun yarattığını da düşünmüyorum açıkçası.
Const stringlerini kullanmıyorum çünki aşırı bir işlevi yok diye düşünüyorum çünki yazdığım kod satırı sadece 200 paragraf oda en fazla, şimdilik tabiki de.
Değişken isimlendirmelerinden dolayı kusura bakmayın, normalde bu crack me'yi ben bir executable dosyası olarak atacaktım ama moderasyon izin vermedi.

Yorumlamanızdan dolayı dediğim gibi çok mutluyum 🤍

Ayrıca Console uygulamalarında ilgilisiniz diye düşünüyorum, eğer Visual Interface ya da Graphical user interface konusunda da ilgili iseniz, isterseniz di2scord üzerinden iletişim kurup partner olabilir, bir hile geliştiriyorum onun hakkında.
Eğer yanlış anlamadıysam bir oyun için mi hile geliştireceksiniz ? 3 gündür öğrenen biri nasıl hile geliştirecek seviyeye gelmiş olabilir ?
 
Birden fazla language key gerekeceği zaman kötü bir tercih oluyor ama eğer sadece çift dil seçeneği olacaksa ve asla değişmeyecekse kötü bir tercih değil.

Map olarak tutmak daha sağlıklı oluyor genelde. Daha da güzeli, dosyadan yüklemek. Ancak bu kadar basit bir uygulamada anlamsız olur onun implementasyonu. Map olarak daha iyi o yüzden.

Abi bende yeni yeni başlıyorum çok bir şey diyemeyeceğim. Lise 2'yim. Bizde abi ilk defa duyduğumuz şeyi hep doğru olarak kabul edebiliyoruz. Bu tamamen yanlış bir şey aslında ama bizim nesilmi diyeyim ya da bazı çocuklarda öyle şeyler olabiliyor. Pek aldırmasan olur. Aklımıza koyunca o hep doğruymuş gibi oluyor. Yani Instagram'dan bir video gördün ve bir arkadaşında bunun hakkında bir şey söylüyor ama sen o öyle değil böyle falan deyip inandırmaya çalışıyoruz. Ya da biliyormuş gibi yapıp insanların bize teşekkür etmesi hoşumuza gidiyor.
Böyle kişiler için özür dilerim sizden.

Biraz saçma oldu mesajım kusura bakma şimdiden. Bilgilendirmek istedim.

Ve W3s bence web öğrenmek için uygun bir site olabilir. Diğer dillerde pek iyi olduğunu düşünmüyorum.(bence)
 
Son düzenleme:
@TheAny yazılım mühendisliği okuyan ve bölümünün hakkını veren kelimenin tam anlamıyla bir "developer"dır. Developer'lar başkaları tarafından yazılan koda her zaman improvement/refactoring amacıyla bakarlar çünkü bu iş developer'lar için bir yaşam tarzı olmuştur. Seni eleştirerek kötü olduğunu söylemek istemiyor, gerçeklerle karşı karşıya kalarak daha iyi kod yazmanı sağlamaya çalışıyor. Adama artistlik yapmak yerine dediklerini dinlesen, soru sorsan ve yeni bir şeyler ögrensen senin için çok daha iyi olur Burak kardeşim.

Ben şimdi tıp ögrencisiyim, hocalarımı dinlemeden bildiğimi okursam neler olur hayal edebiliyor musun? Herkes alanını bir bilenden öğrenmeli. Gelişmeye her zaman açık olmalısın kardeşim, eminim ki sarf ettiğn emek sonucunda sen de çok iyi bir developer olacaksın. Sağlıcakla kalmanı dilerim.
 

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Yeni konular

Geri
Yukarı