গিট্ বাংলা টিউটোরিয়াল : গিট্ হলো ভার্সন কন্ট্রোল সিস্টেম।


গিট্ স্টেপ বাই স্টেপ : প্রথমে গিট্ ডাউনলোড করে ইনস্টল করতে হবে। এবার যে ফোল্ডার এ কাজ করবো সেই ফোল্ডার এ গিয়ে রাইট বাটন ক্লিক করে গিট্ bash here ক্লিক করলে টার্মিনাল ওপেন হবে এবার নিচের মতো করে কাজ করতে হবে.
১. গিট্ কনফিগার করা : প্রথমে গিট্ কনফিগার করতে হবে।
git config –global user.name “olee “
git config –global user.email “olee @gmail.com”
২. লোকাল রিপোজিটরি খোলার জন্য :
git init Demo
এখানে demo হলো রিপোজিটরি নাম
৩. গিট্ ক্লোন করতে : git clone URL
৪. গিট্ অ্যাড এর মাদ্ধমে untrack ফাইল স্ট্র্যাজিং এরিয়া তে নিয়ে যাওয়া : git add Filename অথবা সব ফাইল স্ট্র্যাজিং এরিয়া তে নিয়ে যাওয়ার জন্য git add*
৫. কোনো ভার্সন কমিট এর মাদ্ধমে সেভ করা : git commit -m ” Commit Message”
৬. গিট্ এর স্টেটাস জানার জন্য :git status
৭. লোকাল রিপোজিটরি হতে রিমোট রিপোজিটরি তে ফাইল পুশ বা আপলোড করা : git push origin master এটার মাদ্ধমে মাস্টার ব্রাঞ্চ এ যা চেঞ্জ দরকার তা সেন্ড করবে এই কম্যান্ড এন্টার করলে। একটি উইন্ডো ওপেন হবে যা গিটহাব এর একাউন্ট এর ইমেইল দিতে বলবে এবং পরের উইন্ডো তে পাসওয়ার্ড দিতে বলবে।
৮. সমস্ত ব্রাঞ্চ পুশ করা : git push –all
। সার্ভার হবে ডাটা পুল করে রেসিভড করা : git pull URL
১০ .গিট্ এর ব্রাঞ্চ দেখা : git branch 
১১ গিট্ এর ব্রাঞ্চ যৌন বা marge করা :  git merge BranchName  
১২ গিট্ এর লগ দেখা : git log 

For Details Bangla Tutorial link

How To Search Google কিভাবে গুগলে সার্চ করবো ?

কিভাবে গুগলে সার্চ করবো ?Follow Below Link Or Search Google To Google Search Opreator

https://moz.com/learn/seo/search-operators

c# .নেট এ উইন্ডোস এপ্লিকেশন ডেভেলপমেন্ট

c# নিয়ে কাজ করার জন্য বেস্ট ওয়েবসাইট http://csharp.net-informations.com/

For Follow English Tuturials

১.প্রথমে ভিজ্যুয়াল ষ্টুডিও ২০১৩ বা অন্য ভার্সন ইনস্টল করে একটি প্রজেক্ট তৈরী করতে হবে new project ->visual c #-> Windows form application সিলেক্ট করে প্রজেক্ট এর একটি নাম দিতে হবে। ডিফল্ট ভাবে একটি form১ নাম একটি ফর্ম দেবে যাতে বামপাশের টুলবাক্স হতে কম্পোনেন্ট সিলেক্ট করে ড্র্যাগ এন্ড ড্রপ করে ফর্ম নিজের মতো করে সাজাতে হবে। কোনো কম্পোনেন্ট coustomize করতে হলে ডানপাশের উইন্ডো হতে পছন্দ করে কাস্টোমাইজ করতে হবে যেমন কম্পোনেন্ট এর একসেস ভ্যারিয়েবল এর নাম পরিবর্তন করতে হলে name এট্রিবিউট চেঞ্জ করতে হবে ইত্যাদি।

