Android channel programming
368 subscribers
201 photos
30 videos
37 files
93 links
📲📲 منبع کد بسیار مفیدی برای کسانی که به یادگیری برنامه‌نویسی علاقه‌مند هستند! 
آموزش‌های مفید و متنوع برای مبتدیان و حرفه‌ای‌ها 👩‍💻👨‍💻

🛡️ مدیر تلگرام: 
@sadegh_nordeh 
📞 تماس: 989117579134+

🚀 انجام پروژه‌های برنامه‌نویسی اندروید، iOS
Download Telegram
Android channel programming
تا فردا شب فرصت دارید.
خب یکی از دوستان نزدیک شده❤️
🔥2
اتمام کار واکنش به پیام با بهترین سرعت برای پروژه بازی
👏4💯1
دوستان فرصت کتابخونه یا کلاس به اتمام رسید
و یکی از دوستان تا ۸۰درصد پیاده کرده بودن.
و یه سورس به عنوان هدیه به ایشون تقدیم گردید.

کتابخانه اصلی نیز ارسال خواهد شد به کانال

@Basic4Android_SourceCode
1
مبارکتون باشه❤️
4
### انتخاب بین MongoDB و دیتابیس‌های دیگه

وقتی که می‌خوای یه پایگاه داده انتخاب کنی، این قضیه خیلی به نوع پروژه و محدودیت‌هایی که داری بستگی داره. MongoDB 🥭 یه پایگاه داده NoSQL هست که خیلی از توسعه‌دهنده‌ها توی پروژه‌های وب و سمت سرور ازش استفاده می‌کنن. نکته مثبتش اینه که برای ذخیره‌سازی اطلاعات نامنظم و پویا عالیه. مثلاً اگه می‌خوای داده‌هایی مثل ویدیو 🎥، عکس 📸 یا اطلاعات کاربر رو با دست خودت وارد کنی، این گزینه می‌تونه خیلی به کار بیاد!

ولی اگه پروژه‌ت نیاز به تراکنش‌های قابل اطمینان و سرعت بالا داره و به اصول ACID (یعنی Atomicity، Consistency، Isolation، و Durability) هم احتیاج داری، پس SQL مثل MySQL یا PostgreSQL می‌تونه انتخاب بهتری باشه. 🤔

### خلاصه خودمونی:
اگر فیلد داده‌هات نامنظم هست و می‌خوای سریع و راحت باهاش کار کنی، MongoDB رو انتخاب کن! 🏃‍♂️💨 ولی اگر داستان دیتاها جدی‌تره و نیاز به دقت و نظم داری، از SQL استفاده کن. 📊

### کد نمونه

#### MongoDB
به عنوان مثال، برای ذخیره یک کاربر با اطلاعات نام و سن:

const { MongoClient } = require('mongodb');

async function run() {
    const client = new MongoClient('mongodb://localhost:27017');
    await client.connect();
    const database = client.db('myDatabase');
    const users = database.collection('users');

    const newUser = { name: 'Ali', age: 25 };
    const result = await users.insertOne(newUser);
    console.log(`A new user was inserted with the id: ${result.insertedId}`);
}
run().catch(console.dir);

ببین چقدر آسونه!

#### MySQL
و برای MySQL، مثلاً برای ذخیره همون کاربر:

const mysql = require('mysql');

const connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'yourpassword',
    database: 'myDatabase'
});

connection.connect();

const newUser = { name: 'Ali', age: 25 };
connection.query('INSERT INTO users SET ?', newUser, (error, results) => {
    if (error) throw error;
    console.log(`A new user was inserted with the id: ${results.insertId}`);
});

connection.end();

👨‍💻 می‌دونی! به همین سادگی!

### جمع‌بندی
پس در نهایت، بسته به نیازهای پروژه‌ت می‌تونی یه انتخاب درست داشته باشی. امیدوارم این توضیحات و کدها بهت کمک کنه! اگر سوال دیگه‌ای داشتی حتماً بپرس! 😊

---

🌟 برای دسترسی به منابع و کدهای بیشتر، حتماً به کانال ما سر بزنید:
کانال ما در تلگرام 📲
🔥4
### نکته امنیتی مهم در PHP: پسوردها رو جدی بگیرید! 🔒

