Telegram Web Link
Which Git command is used to record changes to the repository and include a message describing those changes?
Anonymous Quiz
7%
git record -log "New message"
4%
git save -c "New message"
6%
git update message "New message"
83%
git commit -m "New message"
🔥1
Junior Python Developer interview: Decorator
#Edu_preparation

Що таке декоратор у Python і як він працює?

Декоратор — це функціональний інструмент і структурний патерн, який дозволяє "на льоту" додавати нову поведінку до функцій чи методів, не змінюючи їхній початковий код.

Він працює як обгортка навколо іншої функції. Завдяки тому, що і декоратор, і оригінальна функція мають спільний інтерфейс (викликаються однаково), ми можемо додавати нову логіку, не змінюючи спосіб використання функції.

Синтаксис і приклад використання:

def decorator(func):
def wrapper():
print("Перед викликом функції")
func()
print("Після виклику функції")
return wrapper

@decorator
def say_hello():
print("Привіт!")

say_hello()


Результат:

Перед викликом функції
Привіт!
Після виклику функції

Що робить
@decorator?

Це скорочення для:
say_hello = decorator(say_hello)


Тобто функція say_hello() буде замінена на wrapper() із додатковою логікою.

Типові сценарії використання декораторів:
• Логування
• Авторизація
• Вимірювання часу виконання
• Кешування
• Обробка помилок

Декоратори — це один із найпотужніших інструментів Python. Вони допомагають розширювати функціональність без дублювання коду. Це і про гнучкість, і про чисту архітектуру.
😁21🤔1
Скільки балів — стільки гривень: як працює рейтинг успішності
#Edu_Academic

Інформуємо, що орієнтовно 4 липня буде оприлюднено рейтинги успішності студентів та кількість стипендіатів за підсумками літнього семестрового контролю 2024/2025 навчального року.

Порядок формування рейтингу:
Рейтинг визначається за формулою: 0,95 × середній бал + 0,05 × додаткові бали.
У разі однакового значення рейтингового бала вище місце посідає студент з більшим навчальним складником (оцінки за іспити, заліки, курсові проєкти).

До рейтингу включаються:
– студенти-бюджетники денної форми навчання
– студенти, які склали семестровий контроль у встановлені терміни без перескладань

Призначення академічної стипендії:
– мінімальна академічна стипендія призначається 40% студентів від загальної кількості бюджетників
– підвищена академічна стипендія призначається 25% від кількості стипендіатів за умови рейтингу не нижче 85 балів
– списки стипендіатів не оприлюднюються. Щоб перевірити право на стипендію, необхідно знайти себе у рейтингу та співвіднести позицію з визначеним відсотком

Розмір стипендії:
– мінімальна академічна стипендія становить 2000 грн
– підвищена академічна стипендія становить 2910 грн

У разі виникнення питань:
– якщо відсутні у рейтингу або виявлено помилки у балах — слід звернутися до деканату
– у разі відсутності стипендіальної картки необхідно оформити банківську картку та довідку про доходи

Маєш запитання? Пиши в IASA Student Support bot.
😁8
Forwarded from IASA Student Council
ML and Neuroscience
#Edu_recommends

Дослідницька лабораторія Торонтського Університету приймає заявки для отримання віддаленого кураторства магістерською / докторською роботою. Для цього впродовж її виконання потрібно здобути посаду в лабораторії.

Теми передбачають використання машинного навчання для біологічних чи медичних висновків або анатомічних знань мозку для побудови алгоритмів і нейронних мереж.

Докладніше за посиланням.
Junior Python Developer interview: Exceptions
#Edu_preparation

Що таке виняток, конструкція try-except в Python?

Виняток
— це несподівана ситуація, яка відбувається під час виконання програми. Наприклад:
divide_by_zero = 7 / 0

Цей рядок згенерує виняток, тому що ділити на 0 не можна.

Помилки, що виникають під час виконання програми (після проходження синтаксичної перевірки), називаються винятками або логічними помилками. Наприклад, вони виникають, коли ми:
• намагаємося відкрити неіснуючий файл — генерується виняток FileNotFoundError;
• намагаємося ділити на нуль — генерується виняток ZeroDivisionError;
• намагаємося імпортувати неіснуючий модуль — генерується виняток ImportError.

Для обробки винятків в Python використовується блок try...except. Його синтаксис:
try:
# Код, який може згенерувати виняток
except:
# Код для виконання у разі генерації винятку

Для кожного блоку try може існувати від нуля і більше блоків except. Декілька блоків except дозволяють обробляти кожен виняток по-різному.

Тип аргументу кожного блоку except вказує на тип винятку, який може бути оброблений цим блоком. Наприклад:
try:
even_numbers = [2,4,6,8]
print(even_numbers[5])

except ZeroDivisionError:
print("Denominator cannot be 0.")

except IndexError:
print("Index Out of Bound.")

Результат:
Error: Index Out of Bound