নিচে কিছু কাজের শর্টকাট দেয়া হলো :

কনসোল এ কিছু প্রিন্ট করা :
Console.WriteLine(“Hello World!”);

কোড মোড হতে ডিজাইন মোড এ আসা : কোনো সময় মোড হতে ডিজাইন মোড এ আস্তে রাইট বাটন ক্লিক করে ভিউ ডিজাইনমোড এ ক্লিক করলে ডিজাইনএ আসবে

ডট নেট উইন্ডোস ফর্ম এ ভ্যারিয়েবল এর নাম ঠিক করা : কম্পোনেন্ট সিলেক্ট করে PROPITIES এ NAME নাম এ একটি ফিল্ড আছে ওটাই যে নাম দেব কম্পোনেন্ট টি সেই ভ্যারিয়েবল নাম এক্সেস করা যাবে

বাটন এ ক্লিক ইভেন্ট যোগ করা : প্রথমে বাটন সিলেক্ট করে দেন পাশ হতে ইভেন্ট মেনু হতে ক্লিক ইভেন্ট সিলেক্ট করে বা অন্য যেকোনো ইভেন্ট সিলেক্ট করে ডাবল ক্লিক করলে ক্লিক বা অন্য যেকোনো ইভেন্ট সংঘটিত হলে কি করতে হবে তার একটি ফাংশন আসবে ফাংশনের মধ্যে কোড লিখতে হবে।

প্রিন্ট করা : কোনো একটি বাটনে ক্লিক ইভেন্ট সেট করে নিচের এই কোড দিলে প্রিন্ট উইন্ডো আসার কাজ হয়ে যাবে

PrintDialog printdialog = new PrintDialog();
printdialog.ShowDialog();

পিকচার বাক্স এ পিকচার সিলেক্ট করে শো করানো : প্রথমে একটি পিকচার বাক্স নিয়ে তাতে ক্লিক বা ডাবল ক্লিক সেট করে ক্লিক ফাংশনের মধ্যে নিচের কোড টি দিতে হবে
OpenFileDialog openfiledialog = new OpenFileDialog();

                   OpenFileDialog openfiledialog = new OpenFileDialog();
 openfiledialog.Filter = "*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files (*.*)|*.*";

        if(openfiledialog.ShowDialog() == DialogResult.OK){
            pictureBox1.Image = Bitmap.FromFile(openfiledialog.FileName);
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

        }

ডাটাটেবিল তৈরী
ডাটাটেবিল তৈরী করে তাতে ডাটা ঢুকিয়ে গ্রিড ভিউতে শো করানো : প্রথমে ফর্ম যেখানে initilize হয়েছে সেখানে ডাটা টেবিল তৈরী করে কালাম ও রও তে ডাটা ইন্সার্ট করতে এই কোড লিখতে হয়। এখানে ফর্ম ১ হলো আমার ফর্ম এর নাম

    public Form1()
{
InitializeComponent();    
// Initialize Data Table
        DataTable datatable = new DataTable();

        // Intialize Column
        datatable.Columns.Add("Name");
        datatable.Columns.Add("Email");
        datatable.Columns.Add("Address");

        // initialize Row 
        datatable.Rows.Add("Olee", "oleetechs@gmail.com", "Dhaka Bangladesh");
        datagridview1.DataSource = datatable;
    }

নতুন একটি ফর্ম নিতে:
ডানপাশের সল্যুশন মেনু হতে প্রজেক্ট এ মাউস রেখে রাইট বাটন ক্লিক করে add বাটন ক্লিক করে windows ফর্ম ক্লিক করে ফর্ম এর একটি নাম দিয়ে ওকে করতে হবে। কোনো ফর্ম যদি রান অবস্থায় থাকে তবে উপরের প্রসেস কাজ করবে না রান করা উইন্ডো অফ করে কাজ করতে হবে।

মেসেজ বক্স শো করানো :
string message = “Simple MessageBox”;
string title = “Title”;
MessageBox.Show(message, title);