امروز می‌خوایم درباره‌ی امنیت توی برنامه‌های PHP صحبت کنیم. یکی از نکات خیلی مهم اینه که هرگز پسوردها رو به صورت متن ساده ذخیره نکنی! 😱 به جای این کار، باید از هاشینگ استفاده کنی.

#### چرا هاشینگ؟
ببین، وقتی کاربر یه پسورد میده، به جای این که همون پسورد رو ذخیره کنی، باید از تابع password_hash() استفاده کنی. اینطوری دیگه کسی نمی‌تونه به راحتی به پسورد کاربرها دسترسی پیدا کنه.

#### حالا چطور این کارو کنیم؟
وقتی کاربر پسوردشو وارد می‌کنه:

// گرفتن پسورد از کاربر
$password = $_POST['password'];

// هش کردن پسورد
$hashedPassword = password_hash($password, PASSWORD_DEFAULT);

// حالا hashedPassword رو ذخیره کن تو دیتابیس


#### چک کردن ورود:
حالا که کاربر می‌خواد وارد بشه، باید این پسورد هش شده رو چک کنی:

// گرفتن پسورد از کاربر
$inputPassword = $_POST['password'];

// بازیابی hashedPassword از دیتابیس
$hashedPasswordFromDB = '...'; // اینو از دیتابیس بگیر

// مقایسه پسورد ورودی با پسورد هش شده
if (password_verify($inputPassword, $hashedPasswordFromDB)) {
    // ورود کاربر موفقیت‌آمیز بود! 🎉
} else {
    // ورود ناموفق بود 😞
}


### نکات اضافی:
- حتماً از SSL/TLS برای ارتباط ایمن استفاده کن.
- ورودی کاربرا رو با Prepared Statements و SQL Injection محافظت کن.
- از تایید چند مرحله‌ای (2FA) استفاده کن که امنیت رو چند برابر می‌کنه! 🛡️

این کارا می‌تونه امنیت برنامت رو به شدت افزایش بده. اگر سوال دیگه‌ای داشتی یا نیاز به کمک داشتی، حتماً بپرس! 😊

---

🌟 برای دسترسی به منابع و کدهای بیشتر، حتماً به کانال ما سر بزنید:
کانال ما در تلگرام 📲
🔥3
خب اما یه مسابقه دیگه
و جایزه مسابقه هم
سورس شطرنج با سورس تخته نرد.



فردا مسابقه ارسال میشه
این راحته
بیایید نگاهی به DIP و پارامترهای x و y بیندازیم!

### DIP (Dependency Inversion Principle) 🤔
DIP شما را به استفاده از Abstractها (مثل Interfaceها) به‌جای وابستگی به کلاس‌های مشخص تشویق می‌کند تا کد شما راحت‌تر نگهداری شود. 🔄

مثال:
' تعریف Interface
Sub Process_Globals
    Type IShape
        Sub Area() As Double
    End Type
End Sub

' پیاده‌سازی کلاس مستطیل
Sub Class_Globals
    Private width As Double
    Private height As Double
End Sub

Public Sub Initialize(w As Double, h As Double)
    width = w
    height = h
End Sub

Public Sub Area() As Double
    Return width * height
End Sub

این مثال به شما امکان می‌دهد کلاس‌های دیگر (مثل دایره) را به سادگی اضافه کنید. 😎

### و حالا x و y 📊
فرض کنیم x و y مختصات یک دایره هستند. می‌توانیم از آن‌ها برای محاسبه مساحت دایره استفاده کنیم.

مثال:
' استفاده از پارامترهای x و y
Sub CalculateCircleArea(x As Double, y As Double) As Double
    Dim radius As Double = Sqrt((x * x) + (y * y))
    Return 3.14 * radius * radius ' مساحت دایره
End Sub

اینجا x و y به شعاع دایره کمک می‌کنند. 📏📐

### خلاصه 🎉
DIP کد شما را منعطف‌تر می‌کند و با استفاده از x و y می‌توانید مساحت اشکال مختلف را محاسبه کنید.



👉 کانال ما در تلگرام 🚀
2
امشب یه سورس بازی ارسال میشه که اصلا خوراک ادموب برای گوگل پلی و درامد دلاری😍😍
😍5
Private Sub CheckGameOver As Boolean
For i = 1 To game.Length - 1
If game(i).Tag = Null Then Return False
Next
Dim directions As Int = 0

