IT Student by Kharkiv IT Cluster
3.02K subscribers
299 photos
21 videos
5 files
3.43K links
IT-Хаб для студентів: качаємо скіли та настрій!

🔥 Безоплатні івенти від Kharkiv IT Cluster
💼 Стажування від ТОП IT-компаній
🔝 Вебінари з IT-фахівцями
🧠 Меми, ребуси, задачі
💡 Дописи про світ ІТ

Пишіть свої запитання та пропозиції: @kharkiv_it_cluster
Download Telegram
🌟 Патерн програмування Interpreter 🌟

📜Interpreter — це поведінковий патерн, який визначає граматику мови й реалізує інтерпретатор, який виконує вирази цієї мови. Іншими словами він дозволяє визначати, як інтерпретувати мову та виконувати її вирази. Це дуже корисно, коли потрібно обробляти скрипти або мови з власним синтаксисом.

Основні компоненти патерну

🎮1. Expression (Вираз): абстрактний клас або інтерфейс, який визначає метод interpret.
🎮2. Terminal Expression (Термінальний вираз): конкретна реалізація виразу, яка виконує основні операції.
🎮3. Nonterminal Expression (Нетермінальний вираз): реалізація, яка містить інші вирази.
🎮4. Context (Контекст): середовище виконання, яке передає дані та викликає інтерпретатор.

Приклад коду на Python 🐍

from abc import ABC, abstractmethod

# Абстрактний клас для виразу
class Expression(ABC):
@abstractmethod
def interpret(self, context):
pass

# Конкретні вирази
class Number(Expression):
def init(self, value):
self.value = value

def interpret(self, context):
return self.value

class Add(Expression):
def init(self, left, right):
self.left = left
self.right = right

def interpret(self, context):
return self.left.interpret(context) + self.right.interpret(context)

class Subtract(Expression):
def init(self, left, right):
self.left = left
self.right = right

def interpret(self, context):
return self.left.interpret(context) - self.right.interpret(context)

# Контекст, який виконує вирази
class Context:
def init(self, expression):
self.expression = expression

def evaluate(self):
return self.expression.interpret(self)

# Використання
if name == "main":
# Створюємо вираз (5 + 3) - 2
expression = Subtract(Add(Number(5), Number(3)), Number(2))
context = Context(expression)
result = context.evaluate()
print(f"Результат: {result}") # Виведе: 6

Цей патерн дозволяє легко додавати нові операції, не змінюючи існуючий код. Наприклад, можна додати новий оператор multiply для множення, просто створивши новий клас. 🔧

#CodeBreakdown_for_students

👉 IT Student — будь в курсі IT-можливостей для тебе!
🌟 Посада Team Lead 🌟

Тимлід — це IT-спеціаліст, який керує командою розробників, володіє технічною стороною, бере участь у роботі над архітектурою проєкту, займається рев'ю коду та розробкою складних завдань. 💻👨‍💼

Тимлід — це щось середнє між проєктним менеджером та кваліфікованим девелопером. На проєктах є дві lead ролі: менеджерська — PM, і технічна — System Architect. Тимлід частково виконує обидві ролі, але акцент його обов'язків спрямований на менеджмент (акцент на технічну частину — це tech lead). 🔄

Управлінські обов'язки тимліда:
🔰менеджмент команди;
🔰розподіл та делегування завдань;
🔰оцінка та складання робочого графіка;
🔰контроль стану проєкту;
🔰мітинги та комунікації з замовником, керівництвом та командою 🌟

Технічні обов'язки тимліда:
🤖участь у написанні технічної документації;
🤖вибір технологій для проєкту;
🤖розробка архітектури;
🤖R&D та code review;
🤖менторинг джуніорів;
🤖проведення технічних співбесід;
🤖залучення нових членів команди до робочого процесу.

Типовий робочий день тимліда включає:
📅 розгляд нових завдань та їхній розподіл;
📅 зустрічі з командою;
📅програмування;
📅архітектурні питання;
📅Code review

🎩 Як стати тимлідом?
Потрібно проявляти ініціативу в роботі, накопичувати різноманітний технічний досвід, розвивати комунікативні навички й заробляти авторитет у колективі. 🌱

#IT_facts_for_students

👉 IT Student — будь в курсі IT-можливостей для тебе!
1🔥1
​​Таємниці Технічної Підтримки 🤫

Приєднуйтесь до четвертої зустрічі IT Future Talks від Sigma Software University.

Олександр Джулай, Support Engineer у Sigma Software розкриє тему «Саппорт: Мистецтво Технічної Підтримки».

Дізнайтеся про кар'єрний шлях Support Engineer, основні обов'язки, необхідні технічні навички, а також секрети ефективного розв'язання проблем та роботи в команді. Не пропустіть можливість почути цікаві історії з реального досвіду та поставити свої питання! 🎙💻