Отже, обробка винятків у Python дозволяє програмі не завершуватися аварійно, а реагувати на помилки керовано й безпечно, забезпечуючи стабільність та зручність для користувача.
4
Junior Python Developer interview: Set vs Dictionary
#Edu_preparation

У чому різниця між set і dict у Python?

set (множина) — це невпорядкована колекція унікальних значень. У множині немає дублікатів і немає пар ключ–значення. Наприклад:

fruits = {'apple', 'banana', 'orange'}


До множини можна додавати нові елементи методом add, перевіряти наявність елемента через in, але не можна звертатися до елементів за індексом чи ключем.

dict (словник) — це структура даних, яка зберігає пари ключ–значення. Кожен ключ є унікальним і використовується для доступу до відповідного значення. Наприклад:

ages = {'Alice': 25, 'Bob': 30}


Значення доступні через ключ, наприклад: ages['Alice'] поверне 25.

Основна різниця полягає в тому, що множини (set) зберігають лише значення, тоді як словники (dict) зберігають зв’язки між ключами і значеннями.

Множину використовують, коли потрібно перевірити унікальність або належність елемента до множини. Словник — коли потрібно зберігати й швидко отримувати значення за ключем.

Наприклад:

• set підходить для фільтрації дублікатів або пошуку в унікальному наборі;
• dict — для зберігання відповідностей: імен, параметрів, частот тощо.
3🔥2
#Edu_quiz Machine Learning
Which ensemble learning method reduces variance in models?
Anonymous Quiz
22%
Bagging
31%
Boosting
17%
Stacking
30%
Gradient Descent
🤯10
Junior Python Developer interview: Pass
#Edu_preparation

Що таке pass в Python?

Оператор pass — це порожній оператор, який можна використовувати як «заглушку» для майбутнього коду. Припустимо, ми маємо цикл або функцію, яка ще не визначена, але ми її визначимо в майбутньому. У таких випадках ми можемо використовувати оператор pass. Його синтаксис:

pass


Розглянемо приклад використання оператора pass в Python:

n = 10

# Використовуємо pass всередині конструкції if
if n > 10:
pass

print('Hello')


Результат: Hello
Зверніть увагу, що ми використали оператор pass всередині конструкції if. Але нічого не відбувається при виконанні оператора pass (виходить ситуація NOP, скор. від «No Operation»). Просто виконується наступний код.

Тепер виконаємо той самий код, але замість pass напишемо коментар:

n = 10

if n > 10:
# Тут буде код, але трохи пізніше

print('Hello')


Ми отримаємо повідомлення про помилку: IndentationError: expected an indented block.

Примітка: Різниця між коментарем та оператором pass у Python полягає в тому, що хоча інтерпретатор повністю ігнорує коментар, оператор pass не ігнорується.

Також ми можемо використати оператор pass у функції чи класі. Наприклад, у функції:

def function(args):
pass


У класі:

class Example:
pass


Отже, оператор pass у Python — це інструмент, який дозволяє залишити тіло конструкцій (умов, циклів, функцій, класів) порожнім без помилки синтаксису. Він не виконує жодної дії, але потрібен, щоб інтерпретатор не видавав помилку через відсутність коду.
7😁1
Junior Python Developer interview: Split() & Join()
#Edu_preparation

Що таке split() і join() функції в Python?

Це два основні методи для обробки рядків у Python:

split() — розбиває рядок на список.

text = "Hello world"
words = text.split()
print(words) # ['Hello', 'world']


Можна задати роздільник:

data = "apple;banana;grape"
fruits = data.split(";")
print(fruits) # ['apple', 'banana', 'grape']


join() — об’єднує список у рядок.

words = ['Hello', 'world']
sentence = ' '.join(words)
print(sentence) # Hello world


Інший приклад:

fruits = ['apple', 'banana', 'grape']
result = ', '.join(fruits)
print(result) # apple, banana, grape


Приклад: split() + join() разом

text = "I love Python"
words = text.split()
new_text = '-'.join(reversed(words))
print(new_text) # Python-love-I


Корисно знати:

• split() повертає список.
• join() працює з будь-яким ітерованим об'єктом (списком, кортежем тощо), але всі елементи мають бути рядками.
• Часто використовуються при обробці тексту, файлів, введення користувача тощо.
🤡9👍51
#Edu_quiz PL/SQL
Як настрій, герой тайм-менеджменту?)

Канікули закінчилися. Настрій: "Хто я? Де я? Чому так багато пар?". Але не хвилюйтесь, ми з вами в одному човні! Команда IASAedu вже повернулася з літньої відпустки, повна сил (ні, не повна, але хоча б готова до роботи) і нових ідей.

