Вітаю! 😃
Хотів би тобі нагадати, що в суботу відбудеться перший закритий вебінар по JS, так що - приєднуйся, напиши мені)
А ще!
Хочу тобі розповісти, що після великого часу роздумів - я створив акаунт YouTube та Facebook від цього Telegram каналу! 🥳
Для того, щоб його могла бачити незнайома зі мною аудиторія 😌
Він буде дублювати пости, які тут і відправляти на ці платформи))
Дякую, тобі величезніше за твою підтримку!
Разом з тобою ми будемо створювати більше якісного україномовного контенту з програмування 😌
І ось посилання на ці акаунти:
Facebook: https://www.facebook.com/profile.php?id=100094467560386
YouTube: https://www.youtube.com/@notes_programmer
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#interesting
Хотів би тобі нагадати, що в суботу відбудеться перший закритий вебінар по JS, так що - приєднуйся, напиши мені)
А ще!
Хочу тобі розповісти, що після великого часу роздумів - я створив акаунт YouTube та Facebook від цього Telegram каналу! 🥳
Для того, щоб його могла бачити незнайома зі мною аудиторія 😌
Він буде дублювати пости, які тут і відправляти на ці платформи))
Дякую, тобі величезніше за твою підтримку!
Разом з тобою ми будемо створювати більше якісного україномовного контенту з програмування 😌
І ось посилання на ці акаунти:
Facebook: https://www.facebook.com/profile.php?id=100094467560386
YouTube: https://www.youtube.com/@notes_programmer
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#interesting
Facebook
Log in or sign up to view
See posts, photos and more on Facebook.
🔥8🤩2❤1👍1
Нотатки програміста
Вітаю! 😃 Ось і ця нова рубрика, яку, я радий тобі презентувати!!! Назвивається вона "Співбесіди" 😌️️️️️️ Тепер написавши: #interviews Ти зможеш знайти всі співбесіди, які я робив для учнів на різні позиції) Дякую, Богдане, ще раз тобі за цю чудову ідею!…
Вітаю! 😃
Хотів би нагадати, що сьогодні о 18:00 за Києвом буде закритий вебінар про який я писав)
Так що, кому цікаво - долучайтесь!
Залишилось 5 годин до старту 😌
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#webinar #js
Хотів би нагадати, що сьогодні о 18:00 за Києвом буде закритий вебінар про який я писав)
Так що, кому цікаво - долучайтесь!
Залишилось 5 годин до старту 😌
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#webinar #js
❤🔥6🦄3❤1🤩1
Вітаю! 😃
Давайте поговоримо про «Шаблони проектування» 😌
Шаблони проектування є важливим інструментом для розробників, вони дозволяють систематизувати й оптимізувати процес створення програми, створює зручні та правильні підходи до вирішення певних задач і допомагають підтримувати високу якість коду та забезпечити його легку розширюваність і зрозумілість 😉 (іншими словами: вони роблять програмування простіше та якісніше)
Основні причини використання шаблонів проектування:
1. Повторне використання коду: Шаблони дозволяють розробникам не починати створення коду з нуля кожного разу, коли стикаються з схожою задачею
Замість цього, вони можуть використовувати вже існуючі шаблони, що спрощує процес і пришвидшує розробку
2. Стандартизація: Використання шаблонів допомагає встановити стандарт для проектування додатку
Це робить код більш зрозумілим для інших розробників, які можуть брати участь в проекті пізніше, або для самих розробників у майбутньому, коли їм потрібно буде оновити чи розширити програму
3. Забезпечення якості: Шаблони випробувалися часом та досвідом, і їх ефективність перевірена на практиці
Вони допомагають уникнути багатьох помилок, які можуть з'явитися при проектуванні та реалізації програмного продукту
4. Легкість розширення: Завдяки шаблонам, програмне забезпечення стає більш гнучким та легше розширюваним
Вони дозволяють додавати новий функціонал без необхідності переписувати вже існуючий код 😌
5. Комунікація: Шаблони допомагають розробникам зрозуміти один одного та спілкуватися з іншими членами команди, що полегшує спілкування та обмін знанням 💪
Деякі з найпоширеніших шаблонів проектування включають: Singleton (Одинак), Factory (Фабрика), Observer (Спостерігач), і MVC (Model-View-Controller) тощо
Які ми будемо дивитися на цьому каналі! 😌
І дякую, одному зі своїх учнів за таку цікаву ідею!!! 🥳🥳🥳
Нагадую, ти можеш мені писати з пропозиціями в Телеграм і я їх обов’язково розгляну та швидш за все включу в цей канал
Через що плюс, як і тобі, так і мені 😉
А ми тим часом продовжимо
З їх допомогою команди можуть ефективно працювати над проектами, знижуючи час розробки та ризики пов'язані з помилками, і створюючи більш структуровані та легко збережені рішення 😌
Ці шаблони можуть використовуватися у будь-якій сфері програмування: створення веб-сайтів, робота з Python, PHP, створення додатку з .NET, або Swift та в багатьох інших сфер!
У наступних постах будуть зʼявлятися теги: #pattern - саме на них я буду пояснювати кожен з патернів, використовуючи, також приклад на де-яких мовах програмування 😉
А тим часом, на сьогодні в мене все!
Дякую за твій час 😌
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#pattern #web #js #python #php
Давайте поговоримо про «Шаблони проектування» 😌
Шаблони проектування є важливим інструментом для розробників, вони дозволяють систематизувати й оптимізувати процес створення програми, створює зручні та правильні підходи до вирішення певних задач і допомагають підтримувати високу якість коду та забезпечити його легку розширюваність і зрозумілість 😉 (іншими словами: вони роблять програмування простіше та якісніше)
Основні причини використання шаблонів проектування:
1. Повторне використання коду: Шаблони дозволяють розробникам не починати створення коду з нуля кожного разу, коли стикаються з схожою задачею
Замість цього, вони можуть використовувати вже існуючі шаблони, що спрощує процес і пришвидшує розробку
2. Стандартизація: Використання шаблонів допомагає встановити стандарт для проектування додатку
Це робить код більш зрозумілим для інших розробників, які можуть брати участь в проекті пізніше, або для самих розробників у майбутньому, коли їм потрібно буде оновити чи розширити програму
3. Забезпечення якості: Шаблони випробувалися часом та досвідом, і їх ефективність перевірена на практиці
Вони допомагають уникнути багатьох помилок, які можуть з'явитися при проектуванні та реалізації програмного продукту
4. Легкість розширення: Завдяки шаблонам, програмне забезпечення стає більш гнучким та легше розширюваним
Вони дозволяють додавати новий функціонал без необхідності переписувати вже існуючий код 😌
5. Комунікація: Шаблони допомагають розробникам зрозуміти один одного та спілкуватися з іншими членами команди, що полегшує спілкування та обмін знанням 💪
Деякі з найпоширеніших шаблонів проектування включають: Singleton (Одинак), Factory (Фабрика), Observer (Спостерігач), і MVC (Model-View-Controller) тощо
Які ми будемо дивитися на цьому каналі! 😌
І дякую, одному зі своїх учнів за таку цікаву ідею!!! 🥳🥳🥳
Нагадую, ти можеш мені писати з пропозиціями в Телеграм і я їх обов’язково розгляну та швидш за все включу в цей канал
Через що плюс, як і тобі, так і мені 😉
А ми тим часом продовжимо
З їх допомогою команди можуть ефективно працювати над проектами, знижуючи час розробки та ризики пов'язані з помилками, і створюючи більш структуровані та легко збережені рішення 😌
Ці шаблони можуть використовуватися у будь-якій сфері програмування: створення веб-сайтів, робота з Python, PHP, створення додатку з .NET, або Swift та в багатьох інших сфер!
У наступних постах будуть зʼявлятися теги: #pattern - саме на них я буду пояснювати кожен з патернів, використовуючи, також приклад на де-яких мовах програмування 😉
А тим часом, на сьогодні в мене все!
Дякую за твій час 😌
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#pattern #web #js #python #php
🔥10❤🔥3🤩2❤1
Вітаю! 😃
Нове слово у студію: амперсанд (&) 😌
Ну що ж!
Тепер ти знаєш що одне слово, яким можеш похвастатися перед своїми колегами 😁
Що ж це таке?
Це символ, який використовується у багатьох мовах програмування для «посилання на глобальну зміну з метою її зміни» (ну й ще, як символ, що показує в умовах слово «також» і побітових операці «і»)
Я щось подумав, що давно про PHP не писав, так що, покажу, як він працює на базі цієї мови)
У мові програмування PHP амперсанд використовується для декількох цікавих завдань
Одне з них - це операція побітового «AND» («і»), яка використовується для операцій з окремими бітами чисел
Наприклад:
Насправді, це більше для того, щоб ти знав, що ж така річ як побітовість (ще одна тема з програмування, яку ти можеш вивчити 😉)
Ще, не менш важливою властивістю амперсанду є його використання для передавання декількох параметрів у посиланні 😌
Наприклад, як тут я зробив з HTML:
У цьому випадку амперсанд вказує на ще один параметр “page”, який ми передали 😉
І ось, найцікавіша, можливість, яку ти, можливо, не знав!
Амперсанд використовується для передачі змінних по ПОСИЛАННЮ
Це дозволяє змінювати значення змінної всередині функції і мати ці зміни видимими за межами функції!
Приклад:
Але пам'ятай!!!
Що використання амперсанду для передачі по посиланню може бути потенційно небезпечним, оскільки це може призвести до неочікуваної зміни значення змінної
Так що, використовуй її обережно 😉
Отже, амперсанд у PHP має кілька важливих завдань, включаючи побітові операції, доповнення URL-посилань та передачу змінних по посиланню
Розуміння цих особливостей допоможе ефективно використовувати цей символ у твоєму коді 😌
Бажаю, приємної клавіатури під рукою!!! 😉
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#web #php #c #swift
Нове слово у студію: амперсанд (&) 😌
Ну що ж!
Тепер ти знаєш що одне слово, яким можеш похвастатися перед своїми колегами 😁
Що ж це таке?
Це символ, який використовується у багатьох мовах програмування для «посилання на глобальну зміну з метою її зміни» (ну й ще, як символ, що показує в умовах слово «також» і побітових операці «і»)
Я щось подумав, що давно про PHP не писав, так що, покажу, як він працює на базі цієї мови)
У мові програмування PHP амперсанд використовується для декількох цікавих завдань
Одне з них - це операція побітового «AND» («і»), яка використовується для операцій з окремими бітами чисел
Наприклад:
$a = 5; // 0101
$b = 3; // 0011
$result = $a & $b; // 0001 (результат: 1)
Насправді, це більше для того, щоб ти знав, що ж така річ як побітовість (ще одна тема з програмування, яку ти можеш вивчити 😉)
Ще, не менш важливою властивістю амперсанду є його використання для передавання декількох параметрів у посиланні 😌
Наприклад, як тут я зробив з HTML:
<a href="page.php?category=5&page=3">Перейти до 5-ї категорії на 3-їй сторінці</a>
У цьому випадку амперсанд вказує на ще один параметр “page”, який ми передали 😉
І ось, найцікавіша, можливість, яку ти, можливо, не знав!
Амперсанд використовується для передачі змінних по ПОСИЛАННЮ
Це дозволяє змінювати значення змінної всередині функції і мати ці зміни видимими за межами функції!
Приклад:
function increment(&$num) {
$num++;
}
$value = 10;
increment($value);
echo $value; // Виведе 11
Але пам'ятай!!!
Що використання амперсанду для передачі по посиланню може бути потенційно небезпечним, оскільки це може призвести до неочікуваної зміни значення змінної
Так що, використовуй її обережно 😉
Отже, амперсанд у PHP має кілька важливих завдань, включаючи побітові операції, доповнення URL-посилань та передачу змінних по посиланню
Розуміння цих особливостей допоможе ефективно використовувати цей символ у твоєму коді 😌
Бажаю, приємної клавіатури під рукою!!! 😉
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#web #php #c #swift
👍5❤3🤔2🤩2🔥1
Вітаю! 😃
Що ж таке прототипи? 🤔
Прототипи в JavaScript - це механізм, який дозволяє об'єктам успадковувати властивості та методи від інших об'єктів, тобто завдяки ньому ти можеш розширювати функціональність свого обʼєкту!
Хіба це не чудово?) 😃
Кожен об'єкт має посилання на прототип, з якого він може взяти властивості, які не визначені безпосередньо в ньому самому
Це дозволяє створювати ієрархії об'єктів та спрощує розподіл коду 😉
Наприклад: якщо у тебе є об'єкт A з певними методами і властивостями, ти можеш створити новий об'єкт B, встановивши його прототипом об'єкт A
Тепер об'єкт B буде успадковувати ВСІ методи та властивості від A 😌
Прототипи є ключовим поняттям у JavaScript та лежать в основі спадкування об'єктів та прототипно-орієнтованого програмування в цій мові!
Коли ти використовуєш функціональність таких обʼєктів ю, як: FormData, Number, Math, Date та інші - ти використовуєш їх властивості, які прописані в ПРОТОТИПІ!!!
Так що, запамʼятай: JavaScript створений на прототипах 😉
Ну що ж) на сьогодні це все 😉
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#js
Що ж таке прототипи? 🤔
Прототипи в JavaScript - це механізм, який дозволяє об'єктам успадковувати властивості та методи від інших об'єктів, тобто завдяки ньому ти можеш розширювати функціональність свого обʼєкту!
Хіба це не чудово?) 😃
Кожен об'єкт має посилання на прототип, з якого він може взяти властивості, які не визначені безпосередньо в ньому самому
Це дозволяє створювати ієрархії об'єктів та спрощує розподіл коду 😉
Наприклад: якщо у тебе є об'єкт A з певними методами і властивостями, ти можеш створити новий об'єкт B, встановивши його прототипом об'єкт A
Тепер об'єкт B буде успадковувати ВСІ методи та властивості від A 😌
const A = {
methodA() {
console.log('Method A');
}
};
const B = Object.create(A);
B.methodB = function() {
console.log('Method B');
};
B.methodA(); // Викличе "Method A"
B.methodB(); // Викличе "Method B"Прототипи є ключовим поняттям у JavaScript та лежать в основі спадкування об'єктів та прототипно-орієнтованого програмування в цій мові!
Коли ти використовуєш функціональність таких обʼєктів ю, як: FormData, Number, Math, Date та інші - ти використовуєш їх властивості, які прописані в ПРОТОТИПІ!!!
Так що, запамʼятай: JavaScript створений на прототипах 😉
Ну що ж) на сьогодні це все 😉
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#js
❤9🔥3🤩2👍1
Вітаю! 😃
Фабричний шаблон проектування 😌
Давай поговоримо про нього))
Фабричний шаблон проектування є одним із ключових понять в області програмування та розробки програмного забезпечення!
Він належить до групи "породжувальних" шаблонів, які спрощують процес створення об'єктів та сприяють досягненню більшої гнучкості та підтримки коду
Фабричний шаблон дозволяє виокремити процес СТВОРЕННЯ об'єкту від його подальшого ВИКОРИСТАННЯ, що полегшує зміни та модифікації обʼєктів у майбутньому 😉
Основна ідея фабричного шаблону полягає в тому, щоб винести логіку створення об'єкту в окремий клас або метод, який називається "фабрикою"
Це дозволяє зосередитись на створенні об'єкту, не розглядаючи всі деталі його конструкції в основному коді)
Такий підхід забезпечує велику гнучкість, адже можливо змінювати або додавати нові типи об'єктів, не впливаючи на вже існуючий код програми!
Існує декілька різновидів фабричних шаблонів:
1. Проста фабрика (Simple Factory): Це базовий тип, де фабрика володіє методом для створення об'єктів на основі переданого параметра (даних)
Він використовується для створення об'єктів одного типу
2. Фабрика методів (Factory Method): В цьому випадку фабрика визначає інтерфейс (місце) для створення об'єктів, а конкретні підкласи (функціональності) реалізовують (створюють) цей інтерфейс, визначаючи, який саме об'єкт створювати
Спробую більш ясно пояснити на прикладі в Python
3. Абстрактна фабрика (Abstract Factory): Цей шаблон дозволяє створювати сімейства пов'язаних об'єктів без прив'язки до конкретних класів
Він дозволяє легко змінювати зв'язки між об'єктами
Переваги фабричного шаблону включають полегшення тестування, спрощення коду та його підтримки, а також можливість додавання нових функцій без великих змін у вже існуючому коді 😌
ПРОСТА ФАБРИКА
Ось приклад на JavaScript:
У цьому прикладі VehicleFactory є простою фабрикою, яка має метод createVehicle
Він приймає тип транспортного засобу (машина або велосипед) і необхідні параметри для створення потрібного об’єкта
Залежно від переданого типу, фабрика створює відповідний об’єкт (Car, або Bike) і повертає його)
Після отримання об’єктів від фабрики, ми можемо викликати метод getInfo(), який виводить інформацію про транспортний засіб (цей метод ми писали в класах Car та Bike) 😉
Фабричний шаблон проектування 😌
Давай поговоримо про нього))
Фабричний шаблон проектування є одним із ключових понять в області програмування та розробки програмного забезпечення!
Він належить до групи "породжувальних" шаблонів, які спрощують процес створення об'єктів та сприяють досягненню більшої гнучкості та підтримки коду
Фабричний шаблон дозволяє виокремити процес СТВОРЕННЯ об'єкту від його подальшого ВИКОРИСТАННЯ, що полегшує зміни та модифікації обʼєктів у майбутньому 😉
Основна ідея фабричного шаблону полягає в тому, щоб винести логіку створення об'єкту в окремий клас або метод, який називається "фабрикою"
Це дозволяє зосередитись на створенні об'єкту, не розглядаючи всі деталі його конструкції в основному коді)
Такий підхід забезпечує велику гнучкість, адже можливо змінювати або додавати нові типи об'єктів, не впливаючи на вже існуючий код програми!
Існує декілька різновидів фабричних шаблонів:
1. Проста фабрика (Simple Factory): Це базовий тип, де фабрика володіє методом для створення об'єктів на основі переданого параметра (даних)
Він використовується для створення об'єктів одного типу
2. Фабрика методів (Factory Method): В цьому випадку фабрика визначає інтерфейс (місце) для створення об'єктів, а конкретні підкласи (функціональності) реалізовують (створюють) цей інтерфейс, визначаючи, який саме об'єкт створювати
Спробую більш ясно пояснити на прикладі в Python
3. Абстрактна фабрика (Abstract Factory): Цей шаблон дозволяє створювати сімейства пов'язаних об'єктів без прив'язки до конкретних класів
Він дозволяє легко змінювати зв'язки між об'єктами
Переваги фабричного шаблону включають полегшення тестування, спрощення коду та його підтримки, а також можливість додавання нових функцій без великих змін у вже існуючому коді 😌
ПРОСТА ФАБРИКА
Ось приклад на JavaScript:
// Класи для створюваних об'єктів
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
getInfo() {
return `Car: ${this.make} ${this.model}`;
}
}
class Bike {
constructor(brand) {
this.brand = brand;
}
getInfo() {
return Bike: ${this.brand};
}
}
// Проста фабрика
class VehicleFactory {
createVehicle(type, ...args) {
switch (type) {
case 'car':
return new Car(...args);
case 'bike':
return new Bike(...args);
default:
throw new Error('Invalid vehicle type');
}
}
}
// Використання простої фабрики
const factory = new VehicleFactory();
const car = factory.createVehicle('car', 'Toyota', 'Camry');
console.log(car.getInfo()); // Виведе: Car: Toyota Camry
const bike = factory.createVehicle('bike', 'Trek');
console.log(bike.getInfo()); // Виведе: Bike: TrekУ цьому прикладі VehicleFactory є простою фабрикою, яка має метод createVehicle
Він приймає тип транспортного засобу (машина або велосипед) і необхідні параметри для створення потрібного об’єкта
Залежно від переданого типу, фабрика створює відповідний об’єкт (Car, або Bike) і повертає його)
Після отримання об’єктів від фабрики, ми можемо викликати метод getInfo(), який виводить інформацію про транспортний засіб (цей метод ми писали в класах Car та Bike) 😉
🔥6❤🔥2
ФАБРИЧНИЙ МЕТОД
Ось приклад використання фабрики методів на Python:
# Класи для створюваних об'єктів
class Dog:
def __init__(self, name):
self.name = name
def speak(self):
return "Woof!"
class Cat:
def __init__(self, name):
self.name = name
def speak(self):
return "Meow!"
# Фабричний метод для створення тварин
class AnimalFactory:
def create_animal(self, animal_type, name):
if animal_type == "dog":
return Dog(name)
elif animal_type == "cat":
return Cat(name)
else:
raise ValueError("Invalid animal type")
# Використання фабрики методів
factory = AnimalFactory()
dog = factory.create_animal("dog", "Buddy")
print(dog.speak()) # Виведе: Woof!
cat = factory.create_animal("cat", "Whiskers")
print(cat.speak()) # Виведе: Meow!
У цьому прикладі AnimalFactory є фабричним методом
Він має метод create_animal, який приймає тип тварини (dog, або cat) й ім’я для створення відповідного об’єкта (у нашому випадку: "Buddy" та "Whiskers")
Після створення об’єктів ми можемо викликати метод speak(), який повертає рядок із звуком, який видає тварина (голос ми передали через у кожному класі окремо) 😉
АБСТРАКТНА ФАБРИКА
Ось приклад використання абстрактної фабрики на Java:
// Класи для створюваних об'єктів
У цьому прикладі інтерфейс Shape представляє геометричну фігуру, а його реалізації - Circle, Rectangle та Triangle - представляють конкретні фігури.
Абстрактна фабрика представлена інтерфейсом ShapeFactory, а його реалізації - CircleFactory, RectangleFactory та TriangleFactory - відповідають за створення відповідних фігур.
У AbstractFactoryExample ми створюємо різні фабрики та використовуємо їх для створення та виведення різних геометричних фігур.
Загалом, фабричний шаблон проектування є потужним інструментом для покращення організації коду та забезпечення його гнучкості 😌
Він знаходить своє застосування в різних областях програмування, від обробки даних до графічних інтерфейсів)
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#pattern #js #python #java
Ось приклад використання фабрики методів на Python:
# Класи для створюваних об'єктів
class Dog:
def __init__(self, name):
self.name = name
def speak(self):
return "Woof!"
class Cat:
def __init__(self, name):
self.name = name
def speak(self):
return "Meow!"
# Фабричний метод для створення тварин
class AnimalFactory:
def create_animal(self, animal_type, name):
if animal_type == "dog":
return Dog(name)
elif animal_type == "cat":
return Cat(name)
else:
raise ValueError("Invalid animal type")
# Використання фабрики методів
factory = AnimalFactory()
dog = factory.create_animal("dog", "Buddy")
print(dog.speak()) # Виведе: Woof!
cat = factory.create_animal("cat", "Whiskers")
print(cat.speak()) # Виведе: Meow!
У цьому прикладі AnimalFactory є фабричним методом
Він має метод create_animal, який приймає тип тварини (dog, або cat) й ім’я для створення відповідного об’єкта (у нашому випадку: "Buddy" та "Whiskers")
Після створення об’єктів ми можемо викликати метод speak(), який повертає рядок із звуком, який видає тварина (голос ми передали через у кожному класі окремо) 😉
АБСТРАКТНА ФАБРИКА
Ось приклад використання абстрактної фабрики на Java:
// Класи для створюваних об'єктів
interface Shape {
void draw();
}
class Circle implements Shape {
public void draw() {
System.out.println("Drawing a circle");
}
}
class Rectangle implements Shape {
public void draw() {
System.out.println("Drawing a rectangle");
}
}
class Triangle implements Shape {
public void draw() {
System.out.println("Drawing a triangle");
}
}
// Абстрактна фабрика для створення геометричних фігур
interface ShapeFactory {
Shape createShape();
}
class CircleFactory implements ShapeFactory {
public Shape createShape() {
return new Circle();
}
}
class RectangleFactory implements ShapeFactory {
public Shape createShape() {
return new Rectangle();
}
}
class TriangleFactory implements ShapeFactory {
public Shape createShape() {
return new Triangle();
}
}
// Використання абстрактної фабрики
public class AbstractFactoryExample {
public static void main(String[] args) {
ShapeFactory factory;
// Створення кола
factory = new CircleFactory();
Shape circle = factory.createShape();
circle.draw(); // Виведе: Drawing a circle
// Створення прямокутника
factory = new RectangleFactory();
Shape rectangle = factory.createShape();
rectangle.draw(); // Виведе: Drawing a rectangle
// Створення трикутника
factory = new TriangleFactory();
Shape triangle = factory.createShape();
triangle.draw(); // Виведе: Drawing a triangle
}
}У цьому прикладі інтерфейс Shape представляє геометричну фігуру, а його реалізації - Circle, Rectangle та Triangle - представляють конкретні фігури.
Абстрактна фабрика представлена інтерфейсом ShapeFactory, а його реалізації - CircleFactory, RectangleFactory та TriangleFactory - відповідають за створення відповідних фігур.
У AbstractFactoryExample ми створюємо різні фабрики та використовуємо їх для створення та виведення різних геометричних фігур.
Загалом, фабричний шаблон проектування є потужним інструментом для покращення організації коду та забезпечення його гнучкості 😌
Він знаходить своє застосування в різних областях програмування, від обробки даних до графічних інтерфейсів)
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#pattern #js #python #java
❤6🤩2😍2👍1
Нотатки програміста
Вітаю! У мене є один знайомий, який пропонує попасти на стажування та допомогти команді з досягненням цілей) Дивись, компанія буде розробляти додаток локальної соц. мережі для університетів в Україні (та не тільки) Треба буде створити веб-додаток та бекенд…
Вітаю! 😃
Давненько не чули один одного)
У мене для тебе чудова новина!
Памʼятаєш Олександра, який знаходив людей для команди у свій стартап?)
Так ось!
Він тепер шукає PHP-розробника зі знаннями JS (Angular, бажано)
Ось більш детальне інформація, якщо тобі цікаво 😉
У будь-якому випадку він чекає на твоє повідомлення тут: @thebirdisfreed
Рекомендую мати зі собою резюме 😌
Удачі тобі!!!
#vacancy
Давненько не чули один одного)
У мене для тебе чудова новина!
Памʼятаєш Олександра, який знаходив людей для команди у свій стартап?)
Так ось!
Він тепер шукає PHP-розробника зі знаннями JS (Angular, бажано)
Ось більш детальне інформація, якщо тобі цікаво 😉
У будь-якому випадку він чекає на твоє повідомлення тут: @thebirdisfreed
Рекомендую мати зі собою резюме 😌
Удачі тобі!!!
#vacancy
❤🔥6⚡2🔥2❤1🤩1
Вітаю! 😃
У мене є для тебе дууууже цікаво пропозиція)
Одна моя дуууже добра знайома! Пропоную цікаву вакансію)
Розробник по Shopify 😌
Десь на 5 тижнів)
Кому цікаво!
Ось її акаунт у Телеграмі: @YevheniiaCE
Можеш відразу відправляти CV (про тебе інформацію)
Так що, не зволікай 😉
У мене є для тебе дууууже цікаво пропозиція)
Одна моя дуууже добра знайома! Пропоную цікаву вакансію)
Розробник по Shopify 😌
Десь на 5 тижнів)
Кому цікаво!
Ось її акаунт у Телеграмі: @YevheniiaCE
Можеш відразу відправляти CV (про тебе інформацію)
Так що, не зволікай 😉
🔥5🤩2
Вітаю! 😃️️
Записав невелике відео для учнів з однієї групи, але захотів і з вами поділитися) це про те, що таке Reducer та конкретне використання NGRX 😌
Так що, з радістю запрошую тебе на перегляд!
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#js
Записав невелике відео для учнів з однієї групи, але захотів і з вами поділитися) це про те, що таке Reducer та конкретне використання NGRX 😌
Так що, з радістю запрошую тебе на перегляд!
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#js
🤩5❤1
Вітаю! 😃️️️️
Ну що ж)
У мене для тебе радісні новини))
З сьогоднішнього дня я відкриваю новий проект 😌️️️️
Багато людей у мене просили... і ось) вуаля))
Ти це отримаєш!
Я відкриваю свої ОНЛАЙН КУРСИ!!! 🥳️️🥳️️🥳️️
Що ж це за курси??
🔥 Це саме записані курси, які ти зможеш дивитися коли та як завгодно!
🔥 На цих курсах буде більше 200 годин уроків!
🔥 Кожен день буде виходити мінімум 1 відео
🔥 Тривалість звичайних уроків 15-30 хв
🔥 Тривалість практичних занять 1 година
🔥 Простий та зрозумілий опис кожного заняття, щоб можна було не переглядати кожен урок, якщо щось забув)
🔥 Тебе очікує по декілька практичних занять на кожну секцію, щоб ти міг побачити, як правильно треба вирішувати проблеми при верстці 😌
🔥 У тебе буде можливість коментувати кожне заняття та дізнаватися відповіді на твої питання у мене особисто, чи в коментарях від нашої спільноти, яка буде поповнюватися 😃️️️️
🔥 А також домашні завдання після кожного заняття)) які будуть для самостійного опрацювання! Зможеш поділитися домашкою в коментарях до заняття і я, або інші підписники, при можливості, прокоментують його 😌
🔥 Береш один курс та забуваєш про покупку інших - на курсі я щоразу буду доповнювати його новими функціональностями та технологіями, як тільки вони виходять! Більше того, ти мені можеш написати по якій технології ти хотів би додати відео до курсу та я їх створю і ти витратиш менше часу та грошей) Таким чином ти завжди будеш з актуальними знаннями 😉️️️️
Курс, поки що, створюється) він буде закінчений повністью за 2-3 місяці)
У звʼязку з цим, що він у розробці - хочу тебе порадувати, що ти можеш взяти прямо ЗАРАЗ цей курс зі знижкою 75%!!!
Після того, як я його завершу, його ціна буде 4000 грн, а зараз ти його можеш взяти за ціною 1000 грн 😌️️️️
Також у подальшому буде 4 етапа створення курсу: 25%, 50%, 75% та 100%
У кожного цього етапа буде різна ціна:
25% - 1500 грн
50% - 2000 грн
75% - 3000 грн
100% - 4000 грн
Зараз ми знаходимось на етапі менше 25% створення курсу, так що, ти його можеш взяти за більшою знижкою, а саме 1000 грн 😉️️️️️️
Ти купляєш 1 раз і забуваєш про подальші покупки!
Якщо ти встиг купити за 1000 грн, тобі в подальшому НІЧОГО не треба доплачувати 😌
Зараз я створюю курс по Frontend, а саме: HTML, CSS, JS (Vanilla + Node.js; зі створенням серверу та роботи з новими технологіями, такі, як: GraphQL, threejs, Mocha та інші! Список необмежений - зможете надсилати свої бажання мені та я створю по цій технології курс))
Тут ти дізнаєшся, як створювати сайт ефективно та професійно, практичні та теоретичні деталі
У тебе будуть декілька готових сайтів та веб-додатків для портфоліо)
Дізнаєшся, як працювати з новими можливостями HTML5; CSS3 та новим можливостями, які там доповнюються; робота з базовими та важкими функціями в JS, наприклад Promise, WebWorkers, PWA; а також роботою з Node.js: Webpack, Express та Fastify, GraphQL та робота з MongoDB
Звісно ж і багато іншого!
Тож, зараз, ось тобі хочу показати сам курс Frontend у фотографіях та невеликому відео!
Надодачу, якщо хочеш дізнатися, як я розповідаю заняття, я можу з тобою поділитися 5-ти хвилиним фрагментом будь-якого з 5-ти перших відео)) просто напиши мені, якого відео ти хочеш фрагмент та отримуєш його 😌️️️️
Якщо хочеш замовити весь курс за 1000 грн, а не за 4000 грн - пиши мені в особисті @alex_demko_work 😉️️️️
До зустрічі!
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#video_courses #html #css #js
Ну що ж)
У мене для тебе радісні новини))
З сьогоднішнього дня я відкриваю новий проект 😌️️️️
Багато людей у мене просили... і ось) вуаля))
Ти це отримаєш!
Я відкриваю свої ОНЛАЙН КУРСИ!!! 🥳️️🥳️️🥳️️
Що ж це за курси??
🔥 Це саме записані курси, які ти зможеш дивитися коли та як завгодно!
🔥 На цих курсах буде більше 200 годин уроків!
🔥 Кожен день буде виходити мінімум 1 відео
🔥 Тривалість звичайних уроків 15-30 хв
🔥 Тривалість практичних занять 1 година
🔥 Простий та зрозумілий опис кожного заняття, щоб можна було не переглядати кожен урок, якщо щось забув)
🔥 Тебе очікує по декілька практичних занять на кожну секцію, щоб ти міг побачити, як правильно треба вирішувати проблеми при верстці 😌
🔥 У тебе буде можливість коментувати кожне заняття та дізнаватися відповіді на твої питання у мене особисто, чи в коментарях від нашої спільноти, яка буде поповнюватися 😃️️️️
🔥 А також домашні завдання після кожного заняття)) які будуть для самостійного опрацювання! Зможеш поділитися домашкою в коментарях до заняття і я, або інші підписники, при можливості, прокоментують його 😌
🔥 Береш один курс та забуваєш про покупку інших - на курсі я щоразу буду доповнювати його новими функціональностями та технологіями, як тільки вони виходять! Більше того, ти мені можеш написати по якій технології ти хотів би додати відео до курсу та я їх створю і ти витратиш менше часу та грошей) Таким чином ти завжди будеш з актуальними знаннями 😉️️️️
Курс, поки що, створюється) він буде закінчений повністью за 2-3 місяці)
У звʼязку з цим, що він у розробці - хочу тебе порадувати, що ти можеш взяти прямо ЗАРАЗ цей курс зі знижкою 75%!!!
Після того, як я його завершу, його ціна буде 4000 грн, а зараз ти його можеш взяти за ціною 1000 грн 😌️️️️
Також у подальшому буде 4 етапа створення курсу: 25%, 50%, 75% та 100%
У кожного цього етапа буде різна ціна:
25% - 1500 грн
50% - 2000 грн
75% - 3000 грн
100% - 4000 грн
Зараз ми знаходимось на етапі менше 25% створення курсу, так що, ти його можеш взяти за більшою знижкою, а саме 1000 грн 😉️️️️️️
Ти купляєш 1 раз і забуваєш про подальші покупки!
Якщо ти встиг купити за 1000 грн, тобі в подальшому НІЧОГО не треба доплачувати 😌
Зараз я створюю курс по Frontend, а саме: HTML, CSS, JS (Vanilla + Node.js; зі створенням серверу та роботи з новими технологіями, такі, як: GraphQL, threejs, Mocha та інші! Список необмежений - зможете надсилати свої бажання мені та я створю по цій технології курс))
Тут ти дізнаєшся, як створювати сайт ефективно та професійно, практичні та теоретичні деталі
У тебе будуть декілька готових сайтів та веб-додатків для портфоліо)
Дізнаєшся, як працювати з новими можливостями HTML5; CSS3 та новим можливостями, які там доповнюються; робота з базовими та важкими функціями в JS, наприклад Promise, WebWorkers, PWA; а також роботою з Node.js: Webpack, Express та Fastify, GraphQL та робота з MongoDB
Звісно ж і багато іншого!
Тож, зараз, ось тобі хочу показати сам курс Frontend у фотографіях та невеликому відео!
Надодачу, якщо хочеш дізнатися, як я розповідаю заняття, я можу з тобою поділитися 5-ти хвилиним фрагментом будь-якого з 5-ти перших відео)) просто напиши мені, якого відео ти хочеш фрагмент та отримуєш його 😌️️️️
Якщо хочеш замовити весь курс за 1000 грн, а не за 4000 грн - пиши мені в особисті @alex_demko_work 😉️️️️
До зустрічі!
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#video_courses #html #css #js
❤11🎉3⚡1🙏1
Вітаю! 😃
Ну що ж)
Давай сьогодні дізнаємось детальніше про тему:
Функціональне програмування в Python 🔥
Функціональне програмування - це метод написання коду (парадигма програмування), яка базується на математичних функціях й уникатиме змінності даних і стану (останні два слова пояснюють те, що дані можна буде легше та чіткіше взяти дані з функцій + компʼютер буде менше тормозити)
В Python, ця парадигма не є єдиною, але мова надає численні засоби для реалізації функціональних підходів)
Зараз розглянемо деякі основні концепції функціонального програмування в Python та ти побачиш приклади коду до кожного пункту))
Основні Концепції Функціонального Програмування:
1. Функції в Python - першокласні об’єкти:
У Python функції є першокласними об’єктами (це означає, що їх можна передавати як аргументи до інших функцій)
Потім у цих функціях можна запускати передану функцію і результат зберігати у змінну (знаю, трохи заплутано, але перечитай текст та код декілька разів та точно зрозумієш 😉)
Приклад:
2. Високорівневі функції:
Високорівневі функції - це функції, які приймають інші функції як аргументи, але вона не повертає результат викликаної функції, як минулий приклад, а просто запускає цю функцію
І саме це дозволяє створювати більш загальні та універсальні функції, які полегшать тобі роботу з одним та тими же функціями (іншими словами, ти їх групуєш)
Приклад:
3. Замикання (closures):
Замикання - це функції, які “запам’ятовують” місце та дані, в якому вони були створені, і можуть отримувати доступ до змінних цього оточення, навіть після того, як воно вийшло з області видимості!
Приклад:
4. Рекурсія:
Функціональне програмування сприяє використанню рекурсії для вирішення задач, що можуть бути виражені рекурсивно (зазвичай це моменти, які суто звʼязані з математикою, наприклад: визначення факторіалу числа)
Python дуууже добре підтримує рекурсію завдяки стеку викликів (це такий механізм, який запамʼятовує місце де він запустився 😉)
Приклад:
Ну що ж)
Давай сьогодні дізнаємось детальніше про тему:
Функціональне програмування в Python 🔥
Функціональне програмування - це метод написання коду (парадигма програмування), яка базується на математичних функціях й уникатиме змінності даних і стану (останні два слова пояснюють те, що дані можна буде легше та чіткіше взяти дані з функцій + компʼютер буде менше тормозити)
В Python, ця парадигма не є єдиною, але мова надає численні засоби для реалізації функціональних підходів)
Зараз розглянемо деякі основні концепції функціонального програмування в Python та ти побачиш приклади коду до кожного пункту))
Основні Концепції Функціонального Програмування:
1. Функції в Python - першокласні об’єкти:
У Python функції є першокласними об’єктами (це означає, що їх можна передавати як аргументи до інших функцій)
Потім у цих функціях можна запускати передану функцію і результат зберігати у змінну (знаю, трохи заплутано, але перечитай текст та код декілька разів та точно зрозумієш 😉)
Приклад:
# Функція, яка приймає іншу функцію як аргумент
def apply(func, x):
return func(x)
# Функція, яку ми можемо передати
def square(x):
return x * x
result = apply(square, 5)
print(result) # Виведе: 252. Високорівневі функції:
Високорівневі функції - це функції, які приймають інші функції як аргументи, але вона не повертає результат викликаної функції, як минулий приклад, а просто запускає цю функцію
І саме це дозволяє створювати більш загальні та універсальні функції, які полегшать тобі роботу з одним та тими же функціями (іншими словами, ти їх групуєш)
Приклад:
# Визначимо функцію repeat, яка викликає іншу функцію n разів.
def repeat(func, n):
for i in range(n):
func() # Викликаємо передану функцію func
# Визначимо функцію dev_notes, яка виводить повідомлення "Нотатки програміста!"
def dev_notes():
print("Нотатки програміста!")
# Викликаємо функцію repeat, передаючи їй функцію dev_notes і 5 в якості аргументів
repeat(dev_notes, 5) # Виведе 5 разів: Нотатки програміста!3. Замикання (closures):
Замикання - це функції, які “запам’ятовують” місце та дані, в якому вони були створені, і можуть отримувати доступ до змінних цього оточення, навіть після того, як воно вийшло з області видимості!
Приклад:
# Визначимо зовнішню функцію outer_function, яка приймає аргумент x
def outer_function(x):
# Визначимо внутрішну функцію inner_function, яка приймає аргумент y
def inner_function(y):
return x + y # Внутрішня функція повертає суму x і y
return inner_function # Зовнішня функція повертає внутрішню функцію
# Викликаємо зовнішню функцію outer_function з аргументом 10 і зберігаємо результат у змінну closure
closure = outer_function(10)
# Викликаємо функцію closure (яка є внутрішньою функцією), передаючи їй аргумент 5, і зберігаємо результат у змінну result
result = closure(5)
# Виводимо результат, який дорівнює 15
print(result) # Виведе: 154. Рекурсія:
Функціональне програмування сприяє використанню рекурсії для вирішення задач, що можуть бути виражені рекурсивно (зазвичай це моменти, які суто звʼязані з математикою, наприклад: визначення факторіалу числа)
Python дуууже добре підтримує рекурсію завдяки стеку викликів (це такий механізм, який запамʼятовує місце де він запустився 😉)
Приклад:
# Рекурсивна функція для обчислення факторіалу
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
result = factorial(5)
print(result) # Виведе: 120👍4🔥2😍2👏1
5. Map, Filter і Reduce:
Python надає вбудовані функції map, filter і reduce, які спрощують операції над послідовностями даних, такими як списки і кортежі!
І з ними можна робити наступні дії 👇
map - дія над кожним елементом в списку/кортежі
filter - фільтрування всіх елементів в списку/кортежі
reduce - з усіх значень списку/кортежа повертає якесь одне загальне значення (наприклад: сума чисел, чи одне речення, якщо в списку було декілька окремих слів)
Приклад:
6. Анонімні функції (lambda):
Python дозволяє створювати анонімні функції за допомогою ключового слова lambda
Це корисно для визначення невеликих функцій, які використовуються лише в один раз
Приклад:
Які ж переваги функціонального програмування?
Переваги функціонального програмування:
1.) Покращену читабельність коду
2.) Зменшення багів від того, що великі функції становляться простіше
3) Спрощення тестування та розуміння коду
Однак!
Не завжди функціональний стиль є найкращим вибором, і його слід використовувати з обачливістю, особливо в контексті великих проектів 😉
У Python, функціональне програмування може бути потужним інструментом для вирішення багатьох завдань
Зрозуміння цих концепцій допоможе тобі покращити свій код і зробити його більш структурованим та ефективним 😌
Так що, навчайся!
І побачимось в наступних постах 🔥
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#python
А також хочу нагадати про акцію, яка зараз іде на мій Фронтенд курс 😉
Дивись не пропусти))
Python надає вбудовані функції map, filter і reduce, які спрощують операції над послідовностями даних, такими як списки і кортежі!
І з ними можна робити наступні дії 👇
map - дія над кожним елементом в списку/кортежі
filter - фільтрування всіх елементів в списку/кортежі
reduce - з усіх значень списку/кортежа повертає якесь одне загальне значення (наприклад: сума чисел, чи одне речення, якщо в списку було декілька окремих слів)
Приклад:
numbers = [1, 2, 3, 4, 5]
# Використання map для подвоєння кожного числа в списку
doubled_numbers = list(map(lambda x: x * 2, numbers))
# Використання filter для відфільтрування парних чисел зі списку
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
# Використання reduce для обчислення суми всіх чисел в списку
from functools import reduce
total = reduce(lambda x, y: x + y, numbers)
print("Подвоєні числа:", doubled_numbers)
print("Парні числа:", even_numbers)
print("Сума всіх чисел:", total)
6. Анонімні функції (lambda):
Python дозволяє створювати анонімні функції за допомогою ключового слова lambda
Це корисно для визначення невеликих функцій, які використовуються лише в один раз
Приклад:
# Використання анонімної функції для обчислення квадрата числа
square = lambda x: x * x
result = square(5)
print(result) # Виведе: 25
Які ж переваги функціонального програмування?
Переваги функціонального програмування:
1.) Покращену читабельність коду
2.) Зменшення багів від того, що великі функції становляться простіше
3) Спрощення тестування та розуміння коду
Однак!
Не завжди функціональний стиль є найкращим вибором, і його слід використовувати з обачливістю, особливо в контексті великих проектів 😉
У Python, функціональне програмування може бути потужним інструментом для вирішення багатьох завдань
Зрозуміння цих концепцій допоможе тобі покращити свій код і зробити його більш структурованим та ефективним 😌
Так що, навчайся!
І побачимось в наступних постах 🔥
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#python
А також хочу нагадати про акцію, яка зараз іде на мій Фронтенд курс 😉
Дивись не пропусти))
Telegram
Нотатки програміста
Вітаю! 😃️️️️
Ну що ж)
У мене для тебе радісні новини))
З сьогоднішнього дня я відкриваю новий проект 😌️️️️
Багато людей у мене просили... і ось) вуаля))
Ти це отримаєш!
Я відкриваю свої ОНЛАЙН КУРСИ!!! 🥳️️🥳️️🥳️️
Що ж це за курси??
🔥 Це саме записані…
Ну що ж)
У мене для тебе радісні новини))
З сьогоднішнього дня я відкриваю новий проект 😌️️️️
Багато людей у мене просили... і ось) вуаля))
Ти це отримаєш!
Я відкриваю свої ОНЛАЙН КУРСИ!!! 🥳️️🥳️️🥳️️
Що ж це за курси??
🔥 Це саме записані…
❤4🔥2🤩2👏1