লাইন separator কিভাবে করবো :
প্রথমে একটি lable নেবো তার পর
// separator bevel line
label1.AutoSize = false;
label1.Height = 2;
label1.BorderStyle = BorderStyle.Fixed3D;

একটা উইন্ডো হতে আরেকটা উইন্ডো তে যাওয়া :

 Form1 form1 = new Form1();
            form1.Show();
            this.Hide();

.net c# Mysql Connector Requirement For Details Go

mysql ডাটাবেস এর সাথে কাজ :
প্রথমে।ডট নেট এর ৪.৫.২ বা এর আপগ্রেড ভার্সন এর ডেভেলপার ভার্সন ডাউনলোড করতে হবে ইনস্টল করতে হবে।
প্রজেক্ট মেনু তে রাইট বাটন ক্লিক করে add ->reference ->framework হতে mysql.data অ্যাড করে ওকে করতে হবে তারপর
using MySql.Data.MySqlClient; ইম্পোর্ট করতে হবে
কানেকশন এর জন্য নিচের কোড এ কাজ করতে হবে

string cs = @"server=localhost;userid=root;password=root;database=test";
bool isConn = false;         
try
         {
             MySqlConnection con = new MySqlConnection(cs);
             con.Open();
             isConn = true;
         }
         catch (Exception)
         {

             isConn = false;

         }


         if (isConn) {
             MessageBox.Show("ok");
         }

mysql কানেকশন এর পর নিচের সিস্টেম ফলো করে ইন্সার্ট আপডেট ডিলিট ভিউ এর কাজ করতে হবে link

Mysql Connection Class

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
using System.Windows.Forms;


namespace StudentManagementSystem
{
    class Database
    {

        private MySqlConnection connection;

        private String server;
        private String database;
        private String dbusername;
        private String dbpassword;
        private int Port;

        public Database()
        {

            Initialize();
        }

        private void Initialize()
        {
            server = "localhost";
            Port = 3306;
            database = "test";
            dbusername = "root";
            dbpassword = "root";
            String connectingString = "SERVER=" + server + ";Port="+3306+";" + "DATABASE=" +
        database + ";" + "UID=" + dbusername + ";" + "PASSWORD=" + dbpassword + ";";

            connection = new MySqlConnection(connectingString);

        }

        //open connection to database
        public bool OpenConnection()
        {

            try { 
            connection.Open();
                return true;
            }

            catch(MySqlException e){
                //When handling errors, you can your application's response based 
                //on the error number.
                //The two most common error numbers when connecting are as follows:
                //0: Cannot connect to server.
                //1045: Invalid user name and/or password.
                switch (e.Number)
                {
                    case 0:
                        MessageBox.Show("Cannot connect to server.  Contact administrator");
                        break;

                    case 1045:
                        MessageBox.Show("Invalid username/password, please try again");
                        break;
                }
                return false;

            }
            
        }

        //Close connection
        private bool CloseConnection()
        {
            try
            {
                connection.Close();
                return true;
            }
            catch (MySqlException ex)
            {
                MessageBox.Show(ex.Message);
                return false;
            }

        }

        //Insert statement
        public void Insert(String query)
        {
            if (this.OpenConnection() == true) {
                //create mysql command
                MySqlCommand mysqlcommand = new MySqlCommand();
                //Assign the query using CommandText
                mysqlcommand.CommandText = query;
                //Assign the connection using Connection
                mysqlcommand.Connection = connection;
                mysqlcommand.ExecuteNonQuery();
                this.CloseConnection();
            }
           
        }

        //Update statement
        public void Update()
        {
        }

        //Delete statement
        public void Delete( String query)
        {
            if (this.OpenConnection() == true)
            {
                MySqlCommand mysqlcommand = new MySqlCommand(query, connection);
                mysqlcommand.ExecuteNonQuery();
                this.CloseConnection();
            }

        }