Щодо наших рубрик, то залишаються вже знайомі вам формати:
#Edu_preparation — статті для підготовки до інтерв’ю в ІТ-професії, зокрема цього разу була обрана тема DevOps.
#Edu_recommends —матеріали для саморозвитку.
#Edu_quiz — вікторини для перевірки знань.
#Edu_internship — пропозиції стажувань.
#Edu_professions — авторські дописи про різні ІТ-позиції.
#Edu_Academic — важлива інформація про освітній процес.
#Edu_facts — цікаві факти з індустрії.

Залишайтеся на зв'язку, буде багато цікавого. Готуйтеся до нової порції корисного контенту, адже IASAedu ніколи не спить (особливо під час сесії).
🤣8🔥3🤡1
Не розгублюйся — дій!
#Edu_Academic

Заплутаний розклад, непорозуміння з викладачем або взагалі ризик відрахування?
І це ще семестр не встиг як слід розпочатися…

Не панікуй — нагадуємо, що є бот від Студради!
Просто напиши свою проблему чи запитання щодо навчання — і ми надамо точну відповідь або допоможемо знайти рішення згідно з університетськими правилами.
8
Junior DevOps Engineer job description
#Edu_professions

Як і обіцяли, наступна наша рубрика — DevOps Engineer!

Що таке DevOps і чому він важливий?


DevOps — це набір практик, що поєднує розробку програмного забезпечення (Dev) та IT-операції (Ops). Його головна мета — скоротити (та спростити) життєвий цикл розробки ПЗ й забезпечити безперервне постачання з високою якістю продукту.

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

Чим займається DevOps Engineer?

DevOps Engineer — це фахівець, який поєднує в собі завдання розробника та системного адміністратора. Його головна мета — зробити процес створення та підтримки програмного забезпечення швидким, надійним і безперервним.

Основні обов’язки:

1. Налаштовуння CI/CD-конвеєрів (Continuous Integration/Continuous Delivery), щоб код швидко потрапляв у продакшн.

2. Замість ручних налаштувань серверів використовує інструменти (Terraform, Ansible тощо), щоб описати інфраструктуру у вигляді коду.

3. Впровадження системи збору метрик та журналів, щоб швидко виявляти і виправляти проблеми.

4. Робота з хмарними сервісами AWS, Azure, GCP або Kubernetes, щоб масштабувати застосунки.

5. Інтеграція практик DevSecOps, щоб продукт був захищеним ще на етапі розробки.

DevOps Engineer робить так, щоб розробники могли швидко й безпечно доставляти код у продакшн, а система працювала стабільно.

Медіанна ЗП згідно даних DOU станом на червень 2025 року: 1050$
🔥74
#Edu_quiz DevOps
Vibecoding Hackathon
#Edu_recommends

Universe Group — компанія, що будує tech-бізнеси, організовує змагання для різних ІТ-галузей. Учасники матимуть 6 годин, аби разом із досвідченими менторами розробити ефективну стратегію просування з використанням АІ-інструментів.

Коли: 4-5 жовтня.
Формат: офлайн, м. Київ.
Дедлайн реєстрації: 26 вересня.

Команди, що перемогли, отримають призи, а за кожного учасника події РЦ «Tytanovi» отримає донат у розмірі 1000 грн.

Деталі та реєстрація за посиланням.
😁12🤡4
Junior DevOps Engineer interview: CI / CD
#Edu_preparation

В чому різниця між безперервною інтеграцією і безперервним розгортанням?

Безперервна інтеграція (Continuous Integration)
Основна мета: Автоматизувати процес злиття змін у коді, щоб швидко виявляти помилки та забезпечити стабільність коду.

Ключові етапи:
• Розробники регулярно (зазвичай кілька разів на день) зливають свої зміни в основну гілку репозиторію.
• Автоматичні тести перевіряють ці зміни на наявність помилок.
• Якщо тести проходять успішно, створюється нова збірка програми.

Переваги:
• Швидке виявлення та виправлення помилок.
• Забезпечення стабільності основної гілки коду.
• Покращення співпраці між розробниками.

Безперервне розгортання (Continuous Deployment)
Основна мета: Автоматизувати процес доставки та розгортання програмного забезпечення, щоб нові функції та виправлення потрапляли до користувачів швидко та без помилок.

Ключові етапи:
• Після успішного проходження CI, зміни автоматично потрапляють у тестове середовище.
• Якщо всі тести в тестовому середовищі проходять успішно, зміни автоматично потрапляють у виробниче середовище.

Переваги:
• Швидке надання нових функцій та виправлень користувачам.
• Зменшення ризику помилок при розгортанні завдяки автоматизації.
• Покращення зворотного зв'язку від користувачів.

CI та CD є двома етапами одного процесу. CI забезпечує стабільність коду та швидке виявлення помилок, тоді як CD автоматизує доставку та розгортання програмного забезпечення. Разом вони утворюють CI/CD pipeline — потік, який дозволяє швидко та безпечно доставляти нові функції та виправлення користувачам.
🔥61👍1
2025/10/28 06:12:40
Back to Top
HTML Embed Code: