Сегодня целый день был на офлайн-части конференции #DotNext для разработчиков под платформу .NET. Посетил две лекции, два круглых стола (это такое обсуждение несколькими экспертами на сцене, как подкаст, но вживую), поучаствовал во всех активностях, позадавал вопросы и обсудил со спикерами и другими участниками ряд проблем.
Вроде всё на месте, но я понял вот что: для меня было мало точек приложения внимания в ширину, однако избыток приложения внимания в глубину. Возможно, я сам себя не слишком правильно настроил. Лето, жара, скоро отпуск: кажется, я ошибочно ожидал чего-то более казуального от мероприятия. Могу сказать, что в своё время посещение TechTrain принесло мне суммарно больше удовольствия, хотя там билеты на порядок дешевле, и выставка в целом более лёгкая и менее тематическая.
Здесь же было хорошее глубокое погружение в тему, но горизонтально мне не хватило разнообразия: мало стендов (два), мало пространства по выбору лекций (в каждый момент шло две лекции в двух залах, выбор всегда из двух).
На стенде от PVS-Studio поискал ошибки в коде, получил много мерча, прикольного. Но сама система у ребят только корпоративная, индивидуальных лицензий нет, а я возможно даже попробовал бы.
Второй стенд от Промсвязьбанка предлагал телеграм-бота с разными заданиями. Я, кстати, Промсвязьбанку писал недавно квиз на Хабр. Они активно хантят народ. Задания были нормальные: там и коммуникация с другими участниками, и ответы на вопросы, и всякое решение задачек. Но разрыв по очкам между точками получения призов такой большой, что всю вторую половину игры я буквально вёл впустую.
Из минусов организации отмечу два момента:
1. Офлайн-участников было не очень много, а онлайн-участников существенно больше. Поэтому даже офлайн-участникам предлагалось задавать вопросы спикерам с помощью чатов в Телеграме. Это не только создавало миллион чатов (по каждому докладу свой чат, потому что Телега не умеет в комнаты), но и было неудобно в процессе — ссылка на чат показывалась только в самом начале доклада, если не успел, а вопрос возник по ходу лекции, то найти ссылку проблематично. И вообще, я считаю, что правильно было бы дискриминировать онлайн-участников. Они меньше заплатили за билет, они поленились приехать. Но их удобство в итоге было приоритетным над удобством офлайн-участников просто из-за количества.
2. Дискуссии пересекались по времени с другими лекциями и с обедом. В итоге нельзя было полноценно пообсуждать что-то со спикером, не опоздав куда-то дальше. А на обед я вообще попал тогда, когда почти всё уже съели.
За счёт работодателя бы ездил с удовольствием, но за личные деньги, пожалуй, не моё.
#dev
Google Docs saytiga oid 7 mohirlik
#mohirlik / #docs
🔜 Nasib qilsa oktabr oylarida e'lon qilinishi reja qilingan "Kompyuter Savodxonligi" (KS) onlayn, pullik kursimiz uchun Word dasturini o'rgatish bilan birgalikda Google Docs dan foydalanish bo'yicha ham darslar kiritdik.
✅ Word'dan ko'ra qulayroq jihatlari bo'lgan Docs ni bir vaqtni o'zida bir qancha insonlar tomonidan ko'rish/o'zgartirish imkoniyati va undagi menyularni juda sodda tuzilgani ushbu saytdan foydalanishga undaydi. Undan tashqari Word kabi Docs da hech qanday aktivatsiyalar so'ralmaydi 😉.
📃 Sizlarga ulashmoqchi bo'lgan ushbu qo'llanma yuqorida aytib o'tilgan kursimizning bir darsi uchun tayyorlangan.
🌐Onlayn ko'rish I .PDF shaklida yuklash
❓KS kursimizni kutayotganlar bormi? (👍 = xa)
💻 Kompyuterni birga o'rganamiz ⤵️
TelegramIYouTube
Asinxron JavaScript (2-qism) || Async / await
Promiseda ketma-ket .then() methodini ko'p ishlatishdan saqlanish uchun Async/ await dan foydalanish tavsiya qilinadi.
async function fetchData(){
const response = await fetch("https://jsonplaceholder.typicode.com/todos/1")
const res = await response.json()
console.log(res);
}
Async / await da xatoliklar bilan ishlash uchun try / catch dan foydalanamiz
async function fetchData(){
try{
const response = await fetch("https://jsonplaceholder.typicode.com/todos/1")
const res = await response.json()
if(!res.ok){
throw new Error("show erorr")
}
console.log(res);
}
catch(err){
console.log(err);
}
}
Async kalit so'zi bilan boshlangan har qanday fungsiya bizga promise qaytarishini xisobga olsak xatoliklar bilan fungsiya chaqirilgan joyda ham ishlash mumkin.
async function fetchData(){
const response = await fetch("https://jsonplaceholder.typicode.com/todos/1")
const res = await response.json()
if(!res.ok){
throw new Error("show erorr")
}
return res
}
fetchData().then((data)=>{
console.log(data)
}).catch((err)=>{
console.log(err);
});
#javascript#docs
☑️@valisherbotirov
Asinxron JavaScript || Promise
JavaScriptda Promiseni new Promise() konstruktoriga argument sifatida o'zida resolve va reject argumentlarini qabul qilgan fungsiya berish bilan yaratamiz.
const myPromise = new Promise((resolve, reject) => {
let age = 21;
setTimeout(() =>{
if(age > 20)
resolve("Done processing")
else
reject("Error processing")
},2000)
})
Promisedan qaytgan malumotlarni then va catch methodlari bilan tutib olib qayta ishlaymiz
myPromise.then((res) =>{
console.log(res)
}).catch((err) =>{
console.log(err)
})
Agar promise fulfilled muvaffaqiyatli bo'lsa malumotlarni then methodi bilan, agar xatolik rejected bo'lsa unda catch methodida xatolikni tutib olishimiz mumkin!
#javascript#docs
☑️@valisherbotirov
Google Docs servisiga oid 10 mohirlik
#videodars / #docs / #word / manba
ℹ️ Microsoft Word dasturining o'rnini bosuvchi servislardan biri Google Docs hisoblanadi. Ushbu darsimizda servisga tegishli bo'lgan 10 ta mohirlik va ustuvor jihatlarini ko'rib chiqamiz.
🌐 Google Docs'ga quyidagi manzillar orqali kirishingiz mumkin:
- https://docs.google.com/
- https://docs.new/
📌Word dasturidagi "Сноска" funksiyasi haqida batafsil ma'lumot
🟢YouTube'da ko'rish (📲)
💽: 51.7 MB ⏳: 09:36
💻 Kompyuterni birga o'rganamiz ⤵️
TelegramIInstagramITikTokIYouTube
Sheets yoki Docs'da tayyorlangan hujjatni tezkor pdf qilib yuklash
#mohirlik / #docs / #sheets
⬇️ Google Sheets yoki Docs da tayyorlangan hujjatlarni onlayn ko'rish imkoniyati mavjud, lekin ba'zi telefonlarda ushbu saytlarda tayyorlangan hujjatlarni ko'rishda qiyinchilik bo'lishi mumkin. Bunday holatda hujjatga kirmasdan turib uni PDF holatida yuklashni tavsiya qilamiz.
➕ Buning uchun hujjat havolasiga /export?format=pdf qo'shib brauzerdan kirasiz, shunda hujjatning ayni vaqtdagi holati PDF shaklida yuklanib boshlaydi, masalan:
🔗 Hujjatimiz havolasi (onlayn ko'rish): https://docs.google.com/spreadsheets/d/1GzCdUFfKIgn2TJCYXEuNyBtYlg3BGoz2yS_-RnOIytI
📄 Uni .PDF holatida yuklash: https://docs.google.com/spreadsheets/d/1GzCdUFfKIgn2TJCYXEuNyBtYlg3BGoz2yS_-RnOIytI/export?format=pdf
😉 Kompyuter Savodxonligi kursimizda Sheets va Docs'ni o'rganish bo'yicha darslar yetarlicha amaliyotlar bilan berilgan: Kompyuterni professionallardan o'rganing!
💻 Kompyuterni birga o'rganamiz ⤵️
TelegramIYouTube
Welcome to Russia!
Congratulations, you became students in the Russian Federation! We are happy to welcome you and wish you success in academics, science and in your chosen speciality!
And to facilitate your adaptation in the new conditions, we have prepared for you a memo with the most up-to-date information that will be useful to you in Russia.
What can you learn from it?
❇️ Key phone numbers of government services, federal agencies and institutions;
❇️ Dates of major public holidays;
❇️ Information about the documents required to enter the country;
❇️ First 5 steps when arriving in Russia;
❇️ Information on departure;
❇️ Documents to carry out with you all the time;
❇️ Useful links and advices.
Download the attached document or follow the QR code in the comments.
Thanks to t.me/inostranets_v_RF
#global#info#docs
Bind()
Bind ni call va apply dan farqi funksiyani ishlatilgan joyida chaqirmasdan funksiyani this qiymatini biz berib yuborgan objectga o'zgartirib yangi funksiya yaratib qaytaradi. Uni biror o'zgaruvchiga tenglab olib ishlatishimiz mumkin bo'ladi.
function myFunc(){
console.log(this.age)
}
const obj = {
age:21
}
const newFunc = myFunc.bind(obj)
newFunc()
Bind da objectga qo'shib argument berib yuborish call ga o'xshash bo'ladi
bind(obj, arg1, arg2, ...)
#javascript#docs#interview_questions
☑️@valisherbotirov
Apply()
Apply methodi ham Call() bilan deyarli bir xil ishlaydi. Call() dan farqi funksiyaga argument berib yuborayotgan vaqtimiz argumentlarni array ko'rinishida beramiz.
function myFunc(args){
console.log(this.age + " " + args)
}
const obj = {
age:21
}
myFunc.apply(obj,["this is argument"])
```
call(obj, arg1, arg2, ...)
apply(obj, [arg1,arg2,...])`
#javascript#docs#interview_questions
☑️@valisherbotirov
JavaScriptda Call() , Apply() va Bind() methodlari.
Call() - JavaScriptda funksiyani chaqirish paytida this qiymatini o'zgartirish uchun ishlatiladi. Bu method orqali berib yuborgan objectimizni contextida shu funksiyani chaqirib beradi va funksiya ichida ishlatilgan this ni berib yuborilgan objectimizga tenglashtirib beradi.
Misollar orqali ko'ramiz :
function myFunc(){
console.log(this)
}
myFunc()
Bizda muFunc degan funksiyamiz bor va bu bizga xozir global Window objectini qaytaradi. Chunki fungsiya global scopeda chaqirilgan.
Endi funksiyaga call methodi orqali birorta object berib ko'ramiz.
function myFunc(){
console.log(this)
}
const obj = {
age:21
}
myFunc.call(obj)
Bu holda funksiyamiz bizga obj deb nomlangan objectimizni qaytaradi. Sababi call() methodi funksiyani obj objectini contextida chaqirib beryabdi va natijada funksiyani this qiymati bizning obj nomli objectimizga teng bo'lib qolyabdi.
Call() orqali argument berib yuborish
Call() bilan funksiyani chaqirgan vaqtimiz objectga qo'shib o'zimizda ixtiyoriy argument ham berib yuborishimiz mumkin.
function myFunc(args){
console.log(this.age + " " + args)
}
const obj = {
age:21
}
myFunc.call(obj,"this is argument")
#javascript#docs#interview_questions
☑️@valisherbotirov
JavaScript fungsiyalarda this kalit so'zidan foydalanish
Fungsiyaning ichida this kalit so'zidan foydalanganimizda this qiymati fungsiya qayerda chaqirilayotganiga bog'liq bo'ladi.
Misollar yordamida ko'rib o'tamiz!
function showThis (){
console.log(this)
}
showThis()
ushbu misolda this bizga JavaScriptdagi Window objectini qaytaradi. Sababi biz fungsiyani global scope ichida chaqiryabmiz.
const person = {
name : "Valisher",
fetchName:function(){
console.log(this.name) // Valisher
}
}
person.fetchName()
bu misolda esa this bizga person objectini qaytaradi. Sababi fetchName fungsiyasi person objectini xossasi bo'lgani uchun fungsiyani chaqirgan vaqtimiz this person objectini qaytaradi.
const person = {
name : "Valisher",
fetchName:function(){
console.log(this.name)
}
}
const getName = person.fetchName
const person2 = {
name : "John",
getName
}
person2.getName() // John
ushbu misolda esa this kalit so'zi person2 objectini qaytaradi. Sababi biz person1 objectidagi fetchName fungiyasini getName o'zgaruvchisiga tenglab olib uni esa person2 objectiga property sifatida beryabmiz. Natijada this bizga person2 objectini qaytarib beryabdi.
#javascript#docs#interview_questions
☑️@valisherbotirov