cookie

نحن نستخدم ملفات تعريف الارتباط لتحسين تجربة التصفح الخاصة بك. بالنقر على "قبول الكل"، أنت توافق على استخدام ملفات تعريف الارتباط.

avatar

Нотатки програміста

Кидаю нотатки й думки з роботи, як Senior Full Stack Developer, Tech Leader, Team Leader і лектор IT) Огляд технологій, пояснення, новини, проходження співбесід, реклама цікавих додатків і компаній, і багато іншого! Для пропозицій: @alex_demko_work

إظهار المزيد
مشاركات الإعلانات
232
المشتركون
لا توجد بيانات24 ساعات
لا توجد بيانات7 أيام
لا توجد بيانات30 أيام

جاري تحميل البيانات...

معدل نمو المشترك

جاري تحميل البيانات...

ФАБРИЧНИЙ МЕТОД Ось приклад використання фабрики методів на 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
إظهار الكل...
5🤩 2😍 2👍 1
Вітаю! 😃 Фабричний шаблон проектування 😌 Давай поговоримо про нього)) Фабричний шаблон проектування є одним із ключових понять в області програмування та розробки програмного забезпечення! Він належить до групи "породжувальних" шаблонів, які спрощують процес створення об'єктів та сприяють досягненню більшої гнучкості та підтримки коду Фабричний шаблон дозволяє виокремити процес СТВОРЕННЯ об'єкту від його подальшого ВИКОРИСТАННЯ, що полегшує зміни та модифікації обʼєктів у майбутньому 😉 Основна ідея фабричного шаблону полягає в тому, щоб винести логіку створення об'єкту в окремий клас або метод, який називається "фабрикою" Це дозволяє зосередитись на створенні об'єкту, не розглядаючи всі деталі його конструкції в основному коді) Такий підхід забезпечує велику гнучкість, адже можливо змінювати або додавати нові типи об'єктів, не впливаючи на вже існуючий код програми! Існує декілька різновидів фабричних шаблонів: 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) 😉
إظهار الكل...
🔥 4❤‍🔥 2
Вітаю! 😃 Що ж таке прототипи? 🤔 Прототипи в 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
إظهار الكل...
8🔥 3🤩 2👍 1
Вітаю! 😃 Нове слово у студію: амперсанд (&) 😌 Ну що ж! Тепер ти знаєш що одне слово, яким можеш похвастатися перед своїми колегами 😁 Що ж це таке? Це символ, який використовується у багатьох мовах програмування для «посилання на глобальну зміну з метою її зміни» (ну й ще, як символ, що показує в умовах слово «також» і побітових операці «і») Я щось подумав, що давно про 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 2🤔 2🤩 2🔥 1
Вітаю! 😃 Давайте поговоримо про «Шаблони проектування» 😌 Шаблони проектування є важливим інструментом для розробників, вони дозволяють систематизувати й оптимізувати процес створення програми, створює зручні та правильні підходи до вирішення певних задач і допомагають підтримувати високу якість коду та забезпечити його легку розширюваність і зрозумілість 😉 (іншими словами: вони роблять програмування простіше та якісніше) Основні причини використання шаблонів проектування: 1. Повторне використання коду: Шаблони дозволяють розробникам не починати створення коду з нуля кожного разу, коли стикаються з схожою задачею Замість цього, вони можуть використовувати вже існуючі шаблони, що спрощує процес і пришвидшує розробку 2. Стандартизація: Використання шаблонів допомагає встановити стандарт для проектування додатку Це робить код більш зрозумілим для інших розробників, які можуть брати участь в проекті пізніше, або для самих розробників у майбутньому, коли їм потрібно буде оновити чи розширити програму 3. Забезпечення якості: Шаблони випробувалися часом та досвідом, і їх ефективність перевірена на практиці Вони допомагають уникнути багатьох помилок, які можуть з'явитися при проектуванні та реалізації програмного продукту 4. Легкість розширення: Завдяки шаблонам, програмне забезпечення стає більш гнучким та легше розширюваним Вони дозволяють додавати новий функціонал без необхідності переписувати вже існуючий код 😌 5. Комунікація: Шаблони допомагають розробникам зрозуміти один одного та спілкуватися з іншими членами команди, що полегшує спілкування та обмін знанням 💪 Деякі з найпоширеніших шаблонів проектування включають: Singleton (Одинак), Factory (Фабрика), Observer (Спостерігач), і MVC (Model-View-Controller) тощо Які ми будемо дивитися на цьому каналі! 😌 І дякую, одному зі своїх учнів за таку цікаву ідею!!! 🥳🥳🥳 Нагадую, ти можеш мені писати з пропозиціями в Телеграм і я їх обов’язково розгляну та швидш за все включу в цей канал Через що плюс, як і тобі, так і мені 😉 А ми тим часом продовжимо З їх допомогою команди можуть ефективно працювати над проектами, знижуючи час розробки та ризики пов'язані з помилками, і створюючи більш структуровані та легко збережені рішення 😌 Ці шаблони можуть використовуватися у будь-якій сфері програмування: створення веб-сайтів, робота з Python, PHP, створення додатку з .NET, або Swift та в багатьох інших сфер! У наступних постах будуть зʼявлятися теги: #pattern - саме на них я буду пояснювати кожен з патернів, використовуючи, також приклад на де-яких мовах програмування 😉 А тим часом, на сьогодні в мене все! Дякую за твій час 😌 Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗 5408810040380635 #pattern #web #js #python #php
إظهار الكل...
🔥 10❤‍🔥 2🤩 2 1
Вітаю! 😃 Хотів би нагадати, що сьогодні о 18:00 за Києвом буде закритий вебінар про який я писав) Так що, кому цікаво - долучайтесь! Залишилось 5 годин до старту 😌 Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗 5408810040380635 #webinar #js
إظهار الكل...
❤‍🔥 5🦄 3 1🤩 1
Вітаю! 😃 Хотів би тобі нагадати, що в суботу відбудеться перший закритий вебінар по JS, так що - приєднуйся, напиши мені) А ще! Хочу тобі розповісти, що після великого часу роздумів - я створив акаунт YouTube та Facebook від цього Telegram каналу! 🥳 Для того, щоб його могла бачити незнайома зі мною аудиторія 😌 Він буде дублювати пости, які тут і відправляти на ці платформи)) Дякую, тобі величезніше за твою підтримку! Разом з тобою ми будемо створювати більше якісного україномовного контенту з програмування 😌 І ось посилання на ці акаунти: Facebook: https://www.facebook.com/profile.php?id=100094467560386 YouTube: https://www.youtube.com/@notes_programmer Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗 5408810040380635 #interesting
إظهار الكل...
Log in to Facebook

