PROGRAMMERS
Kanalga obuna bo'lishini unutmang ⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ https://t.iss.one/Programmers_Dasturchi
👨🎓👨🎓👨🎓
Soket dasturlash - bir-biri bilan aloqa qilish uchun tarmoqdagi ikkita tugunni ulash usuli. Bitta rozetka (tugun) IPdagi ma'lum bir portni tinglaydi, boshqa soket esa ulanish uchun boshqasiga ulanadi. Mijoz serverga murojaat qilganda, server tinglovchi rozetkasini hosil qiladi.
👤
Server side: Aslida 5ta qadamdan iborat:
— Socket; ("rozetkaga")
— Bind; ("bog'lash")
— Listen; ("tinglash")
— Accept; ("olish (ruxsat berish)")
— Send/Receive; ("yuborish / qabul qilish")
👥
Client side:
— Socket; ("rozetkaga")
— Connect; ("ulanish")
— Send/Receive; ("yuborish / qabul qilish")
👨🎓👨🎓👨🎓
✅Socket yaratish:
int sockfd = socket(domain, type, protocol)
✅sockfd: soket deskriptori, butun son
✅domain: butun son, aloqa domeni, masalan, AF_INET (IPv4 protokoli), AF_INET6 (IPv6 protokoli)
✅type: aloqa turi
SOCK_STREAM: TCP (ishonchli, ulanishga yo'naltirilgan)
SOCK_DGRAM: UDP (ishonchsiz, ulanishsiz)
✅protocol: Internet protokoli (IP) uchun protokol qiymati 0 ga teng. Bu paketning IP sarlavhasida protokol maydonida paydo bo'lgan raqam. (Qo'shimcha ma'lumot olish uchun man protokoli)
✅setsockopt:
int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);
Bu fayl tavsiflovchi sockfd tomonidan taqdim etilgan rozetkaning variantlarini boshqarishda yordam beradi. Bu mutlaqo majburiy emas, ammo manzil va portdan qayta foydalanishga yordam beradi. Xatoning oldini oladi: "allaqachon ishlatilayotgan manzil".
✅Bind:
int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
Soket yaratilgandan so'ng, ulash funktsiyasi soketni manzilda (manzil ma'lumotlar bazasida) ko'rsatilgan manzil va port raqamiga bog'laydi. Namunaviy kodda biz serverni localhost bilan bog'laymiz, shuning uchun biz IP manzilini ko'rsatish uchun INADDR_ANY-dan foydalanamiz.
✅Listen:
int listen(int sockfd, int backlog);
Bu server rozetkasini passiv rejimga o'tkazadi, u erda mijoz ulanish uchun serverga murojaat qilishni kutadi. Orqaga o'tish, sockfd uchun kutilayotgan ulanishlar navbatining o'sishi mumkin bo'lgan maksimal uzunlikni belgilaydi. Agar bog'lanish so'rovi quyruq to'lganda kelib qolsa, mijoz ECONNREFUSED ko'rsatgan xatoni olishi mumkin.
✅Accept:
int new_socket= accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
U eshitish soketini kutilayotgan ulanishlar navbatida birinchi ulanish so'rovini chiqarib oladi, sockfd, yangi ulangan soketni yaratadi va ushbu rozetkaga tegishli yangi fayl tavsifini qaytaradi. Ushbu vaqtda mijoz va server o'rtasida aloqa o'rnatiladi va ular ma'lumotlarni uzatishga tayyor.
✅Connect:
int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
connect() tizim qo'ng'irog'i sockfd faylni tavsiflovchi tomonidan ko'rsatilgan soketni "addr" manzili tomonidan ko'rsatilgan manzilga ulanadi. Server manzili va port adrda ko'rsatilgan.
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
https://t.iss.one/Programmers_Dasturchi
Soket dasturlash - bir-biri bilan aloqa qilish uchun tarmoqdagi ikkita tugunni ulash usuli. Bitta rozetka (tugun) IPdagi ma'lum bir portni tinglaydi, boshqa soket esa ulanish uchun boshqasiga ulanadi. Mijoz serverga murojaat qilganda, server tinglovchi rozetkasini hosil qiladi.
👤
Server side: Aslida 5ta qadamdan iborat:
— Socket; ("rozetkaga")
— Bind; ("bog'lash")
— Listen; ("tinglash")
— Accept; ("olish (ruxsat berish)")
— Send/Receive; ("yuborish / qabul qilish")
👥
Client side:
— Socket; ("rozetkaga")
— Connect; ("ulanish")
— Send/Receive; ("yuborish / qabul qilish")
👨🎓👨🎓👨🎓
✅Socket yaratish:
int sockfd = socket(domain, type, protocol)
✅sockfd: soket deskriptori, butun son
✅domain: butun son, aloqa domeni, masalan, AF_INET (IPv4 protokoli), AF_INET6 (IPv6 protokoli)
✅type: aloqa turi
SOCK_STREAM: TCP (ishonchli, ulanishga yo'naltirilgan)
SOCK_DGRAM: UDP (ishonchsiz, ulanishsiz)
✅protocol: Internet protokoli (IP) uchun protokol qiymati 0 ga teng. Bu paketning IP sarlavhasida protokol maydonida paydo bo'lgan raqam. (Qo'shimcha ma'lumot olish uchun man protokoli)
✅setsockopt:
int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);
Bu fayl tavsiflovchi sockfd tomonidan taqdim etilgan rozetkaning variantlarini boshqarishda yordam beradi. Bu mutlaqo majburiy emas, ammo manzil va portdan qayta foydalanishga yordam beradi. Xatoning oldini oladi: "allaqachon ishlatilayotgan manzil".
✅Bind:
int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
Soket yaratilgandan so'ng, ulash funktsiyasi soketni manzilda (manzil ma'lumotlar bazasida) ko'rsatilgan manzil va port raqamiga bog'laydi. Namunaviy kodda biz serverni localhost bilan bog'laymiz, shuning uchun biz IP manzilini ko'rsatish uchun INADDR_ANY-dan foydalanamiz.
✅Listen:
int listen(int sockfd, int backlog);
Bu server rozetkasini passiv rejimga o'tkazadi, u erda mijoz ulanish uchun serverga murojaat qilishni kutadi. Orqaga o'tish, sockfd uchun kutilayotgan ulanishlar navbatining o'sishi mumkin bo'lgan maksimal uzunlikni belgilaydi. Agar bog'lanish so'rovi quyruq to'lganda kelib qolsa, mijoz ECONNREFUSED ko'rsatgan xatoni olishi mumkin.
✅Accept:
int new_socket= accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
U eshitish soketini kutilayotgan ulanishlar navbatida birinchi ulanish so'rovini chiqarib oladi, sockfd, yangi ulangan soketni yaratadi va ushbu rozetkaga tegishli yangi fayl tavsifini qaytaradi. Ushbu vaqtda mijoz va server o'rtasida aloqa o'rnatiladi va ular ma'lumotlarni uzatishga tayyor.
✅Connect:
int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
connect() tizim qo'ng'irog'i sockfd faylni tavsiflovchi tomonidan ko'rsatilgan soketni "addr" manzili tomonidan ko'rsatilgan manzilga ulanadi. Server manzili va port adrda ko'rsatilgan.
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
https://t.iss.one/Programmers_Dasturchi
Telegram
PROGRAMMERS
Guruh: @Cpp_java_dasturlash
Android: @prog_mz_android
Quiz bot: @programmersQuiz_bot
Portfolio: @ProgrammersPortfolio
Reklama: https://t.iss.one/programmers_reklama/2
Kanal uchun taklif:
@Mr_Max_Telegram
@ZohidAbdullayev
Android: @prog_mz_android
Quiz bot: @programmersQuiz_bot
Portfolio: @ProgrammersPortfolio
Reklama: https://t.iss.one/programmers_reklama/2
Kanal uchun taklif:
@Mr_Max_Telegram
@ZohidAbdullayev
👍1
⸢䱡⁃畭灡牳楴愢
刮䍬慵摥牭慮
Tanaffus: R.Clauderman - La Cumparsta
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
https://t.iss.one/Programmers_Dasturchi
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
https://t.iss.one/Programmers_Dasturchi
👨🎓👨🎓👨🎓
Java - Язык программирования
Описание Java — строго типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems. Разработка ведётся сообществом, организованным через Java Community Process, язык и основные реализующие его технологии распространяются по лицензии GPL.
Появился в: 23 мая 1995
Разработчик: Джеймс Гослинг
Автор: Джеймс Гослинг и Sun Microsystems
Выпуск: Java Standard Edition 10
Лицензия: GNU GPL и Java Community Process
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
https://t.iss.one/Programmers_Dasturchi
Java - Язык программирования
Описание Java — строго типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems. Разработка ведётся сообществом, организованным через Java Community Process, язык и основные реализующие его технологии распространяются по лицензии GPL.
Появился в: 23 мая 1995
Разработчик: Джеймс Гослинг
Автор: Джеймс Гослинг и Sun Microsystems
Выпуск: Java Standard Edition 10
Лицензия: GNU GPL и Java Community Process
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
https://t.iss.one/Programmers_Dasturchi
Telegram
PROGRAMMERS
Guruh: @Cpp_java_dasturlash
Android: @prog_mz_android
Quiz bot: @programmersQuiz_bot
Portfolio: @ProgrammersPortfolio
Reklama: https://t.iss.one/programmers_reklama/2
Kanal uchun taklif:
@Mr_Max_Telegram
@ZohidAbdullayev
Android: @prog_mz_android
Quiz bot: @programmersQuiz_bot
Portfolio: @ProgrammersPortfolio
Reklama: https://t.iss.one/programmers_reklama/2
Kanal uchun taklif:
@Mr_Max_Telegram
@ZohidAbdullayev
#Algorithm
Algorithm Design Paradigms - Dynamic Programming
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
https://t.iss.one/Programmers_Dasturchi
Algorithm Design Paradigms - Dynamic Programming
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
https://t.iss.one/Programmers_Dasturchi
#Binomial_Coefficient
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
https://t.iss.one/Programmers_Dasturchi
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
https://t.iss.one/Programmers_Dasturchi
class Animal {
private String name;
private double averageWeight;
private int numberOfLegs;
// Getter methods
public String getName() {
return name;
}
public double getAverageWeight() {
return averageWeight;
}
public int getNumberOfLegs() {
return numberOfLegs;
}
// Setter methods
public void setName(String name) {
this.name = name;
}
public void setAverageWeight(double averageWeight) {
this.averageWeight = averageWeight;
}
public void setNumberOfLegs(int numberOfLegs) {
this.numberOfLegs = numberOfLegs;
}
}
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
https://t.iss.one/Programmers_Dasturchi
private String name;
private double averageWeight;
private int numberOfLegs;
// Getter methods
public String getName() {
return name;
}
public double getAverageWeight() {
return averageWeight;
}
public int getNumberOfLegs() {
return numberOfLegs;
}
// Setter methods
public void setName(String name) {
this.name = name;
}
public void setAverageWeight(double averageWeight) {
this.averageWeight = averageWeight;
}
public void setNumberOfLegs(int numberOfLegs) {
this.numberOfLegs = numberOfLegs;
}
}
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
https://t.iss.one/Programmers_Dasturchi
Telegram
PROGRAMMERS
Guruh: @Cpp_java_dasturlash
Android: @prog_mz_android
Quiz bot: @programmersQuiz_bot
Portfolio: @ProgrammersPortfolio
Reklama: https://t.iss.one/programmers_reklama/2
Kanal uchun taklif:
@Mr_Max_Telegram
@ZohidAbdullayev
Android: @prog_mz_android
Quiz bot: @programmersQuiz_bot
Portfolio: @ProgrammersPortfolio
Reklama: https://t.iss.one/programmers_reklama/2
Kanal uchun taklif:
@Mr_Max_Telegram
@ZohidAbdullayev
public class TestAnimal {
public static void main(String[] args) {
Animal myAnimal = new Animal();
myAnimal.setName("Eagle");
myAnimal.setAverageWeight(1.5);
myAnimal.setNumberOfLegs(2);
System.out.println("Name: " + myAnimal.getName());
System.out.println("Average weight: " + myAnimal.getAverageWeight() + "kg");
System.out.println("Number of legs: " + myAnimal.getNumberOfLegs());
}
}
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
https://t.iss.one/Programmers_Dasturchi
public static void main(String[] args) {
Animal myAnimal = new Animal();
myAnimal.setName("Eagle");
myAnimal.setAverageWeight(1.5);
myAnimal.setNumberOfLegs(2);
System.out.println("Name: " + myAnimal.getName());
System.out.println("Average weight: " + myAnimal.getAverageWeight() + "kg");
System.out.println("Number of legs: " + myAnimal.getNumberOfLegs());
}
}
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
https://t.iss.one/Programmers_Dasturchi
Telegram
PROGRAMMERS
Guruh: @Cpp_java_dasturlash
Android: @prog_mz_android
Quiz bot: @programmersQuiz_bot
Portfolio: @ProgrammersPortfolio
Reklama: https://t.iss.one/programmers_reklama/2
Kanal uchun taklif:
@Mr_Max_Telegram
@ZohidAbdullayev
Android: @prog_mz_android
Quiz bot: @programmersQuiz_bot
Portfolio: @ProgrammersPortfolio
Reklama: https://t.iss.one/programmers_reklama/2
Kanal uchun taklif:
@Mr_Max_Telegram
@ZohidAbdullayev
#JavaEncapsulation
// Java program encapsulation
public class Encapsulate
{
private String geekName;
private int geekRoll;
private int geekAge;
public int getAge()
{
return geekAge;
}
public String getName()
{
return geekName;
}
public int getRoll()
{
return geekRoll;
}
public void setAge( int newAge)
{
geekAge = newAge;
}
public void setName(String newName)
{
geekName = newName;
}
public void setRoll( int newRoll)
{
geekRoll = newRoll;
}
}
public class TestEncapsulation
{
public static void main (String[] args)
{
Encapsulate obj = new Encapsulate();
obj.setName("Max");
obj.setAge(35);
obj.setRoll(51);
System.out.println("name: " + obj.getName());
System.out.println("age: " + obj.getAge());
System.out.println("roll: " + obj.getRoll());
}
}
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
https://t.iss.one/Programmers_Dasturchi
// Java program encapsulation
public class Encapsulate
{
private String geekName;
private int geekRoll;
private int geekAge;
public int getAge()
{
return geekAge;
}
public String getName()
{
return geekName;
}
public int getRoll()
{
return geekRoll;
}
public void setAge( int newAge)
{
geekAge = newAge;
}
public void setName(String newName)
{
geekName = newName;
}
public void setRoll( int newRoll)
{
geekRoll = newRoll;
}
}
public class TestEncapsulation
{
public static void main (String[] args)
{
Encapsulate obj = new Encapsulate();
obj.setName("Max");
obj.setAge(35);
obj.setRoll(51);
System.out.println("name: " + obj.getName());
System.out.println("age: " + obj.getAge());
System.out.println("roll: " + obj.getRoll());
}
}
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
https://t.iss.one/Programmers_Dasturchi
Telegram
PROGRAMMERS
Guruh: @Cpp_java_dasturlash
Android: @prog_mz_android
Quiz bot: @programmersQuiz_bot
Portfolio: @ProgrammersPortfolio
Reklama: https://t.iss.one/programmers_reklama/2
Kanal uchun taklif:
@Mr_Max_Telegram
@ZohidAbdullayev
Android: @prog_mz_android
Quiz bot: @programmersQuiz_bot
Portfolio: @ProgrammersPortfolio
Reklama: https://t.iss.one/programmers_reklama/2
Kanal uchun taklif:
@Mr_Max_Telegram
@ZohidAbdullayev
#savol
// C Programming Language
#include<stdio.h>
int main()
{
int x = 10;
int y = 10;
if ( !(x ^ y) )
printf(" x = y ");
else
printf(" x != y ");
return 0;
}
//Javob: x = y
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
https://t.iss.one/Programmers_Dasturchi/320
// C Programming Language
#include<stdio.h>
int main()
{
int x = 10;
int y = 10;
if ( !(x ^ y) )
printf(" x = y ");
else
printf(" x != y ");
return 0;
}
//Javob: x = y
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
https://t.iss.one/Programmers_Dasturchi/320
Telegram
PROGRAMMERS
#savol
// C Programming Language
#include<stdio.h>
int main()
{
int x = 10;
int y = 10;
if ( !(x ^ y) )
printf(" x = y ");
else
printf(" x != y ");
return 0;
}
//Javob: x = y
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️…
// C Programming Language
#include<stdio.h>
int main()
{
int x = 10;
int y = 10;
if ( !(x ^ y) )
printf(" x = y ");
else
printf(" x != y ");
return 0;
}
//Javob: x = y
Kanalga obuna bo'lishini unutmang
⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️…