🗓 Дата: 27.06
🕒 Час: 16:00
📍 Формат: Онлайн
💸Вартість: Безплатно

Реєструйтеся за цим посиланням: https://bit.ly/3VRWgE8

До зустрічі на ефірі! 👨🏼‍💻👩🏻‍💻

#news_from_members #SigmaSoftware #SigmaSoftwareUnivesity #KharkivITCluster

👉 Підписуйся на Telegram-канал «IT Student» та будь в курсі IT-можливостей для тебе!
2👍2
📱 Безкоштовні ресурси для вивчення Android-розробки за допомогою Kotlin 📱

1. Kotlin Bootcamp for Programmers
2. Android Basics in Kotlin
3. Developing Android Apps With Kotlin
4. Advanced Android Development With Kotlin

Не пропусти свій шанс стати крутим Android-розробником! 🚀

#selections_for_students

👉 IT Student — будь в курсі IT-можливостей для тебе!
🥰2
​​Співпраця Kharkiv IT Cluster із ЗВО Миколаєва

🤝 Підписання меморандумів
На початку літа 2024 року Kharkiv IT CLuster відвідав місто-герой Миколаїв для знайомства й підписання меморандумів про співпрацю із закладами освіти.

Дружній колектив освітніх партнерів Харківського ІТ Кластера поповнили три провідні заклади освіти Миколаївщини, а саме Чорноморський національний університет імені Петра Могили, Національний університет кораблебудування імені адмірала Макарова, Фаховий коледж МНУ імені В.О. Сухомлинського.

Подробиці на нашому сайті 👈🏻

Для отримання більш детальної інформації щодо партнерства звертайтеся до координатора освітніх програм і заходів Kharkiv IT Cluster за контактами: 📩 [email protected] — Марія Рудинська
Готуємося до співбесіди англійською 🎙️💬

🕵️‍♀️ Опиши ситуацію, коли ти запропонував покращення робочого процесу; як це вплинуло на твою роботу та роботу твоєї команди?

(Describe a situation where you suggested an improvement and how it affected your work and the work of your team?)

☝️Відповідь можна сформулювати за принципом Situation → Task → Action → Results. Тобто розповісти про проблему, яка в тебе була, як ти її розвʼязав і як це вплинуло на роботу.

☝️Не обов’язково розповідати про глобальну зміну, що вплинула на всю компанію. Це може бути навіть твоя пропозиція змінити час робочого мітингу, щоб усі колеги змогли до нього долучитися, чи створення загального документа, де зберігатиметься важлива інформація. У цьому контексті рекрутеру більш цікаво, чи проявляєш ти ініціативу й чи привносиш нові ідеї.

✅️Використовуй такі вислови

💚I improved the system ... at the company where I previously worked.
— Я покращив систему (укажіть, яку) у компанії, де раніше працював.
💚I decided to set up a system... — Я вирішив запровадити систему...
💚This approach enabled the team to come up with more efficient solutions. — Такий підхід допоміг команді знаходити більш ефективні рішення.

#interview_tips_for_students

👉 IT Student — будь в курсі IT-можливостей для тебе!
🔬 Цікаві факти про біотехнології 🌱

1️⃣ ДНК всіх людей на 99.9% однакові. Саме 0.1% відрізняє кожну людину і робить нас унікальними. 🌍

2️⃣ ДНК можна використовувати для зберігання даних, так само як і жорсткі диски. Вчені змогли зберегти 700 терабайт усього в одному грамі ДНК. 💾

3️⃣ Проєкт «Геном людини» був завершений у 2003 році; до цього ніхто не знав усіх генів людини. 🧬

4️⃣ Завдяки біотехнологіям, можливо перетворювати вуглекислий газ у білки, що є чудовим процесом для боротьби з глобальним потеплінням. 🌍➡️🍃

5️⃣ Віруси не є живими організмами, це складні органічні сполуки. Вони не мають енергії, метаболізму вуглецю й не можуть розмножуватися або еволюціонувати без живої клітини. 🦠

6️⃣ ДНК людини на 98% схожа з ДНК шимпанзе та на 92% з ДНК мишей. Це пояснює, чому миші й примати використовуються в дослідженнях ліків. 🐵🐁

7️⃣ Кожна клітина твого тіла містить приблизно 2 метри ДНК. Якби всю ДНК в одній людині викласти в пряму лінію, її довжина склала б 200 мільярдів кілометрів — це більше тисячі разів відстань від Землі до Сонця. 🌞➡️🌍

#interesting_facts_for_students

👉 IT Student — будь в курсі IT-можливостей для тебе!
3
​​Потужна співпраця: Kharkiv IT Cluster & Національний авіаційний університет (НАУ)

Підписання меморандуму
про співпрацю
Kharkiv IT Cluster продовжує зміцнювати свої позиції у сфері освіти та інновацій. 21 червня підписали меморандум про співпрацю з Національним авіаційним університетом (НАУ). Цей крок сприятиме розвитку й зміцненню зв'язків між освітою та ІТ-галуззю.

Стратегічні плани

Під час зустрічі представники Kharkiv IT Cluster та НАУ обговорили ключові напрями й можливості для побудови плідної співпраці. Окрім того, обговорили досвід у розбудові й підтримці ІТ-галузі, що є актуальним для обох сторін.

Також торкнулися теми національної безпеки й обговорили плани й можливості для наближення перемоги України. Співпраця між Kharkiv IT Cluster та НАУ відкриває нові перспективи для студентів, науково-викладацького складу та ІТ-компаній.


Цей меморандум — важливий крок у напрямі створення інноваційного освітнього середовища, яке об'єднує науку і бізнес та сприяє зростанню та розвитку всіх учасників процесу.
Подробиці на нашому сайті 👈

Із питань розвитку партнерства звертайтеся до координатора освітніх програм і заходів Kharkiv IT Cluster за контактами: 📩 [email protected] — Марія Рудинська

👉 Підписуйся на Telegram-канал «IT Student» та будь в курсі IT-можливостей для тебе!
👍1
Продовжуємо розвінчувати найпоширеніші міфи про розробників

Міф: усі розробники цікавляться лише технологіями
Багато розробників мають різноманітні хобі, такі як спорт, мистецтво, музика, література та подорожі. Вони також приділяють багато часу своїм сім’ям і друзям. 🎨

Міф: усі розробники — геймери
На початку розвитку ІТ-галузі, коли комп’ютери ще були доволі новим та ексклюзивним явищем, геймінг дійсно був популярним серед розробників. Але з плином часу це змінилося, оскільки галузь стала більш професійною, а самі комп’ютери — більш доступними для широкого загалу. Сьогодні багато програмістів взагалі не цікавляться іграми. 🚫

#myths_for_students

👉 IT Student — будь в курсі IT-можливостей для тебе!
👍2
📚Логічне питання зі співбесід Google 📚

🔗У тебе є ряд чисел 5,10,19,32,49,70. Яким буде наступне число в ньому?

Спробуй спочатку вирішити самостійно, а потім перевір 🤫

Наступне число — 95.
Як це визначити?

Різниця між сусідніми числами обчислюється так:

➡️10-5 = 5

➡️19-10 = 9

➡️32-19=13

➡️49-32= 17

➡️70-49=21

➡️?- 70= 25

У ряді отриманих різниць чисел 5, 9, 13 і т.д., можна побачити, що відбувається збільшення кожного наступного числа на 4, тому нашим наступним збільшенням буде 25 (бо 21+4=25).

Тоді, ? -70 = 25

25+70= 95


#tasks_for_students

👉 IT Student — будь в курсі IT-можливостей для тебе!
5😁2👏1
​​🚀 Притягуючі промені🚀

Промені зазвичай асоціюються з потоком чогось від джерела до цілі🌟

На Землі можна використовувати пилосос, щоб притягнути щось до себе, але насправді він видаляє молекули повітря з одного боку об'єкта, щоб молекули з іншого боку штовхали його до пилососа.

Проте це не зовсім «промінь», і в космосі це не спрацює, оскільки у вакуумі немає молекул, які можна видалити. 🌌

Однак, є способи притягувати об'єкти в космосі без використання променів. Один із запропонованих методів — це «гравітаційний трактор». Це космічний апарат, який обертається або зависає поруч з астероїдом і використовує взаємне гравітаційне притягання, щоб зрушити астероїд із його курсу. 🌠

Зазвичай набагато більша маса астероїда притягувала б космічний апарат до себе, але «гравітаційний трактор» протидіє цьому за допомогою ефективних іонних двигунів, які постійно тримають його попереду астероїда, м'яко тягнучи його вперед. 💫

Дослідження ESA передбачає заряджання астероїда різними способами, одним із яких є обприскування його електронами. Якщо космічний апарат також буде заряджений до близько 20,000 вольт, це може працювати, і цей потік електронів можна вважати своєрідним притягуючим променем. 🔋

Проте все ж таки, це буде набагато повільніше, ніж притягуючі промені в науковій фантастиці. 🚀

#information_for_students

👉 IT Student — будь в курсі IT-можливостей для тебе!
👍2
🗺️ ІР-челендж 🗺️

✍️Напиши алгоритм, який ідентифікує дійсні адреси IPv4 у точковому форматі. IP-адреси слід вважати дійсними, якщо вони складаються з чотирьох октетів із значеннями від 0 до 255 включно.

🔌Приклади дійсних введених у твою функцію на перевірку ІР-адрес
1.2.3.4
123.45.67.89