Log in to Facebook to start sharing and connecting with your friends, family and people you know.

🔥 7🤩 2 1
1:21:54
Video unavailableShow in Telegram
video1139497186.mp4625.88 MB
❤‍🔥 8 1👏 1
audio1139497186.m4a74.59 MB
🔥 7 1👏 1
Вітаю! 😃 Ось і ця нова рубрика, яку, я радий тобі презентувати!!! Назвивається вона "Співбесіди" 😌️️️️️️ Тепер написавши: #interviews Ти зможеш знайти всі співбесіди, які я робив для учнів на різні позиції) Дякую, Богдане, ще раз тобі за цю чудову ідею! Якщо у когось ще будуть ідеї для каналу - пишіть мені @alex_demko_work 😌️️️️️️ І ще! Чекай нові цікаві рубрики 😏 А тим часом, пропоную тобі подивитися співбесіду, яку я зробив для Богдана (без коду, на жаль, не встигли) на Junior Frontend Developer (vanilla JS) (vanilla JS - це звичайний JavaScript) Думаю, тобі буде цікаво та ти багато зможеш для себе підмітити 😉 Якщо хочеш бути наступним кандидатом на інтервʼю - також пиши мені! Приємного перегляду)) А ще можеш почитита статью про співбесіди, від однією з компаній, де я працюю: https://www.linkedin.com/posts/dan-it-education_%D0%B1%D0%BE%D1%8F%D1%82%D0%B8%D1%81%D1%8F-%D1%81%D0%BF%D1%96%D0%B2%D0%B1%D0%B5%D1%81%D1%96%D0%B4-%D0%BC%D0%BE%D0%B6%D0%B5-%D0%B1%D1%83%D1%82%D0%B8-%D0%B7%D0%B2%D0%B8%D1%87%D0%B0%D0%B9%D0%BD%D0%BE%D1%8E-%D1%80%D0%B5%D0%B0%D0%BA%D1%86%D1%96%D1%94%D1%8E-activity-7084123111670824960-nAia?utm_source=share&utm_medium=member_ios Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗 5408810040380635 #interviews #web #js
إظهار الكل...
DAN.IT education on LinkedIn: Боятися співбесід може бути звичайною реакцією, особливо якщо ви новачок…

Боятися співбесід може бути звичайною реакцією, особливо якщо ви новачок або маєте обмежений досвід у цьому напрямку. Підготували для вас декілька порад, які…

8👍 2🤯 1
اختر خطة مختلفة

تسمح خطتك الحالية بتحليلات لما لا يزيد عن 5 قنوات. للحصول على المزيد، يُرجى اختيار خطة مختلفة.