If Right(False) Then directions = directions + 1
If Left(False) Then directions = directions + 1
If Up(False) Then directions = directions + 1
If Down(False) Then directions = directions + 1
Return directions < 4
End Sub



یه کد مرتب برای بررسی game over
2
This media is not supported in your browser
VIEW IN TELEGRAM
### و اما بازی 2048 🎮

شما در این سورس می‌توانید به راحتی با اضافه کردن عدد به لیست، به تعداد ماتریس اضافه کنید.

در این سورس، اندازه‌های زیر پیش‌فرض موجود است:

- ۳×۳ 🟩
- ۴×۴ 🟦
- ۵×۵ 🟨
- ۶×۶ 🟥
- ۸×۸

می‌توانید نسبت به سلیقه خودتان این اندازه‌ها را افزایش یا کاهش دهید. 🚀 
کلیه بخش‌ها از یک کلاس مشترک استفاده کرده‌اند و شامل:

- کدنویسی دیزاین سمت اکتیویتی 🖥️
- استفاده از کدهای بهینه ♻️
- ظاهری تمیز که به راحتی می‌توانید UI آن را تغییر دهید 🎨

جهت خرید، روی لینک زیر کلیک کنید: 
@خرید بازی 2048 

به کانال ما سر بزنید: 
@کانال ما

#2048p 
#game 
#b4a
1🎉1
وقتی توی کدات از
include "config.php" 

استفاده می‌کنی، باید به دقت توجه داشته باشی! اگر یک هکر کاربلد وجود داشته باشه، می‌تونه از طریق این کدها به اطلاعات مهم و حساس در فایل config.php دسترسی پیدا کنه. 🔒

برای افزایش امنیت، بهتره از require یا require_once استفاده کنی. این دو فرمان به این صورت عمل می‌کنند که اگر فایل مورد نظر رو پیدا نکنن، با خطا مواجه می‌شن و کدتون اجرا نمی‌شه تا این فایل رو پیدا کنن. اینکار هم امنیت کد شما رو بالا می‌بره. 🛡️💻

همچنین حواستون باشه که فایل config.php دسترسی مناسبی داشته باشه و تنها اطلاعات ضروری توش قرار بگیره. استفاده از روش‌هایی مانند توکن‌ها یا سایر راهکارهای امنیتی هم می‌تونه به افزایش محافظت از اطلاعات کمک کنه. مطمئن باش که این موارد رو رعایت کنی! 😉🔑

برای اطلاعات بیشتر و کدهای منبع، به کانال ما بپیوندید: کانال ما
👍1
چند تا نکته‌ی ساده درباره‌ی بهینه‌سازی کوئری‌ها در PHP و MySQL. این کار می‌تونه سرعت برنامه‌هاتون رو به طرز چشم‌گیری افزایش بده! 🚀

۱. SELECT 📊
برای انتخاب داده‌ها بهتره از ایندکس‌ها استفاده کنید و کوئری رو با LIMIT محدود کنید:

$query = "SELECT id, name, email FROM users WHERE status = ? ORDER BY created_at DESC LIMIT ?";


۲. UPDATE 🔄
برای به‌روزرسانی، سعی کنید شرط‌های خاصی بذارید تا فقط رکوردهای لازم رو تغییر بدید:

$query = "UPDATE users SET last_login = NOW() WHERE id = ? AND status = ?";


۳. INSERT
برای درج داده‌ها، می‌تونید از Prepared Statements استفاده کنید تا امنیت و سرعت رو بالا ببرید:

$query = "INSERT INTO users (name, email, status) VALUES (?, ?, ?)";


نکات کلی:
- ایندکس‌ها رو فراموش نکنید! 🏷️
- از Prepared Statements استفاده کنید! 🔒
- کوئری‌ها رو پروفایل کنید تا بهترین عملکرد رو داشته باشید! 📈
https://t.me/Basic4Android_SourceCode 🎉

موفق باشید! ✌️
4
دوستان عزیز! 🌟

خبر خوب برای شما! 🎮

ما می‌توانیم بازی یا اپلیکیشن شما را در کنسول‌های ۴ ساله قدیمی منتشر کنیم. اگر تمایل دارید، با ما در ارتباط باشید!

https://t.me/momtaziyankhass

منتظر همکاری‌هاتون هستیم! 💪😊
2