🔌Приклади введених недійсних ІР-адрес
1.2.3
1.2.3.4.5
123.456.78.90
123.045.067.089

🔌Примітки
Нулі на початку октету (наприклад, 01.02.03.04) вважаються недійсними
Введені дані гарантовано будуть у форматі єдиного рядка

#CodingChallenges_for_students

👉 IT Student — будь в курсі IT-можливостей для тебе!
Корисні ІТ-діслова для тебе 🫵❤️‍🔥

🌐To determine — визначати, вирішувати.
🌐To develop — розробляти.
🌐To disconnect — роз’єднувати.
🌐To display — відображати.
🌐To eject — витягати (пристрій).
🌐To exist — існувати.
🌐To go down — припиняти нормально функціонувати, виходити з ладу.
🌐To format — форматувати.
🌐To increase — збільшувати.

#IT_dictionary_for_students

👉 IT Student — будь в курсі IT-можливостей для тебе!
​​Kharkiv IT Cluster вдосконалює підготовку майбутніх ІТ-спеціалістів! 🌟
Hard Skills Exam — сертифікаційне тестування для початківців: випускників ІТ курсів, світчерів і студентів.

📊Цього року за підтримки компаній SoftServe, Quantum, Artjoker, Akvelon ми перезапустили чотири напрями тестування: Quality Assurance, JavaScript, Python та Java.

Понад 270 студентів взяли участь у тестуваннях. Більшість із них підтвердили готовність до старту кар'єри в ІТ високими результатами.
Додатково Kharkiv IT Cluster провів 4 кар'єрні консультації для підготовки до співбесід із фахівцями з ІТ-компаній Artjoker, Quantum та SevenPro. 💻

Ми не зупиняємося на досягнутому і вже працюємо над розширенням напрямів сертифікаційного тестування. Запрошуємо долучатися до ініціативи!

👩‍🎓* Проєкт сертифікаційного тестування — це розвиток ініціативи ГО «Портал у безперервне навчання “СуХаРі”». Систему тестування для оцінки ІТ-компетентностей розробила ІТ-компанія Raccoon Gang.

👉Читайте деталі на нашому сайті

#KharkivITCluster #HardSkillsExam #ITEducation #CareerStart #ITJobs #ITCareer #ITStudents #events_for_students #information_for_students
👍4
🤝Патерн програмування Mediator 🕊️

Допомагає зменшити кількість залежностей між об'єктами й робить їхню взаємодію централізованою через спеціальний об'єкт — медіатор. 🌐

Mediator дозволяє групі об'єктів спілкуватися через центральний об'єкт. Замість того, щоб об'єкти напряму викликали методи один одного, вони викликають методи медіатора, який потім керує їхню взаємодією. 📡

Приклад коду на Python

class Mediator:
def notify(self, sender, event):
pass

class ConcreteMediator(Mediator):
def init(self, component1, component2):
self._component1 = component1
self._component1.mediator = self
self._component2 = component2
self._component2.mediator = self

def notify(self, sender, event):
if event == "A":
print("Mediator reacts on A and triggers following operations:")
self._component2.do_c()
elif event == "D":
print("Mediator reacts on D and triggers following operations:")
self._component1.do_b()
self._component2.do_c()

class BaseComponent:
def init(self, mediator=None):
self._mediator = mediator

@property
def mediator(self):
return self._mediator

@mediator.setter
def mediator(self, mediator):
self._mediator = mediator

class Component1(BaseComponent):
def do_a(self):
print("Component 1 does A.")
self.mediator.notify(self, "A")

def do_b(self):
print("Component 1 does B.")

class Component2(BaseComponent):
def do_c(self):
print("Component 2 does C.")

def do_d(self):
print("Component 2 does D.")
self.mediator.notify(self, "D")

if name == "main":
component1 = Component1()
component2 = Component2()
mediator = ConcreteMediator(component1, component2)

print("Client triggers operation A.")
component1.do_a()

print("\nClient triggers operation D.")
component2.do_d()


🗝Пояснення🗝
1. Mediator — базовий клас, який визначає метод «notify».
2. ConcreteMediator — медіатор, який знає про всі компоненти й керує їхнею взаємодією.
3. BaseComponent — базовий клас для компонентів, які мають посилання на медіатора.
4. Component1 і Component2 — конкретні компоненти, які виконують свої дії та повідомляють медіатора про події.

У цьому прикладі компонент 1 викликає подію «A», яку медіатор перехоплює і викликає метод «do_c» компонента 2. Аналогічно, подія «D» компонента 2 викликає методи «do_b» компонента 1 і «do_c» компонента 2. 🔄

#CodeBreakdown_for_students

👉 IT Student — будь в курсі IT-можливостей для тебе!
👍2