qs 🔗
Часто в своїх API-запитах ми додаємо query-параметри. Їх використання може бути дуже різним: вказівка на сортування/фільтрування даних, значення форми за замовчуванням, посилання, яке потрібно відкрити наступним і тд. Так само і дані, які ви туди записуєте, можуть бути зовсім різними.
Бібліотека qs дозволяє серіалізувати/парсити query-параметри та надає різні варіанти конфігурацій. Тут можна використовувати і вкладені обʼєкти, і масиви. Серед конфігурацій можна, наприклад, дозволити пусті масиви, використовувати індекси в масивах чи крапку в обʼєктах.
Ми одного разу використовували сторонню API, в якій був специфічний парсер query, і ця бібліотека нас тоді дуже виручила.
👉 Відкрити посилання
#library
Часто в своїх API-запитах ми додаємо query-параметри. Їх використання може бути дуже різним: вказівка на сортування/фільтрування даних, значення форми за замовчуванням, посилання, яке потрібно відкрити наступним і тд. Так само і дані, які ви туди записуєте, можуть бути зовсім різними.
Бібліотека qs дозволяє серіалізувати/парсити query-параметри та надає різні варіанти конфігурацій. Тут можна використовувати і вкладені обʼєкти, і масиви. Серед конфігурацій можна, наприклад, дозволити пусті масиви, використовувати індекси в масивах чи крапку в обʼєктах.
Ми одного разу використовували сторонню API, в якій був специфічний парсер query, і ця бібліотека нас тоді дуже виручила.
👉 Відкрити посилання
#library
👍16❤1🔥1
Яку бібліотеку використовує Next.js для оптимізації зображень?
Anonymous Quiz
13%
dull
33%
sharp
7%
C#
47%
svgo
🤔12👍4❤1
Welcome!
Let's practice our English! So...
👉 What are your plans for the last month of summer?
Have a nice #english_friday 💛
Let's practice our English! So...
👉 What are your plans for the last month of summer?
Have a nice #english_friday 💛
👍4❤2
Чи пишете ви тести на своєму теперішньому проєкті?
Anonymous Poll
29%
Так
45%
Ні
26%
Я не роблю багів 😁
👍3😁3❤1
Метод hasOwnProperty 🤓
Ні разу цей метод не використовували в реальних проектах, але на співбесідах питають, тому погнали розбиратись.
Сподіваємось, ви знайомі з циклом
Але іноді хочеться подивитися, що знаходиться в самому об'єкті, а не в його прототипі.
Виклик
#interview
Ні разу цей метод не використовували в реальних проектах, але на співбесідах питають, тому погнали розбиратись.
Сподіваємось, ви знайомі з циклом
for ... in
, який проходиться по всіх властивостях за довільною послідовністю. Наприклад:
const human = {
eat: true
};
const programmer = {
sleep: false,
__proto__: human
};
for (const key in programmer) {
alert(key); // виведе і "eat", і "sleep"
}
Але іноді хочеться подивитися, що знаходиться в самому об'єкті, а не в його прототипі.
Виклик
obj.hasOwnProperty(prop)
повертає true
, якщо властивість prop
належить самому об'єкту obj
, інакше false
. Наприклад:
const human = {
eat: true
};
const programmer = {
sleep: false,
__proto__: human
};
alert(programmer.hasOwnProperty('sleep')); // true: sleep належить до programmer
alert(programmer.hasOwnProperty('eat')); // false: eat не належить
#interview
👍15🔥4❤1
Що потрібно написати замість ... , щоб код став валідним?
Anonymous Quiz
24%
CATEGORIES[number]
37%
typeof CATEGORIES
28%
typeof CATEGORIES[number]
11%
typeof CATEGORIES[number][]
👍7🤔6❤1
#todo написати функцію на будь-якій мові програмування, яка розділяє масив людей на підмасиви за віком.
Функція має приймати два аргументи: масив обʼєктів типу
Функція має приймати два аргументи: масив обʼєктів типу
Person
, де Person = { name: string, age: number }
, та масив чисел breakpoints
. Функція має повернути двовимірний масив, де кожен i
-ий рядок - підмасив people
, в яких breakpoints[i - 1] <= age < breakpoints[i]
для i > 1
та age < breakpoints[i]
для i = 1
.Так, так, ми тут почали рахувати з 1! І ні, це завдання не повʼязано з ейджизмом!
people = [
{ name: "John", age: 16 },
{ name: "Jane", age: 17 },
{ name: "Joe", age: 30 },
]
breakpoints = [18, 21, 35]
output = [
[
{ name: "John", age: 16 },
{ name: "Jane", age: 17 },
],
[],
[{ name: "Joe", age: 30 }],
]
👍3❤2🤓2🤔1
PlayPhrase.me 👀
Ми вирішили добити свою англійську і записались на курси. Нас запхали в доволі високий рівень і тепер ми вчимо складні фрази, які ніколи не використаємо і які дійсно важко перекласти та запам'ятати.
Крім ChatGPT, який старається нам все пояснити, ми використовуємо PlayPhrase.me - сайт, де можна почути вживання слова або фрази в реальних фільмах чи серіалах.
Рекомендуємо!
👉 Відкрити посилання
#tips
Ми вирішили добити свою англійську і записались на курси. Нас запхали в доволі високий рівень і тепер ми вчимо складні фрази, які ніколи не використаємо і які дійсно важко перекласти та запам'ятати.
Крім ChatGPT, який старається нам все пояснити, ми використовуємо PlayPhrase.me - сайт, де можна почути вживання слова або фрази в реальних фільмах чи серіалах.
Рекомендуємо!
👉 Відкрити посилання
#tips
👍9🔥4❤1
Який варіант написання коду ви б обрали?
Anonymous Poll
45%
handleString1
28%
handleString2
27%
Про switch не чули?
👍7🕊3❤1😱1
👍4❤3🌚1
Де ви витрачаєте найбільше часу?
Anonymous Poll
70%
Telegram
20%
Instagram
13%
Tik-Tok
3%
Facebook
5%
Twitter
46%
YouTube
8%
Інше
👍4❤3🔥1
Чим стрілочна функція відрізняється від звичайної? 🤓
Здивовані, що раніше про це не писали. Були тести, але повного розбору не було, а це важливо знати як і на співбесіді, так і в роботі.
Вирішили створити окрему статтю, щоб все було наглядно і з прикладами.
Тому, запрошуємо до прочитання 💛
👉 Відкрити посилання
#interview
Здивовані, що раніше про це не писали. Були тести, але повного розбору не було, а це важливо знати як і на співбесіді, так і в роботі.
Вирішили створити окрему статтю, щоб все було наглядно і з прикладами.
Тому, запрошуємо до прочитання 💛
👉 Відкрити посилання
#interview
👍16🔥8❤2
Що виведе консоль?
Anonymous Quiz
9%
undefined false
15%
undefined true
24%
quiz false
52%
quiz true
👍11❤3🔥2
#todo написати функцію на будь-якій мові програмування, яка приймає повний шлях до файлу та повертає число.
Файл може містити довільну кількість рядків, кожен з яких містить мінімум одну цифру. Необхідно знайти першу та останню цифру та скласти їх в число. Функція має сформувати числа для кожного рядка та повернути їх суму.
Наприклад:
Файл може містити довільну кількість рядків, кожен з яких містить мінімум одну цифру. Необхідно знайти першу та останню цифру та скласти їх в число. Функція має сформувати числа для кожного рядка та повернути їх суму.
Наприклад:
abc1def2 => 12
dhij3klm => 33
4no5p6qr => 46
Результат = 91
🤔5👍4
Function overload 🥵
Можливо, ви коли-небудь працювали з мовою, яка дозволяє перевантажувати функції. В
Нехай вам чомусь потрібна функція
Спочатку, потрібно написати "голову" функції для кожного випадку. У вас обовʼязково має бути різний список аргументів (за довжиною чи за типом).
Після цього вам необхідно написати саме тіло функції. Воно обовʼязково має задовольняти кожне попереднє оголошення функції.
Зауважте, що
Отак не вийде зробити, адже немає функції
Якщо хочете дослідити це питання більше, нижче додаємо вам посилання на Handbook TypeScript.
👉 Відкрити посилання
#tips
Можливо, ви коли-небудь працювали з мовою, яка дозволяє перевантажувати функції. В
JavaScript
такої потреби немає, адже немає статичної типізації. В TypeScript
, хоч типи і не такі як в компільованих мовах, перевантаження функцій теж доступне.Нехай вам чомусь потрібна функція
convert
, яка перетворює boolean
в number
, а number
в string
. Звісно, можна спробувати Generics
, але тут можна обійтись і без них, просто перевантаживши функцію.Спочатку, потрібно написати "голову" функції для кожного випадку. У вас обовʼязково має бути різний список аргументів (за довжиною чи за типом).
function convert(x: boolean): number;
function convert(x: number): string;
Після цього вам необхідно написати саме тіло функції. Воно обовʼязково має задовольняти кожне попереднє оголошення функції.
function convert(x: boolean | number): number | string {
return typeof x === "boolean" ? Number(x) : String(x)
}
Зауважте, що
TypeScript
буде використовувати лише оголошення без тіла функції, коли працюватиме з типізацією. Виглядатиме все так, наче у вас дві різні функції, проте з однаковим іменем.convert(Math.random() > 0.5 ? true : 1)
Отак не вийде зробити, адже немає функції
convert
, яка може прийняти boolean | number
, вона може прийняти лише конкретно boolean
або number. Саме ця частина спочатку часто може збивати з пантелику.Якщо хочете дослідити це питання більше, нижче додаємо вам посилання на Handbook TypeScript.
👉 Відкрити посилання
#tips
👍10🔥3❤1
Всі шляхи цього місяця ведуть на найбільший нетворк IT-спільноти. Вибачте, без варіантів. 31 серпня, Київ, Unit City.
До зустрічі, квитки тут! Програма 👉 https://dou.ua/goto/RlpI
До зустрічі, квитки тут! Програма 👉 https://dou.ua/goto/RlpI
👍4❤2🐳2