        //Count statement
        public int Count(String query)
        {
            int Count = -1;

            //Open Connection
            if (this.OpenConnection() == true)
            {
                //Create Mysql Command
                MySqlCommand mysqlcommand = new MySqlCommand(query, connection);

                //ExecuteScalar will return one value
                Count = int.Parse(mysqlcommand.ExecuteScalar() + "");

                //close Connection
                this.CloseConnection();

                return Count;
            }
            else
            {
                return Count;
            }
        }

        //Backup
        public void Backup()
        {
        }

        //Restore
        public void Restore()
        {
        }

    }
}

mysql এ ডাটা ইন্সার্ট করার জন্য

    bool isConn = false;
        public MySqlConnection connection() {
            MySqlConnection con = null;
            string cs = @"server=localhost;userid=root;password=root;database=test";
            try
            {
                 con = new MySqlConnection(cs);
                con.Open();
                isConn = true;
                return con;

            }
            catch (Exception)
            {

                isConn = false;


            }

            return con;
        }

     


        private void button1_Click(object sender, EventArgs e)
        {


           MySqlConnection con =  connection();
            
            if (isConn)
            {

                String dates =  date.Value.ToString("yyyy-MM-dd"); 
                String insertquery = "INSERT INTO samplercvd ( sl, date) VALUES ('" + serial.Text + "','" + dates + "')";
                MySqlCommand mySqlCommand = new MySqlCommand(insertquery, con);

                try
                {
                    if (mySqlCommand.ExecuteNonQuery() == 1)
                    {
                        MessageBox.Show("Data Inserted");
                    }
                    else
                    {
                        MessageBox.Show("Data Not Inserted");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }


            }
        }

Datagridview ডাটাটেবিল mYSQLডাটা দিয়ে ফিল করা :
প্রথমে MYSQL ডাটাবেসের সাথে কানেকশন করে তারপর :

  using (MySqlCommand cmd = new MySqlCommand("SELECT * FROM Customers", con))
        {
            cmd.CommandType = CommandType.Text;
            using (MySqlDataAdapter sda = new MySqlDataAdapter(cmd))
            {
                using (DataTable dt = new DataTable())
                {
                    sda.Fill(dt);
                    dataGridView1.DataSource = dt;
                }
            }
        }

Datagridview ডাটাটেবিল mYSQL ডাটা দিয়ে ফিল করা :
প্রথমে SQL ডাটাবেসের সাথে কানেকশন করে তারপর :

    private void button1_Click(object sender, EventArgs e)
        {
            string connectionString = "Data Source=.;Initial Catalog=pubs;Integrated Security=True";
            string sql = "SELECT * FROM Authors";
            SqlConnection connection = new SqlConnection(connectionString);
            SqlDataAdapter dataadapter = new SqlDataAdapter(sql, connection);
            DataSet ds = new DataSet();
            connection.Open();
            dataadapter.Fill(ds, "Authors_table");
            connection.Close();
            dataGridView1.DataSource = ds;
            dataGridView1.DataMember = "Authors_table";
        }

c# ডট নেট এ php পেজ এ রিকোয়েস্ট পাঠিয়ে ডাটা ম্যানিপুলেশন করা :
POST মেথড বেবহার করে : প্রথম সেকশন এ php কোড এবং দ্বিতীয় সেকশন এ সি শার্প কোড For Details

<?php

$_GET["name"] = "gujgjghj";
$_GET["age"] = "yuhgfyhgfjh";
if (isset($_GET["name"]) && isset($_GET["age"])) {
   echo $_GET["name"].$_GET["age"];
}
        private void button1_Click(object sender, EventArgs e)
        {
            String name = "olee";
            String age = "35";
            String urlAddress = "http://localhost/TEST/";

            using (WebClient client = new WebClient())
            {
                NameValueCollection postData = new NameValueCollection()
       {
              { "name", name },  //order: {"parameter name", "parameter value"}
              { "age", age }
       };

                // client.UploadValues returns page's source as byte array (byte[])
                // so it must be transformed into a string
                string pagesource = Encoding.UTF8.GetString(client.UploadValues(urlAddress, postData));
                MessageBox.Show(pagesource);
            }
        }

GET মেথড ব্যবহার করে :

string username = "john";
string urlAddress = "http://www.yoursite.tld/somepage.php?name=" + username;  

using (WebClient client = new WebClient())
{
       // this string contains the webpage's source
       string pagesource = client.DownloadString(urlAddress);  
}

আউটপুট :

PHP জেসন এরে ডট নেট এপ্লিকেশন এ শো করানো :

<?php
$a = array(
    array('one' => 'Bangladesh'),
    array('two' => 'India'));

if (isset($_POST["name"]) && isset($_POST["age"])) {
    $json = json_encode($a);
echo  $json;
    
}

        private void button1_Click(object sender, EventArgs e)
        {
            String name = "olee";
            String age = "35";
            String urlAddress = "http://localhost/TEST/";

            using (WebClient client = new WebClient())
            {
                NameValueCollection postData = new NameValueCollection()
{
       { "name", name },  //order: {"parameter name", "parameter value"}
       { "age", age }
};

                // client.UploadValues returns page's source as byte array (byte[])
                // so it must be transformed into a string
                string pagesource = Encoding.UTF8.GetString(client.UploadValues(urlAddress, postData));
                MessageBox.Show(pagesource);
            }
        }

আউটপুট :

এপ্লিকেশন পাবলিশ
এপ্লিকেশন টি তৈরী হয়ে গেলে ডানপাশে সল্যুশন মেনু হতে প্রজেক্ট এ রাইট বাটন ক্লিক করে পাবলিশ মেনু হতে অপসন মেনু তে এপ্লিকেশন এর কিছু ডেসক্রিপশন এর ঘর পূরণ করে এপ্লিকেশন পাবলিশ বাটন ক্লক করলে এপ্লিকেশন তৈরী হয়ে যাবে।

উইন্ডোস এর সাধারণ ইনস্টলের মতো ইনস্টল করার সিস্টেম করে এপ্লিকেশন পাবলিশ করা :
প্রথমে tools -> extention আপডেট হতে visual studio installer লিখে সার্চ করলে এক্সটেনশনটি ডাউনলোড করে ইনস্টল করতে হবে।
সল্যুশন মেনু হতে রাইট বাটন ক্লিক করে add new প্রজেক্ট ->other type project ->visual studio installer এ ক্লিক করলে একটি উইন্ডো আসবে বর্তমান প্রজেক্ট এর মধ্যে একটি প্রজেক্ট তৈরী করে build menu হতে bacth build ক্লিক করে প্রজেক্ট দুইটি সিলেক্ট করে একটি নাম দিয়ে ওকে করতে হবে

Web Design With Drag And Drop

Python Gui Application Development With Page Software And Tkinter

পাইথন দ্বারা GUI এপ্লিকেশন তৈরী।

প্রথমে পাইথন ইনভেরনমেন্ট তৈরির পর page সফটওয়্যার ও activetcl সফটওয়্যার ইনস্টল করতে হবে এর পর page সফটওয়্যার ওপেন করে ডিজাইন করে মেনু বার হতে get_python অপসন হতে generatet_python_gui সিলেক্ট করে যেকোনো নাম দিয়ে সেভ করে আবার get_python মেনু অপসন হতে generate_support_module সিলেক্ট করে সেভ করে আবার পুনরায় get_python অপসন হতে generatet_python_gui সিলেক্ট করে সেভ দিলে এপ্লিকেশন তৈরী হবে।

DDOS & DOS ATTACK

DDOS & DOS ATTACK কি

Dos হলো একধরণের কৌশল যা একটি ওয়েবসার্ভার কে প্রচুর পরিমান রিকোয়েস্ট এর মাধ্যমে স্লো করে ফেলে যার কারণে ওয়েবসার্ভার ক্র্যাশ হয়। যখন একটি সার্ভার অনেক রিকোয়েস্ট গ্রহণে সক্ষমতা থাকে অর্থাৎ সার্ভারটি অনেক শক্তিশালী তখন একটি কম্পিউটার বা মেশিন দ্বারা সার্ভার স্লো করা যায়না তখন অনেকগুলো কম্পিউটার দ্বারা এটাক করা হয় যাকে DDOS এটাক বলে।

এ অধ্যায়ে আমরা কালী লিনাক্স এর মাধ্যমে DDOS বা DOS এটাক প্রাকটিস করবো। অনেকগুলো টুল দ্বারা DDOS বা DOS এটাক করা যায়।

  1. Nemesy
  2. RUDY
  3. GolodenEye
  4. UDP flood
  5. PyLoris
  6. HULK
  7. ToR’s Hammer
  8. xerxess
  9. LOIC
  10. HOIC
  11. MetaSploit

অনেক ধরণের DOS বা DDOS এটাক হয়

  • Distributed volume based DOS attack
  • Degradation of service attacks
  • Application-layer floods
  • DDOS extortion
  • HTTP POST DOS Attack
  • Internet control message protocol (ICPM) flood
  • R U Dead-Yet (RUDY)
  • Nuke
  • Peer-to Peer attacks
  • Permanent denial-of-service attacks
  • Reflected/spoofed attack
  • shrew attack
  • (S)SYN Attack
  • Teardeop attacks
  • Telephony denial-of-service (TDOS)

এঅধ্যায়ে আমরা Slowloris টুল ব্যবহার করে DDOS এটাক প্রাকটিস করবো।

প্রথমে টার্মিনাল ওপেন করে সফটওয়্যার টি ইনস্টল করার জন্য নিচের পদ্ধতি অবলম্বন করতে হবে।
ক্লোন করুন গিট্ থেকে
git clone https://github.com/gkbrk/slowloris

স্লোওরিস ফোল্ডার এ যান
cd slowloris

এবার নিচের কমান্ড এপলাই করুন
./slowloris.py 127.0.0.1 -s 500

Software Cracking

সফটওয়্যার এর লাইসেন্স টাইম বাড়ানো।

যদি সফটওয়্যার টি ইনস্টল করা থাকে তাহলে প্রথমে সফটওয়্যার টি বন্ধ করে run হতে temp ফোল্ডার এর সব ফাইল ডিলেট করে আবার run হতে regedit লিখে এন্টার করে hkey_current _user হতে সফটওয়্যার সিলেক্ট করে যে সফটওয়্যার এর মেয়াদ বাড়াতে চাই তার উপর রাইট বাটন ক্লিক করে ডিলেট করে সফটওয়্যার আবার ওপেন করলে নতুন করে টাইম শুরু হবে.
Another Option :
Now Registry Editor Window will appear and here navigate to HKEY_LOCAL_MACHINE SOFTWARE Your Software name from left pane of this window. If you find any Key name with your software name then just Delete that Key.

Transparent Background With text

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
    .container {
  position: relative;
  max-width: 800px; /* Maximum width */
  margin: 0 auto; /* Center it */
}

.container .content {
  position: absolute; /* Position the background text */
  bottom: 0; /* At the bottom. Use top:0 to append it to the top */
  background: rgb(0, 0, 0); /* Fallback color */
  background: rgba(0, 0, 0, 0.5); /* Black background with 0.5 opacity */
  color: #f1f1f1; /* Grey text */
  width: 100%; /* Full width */
  padding: 20px; /* Some padding */
}
    </style>
</head>

<body>
    <div class="container">
        <img src="background.jpg" alt="Notebook" style="width:100%;">
        <div class="content" style="color: #0B7FA3;  box-shadow: 0 0 0 0.2rem rgba(25, 165, 207, 0.356);">
          <h1>Heading</h1>
          <p>Lorem ipsum..</p>
        </div>
      </div>
</body>
</html>