Codica - корисне про IT
2.02K subscribers
2.45K photos
124 videos
11 files
1.31K links
Привіт, друже, це канал про корисності в ІТ🤘

🔺Даємо практичні матеріали з RoR, JavaScript, QA, DevOps
🔺Розкажемо як знайти першу роботу без хвилювань та проблем

✍️Для звʼязку-@klimenko_nataly

👉 Відкриті вакансії - www.codica.com/careers
Download Telegram
1️⃣ Що означають "сильне зчеплення" (high cohesion) і "слабка зв’язаність" (loose coupling)? Як цього досягти в Ruby?
📍 Очікувана відповідь:
Високе зчеплення – клас/модуль має один чіткий обов‘язок; внутрішні елементи пов‘язані спільною метою.
Низька зв‘язаність – класи мінімально залежать один від одного; їх легко змінювати й тестувати окремо.
👉 Як досягти в Ruby:
- принципи SOLID (особливо SRP і DIP),
- ін‘єкція залежностей (Dependency Injection),
- duck typing та абстракції замість жорстких ієрархій,
- композиція замість наслідування,
- правило Деметри (мінімум знань про сусідів),
- розділення відповідальностей через Service Objects/ PORO.

2️⃣ Чому індексація масивів у більшості мов починається з нуля?
📍 Очікувана відповідь:
Через спосіб адресації пам‘яті: індекс – це зсув від початку масиву, тож 0 означає «без зсуву». У мовах, близьких до «заліза» (C, асемблер), це спрощує обчислення адреси й робить операції швидкими.
У Ruby індексація також з нуля – це частина дизайну мови й історична спадковість від С/Unix-традицій; як наслідок, простіше працюють зрізи та ітерації.

3️⃣ Як тести та TDD впливають на організацію коду в Ruby-проєктах?
📍 Очікувана відповідь:
TDD (цикл red → green → refactor) змушує проєктувати менші, ізольовані, перевірні об‘єкти з чіткими інтерфейсами.
👉 Це дає:
- кращу модульність,
- низьку зв‘язаність між компонентами,
- чистіші публічні API класів/методів,
- передбачуваний, керований дизайн.

Ruby добре підходить для TDD завдяки RSpec, Minitest та зручному синтаксису.

4️⃣ Напишіть приклад порушення принципу DRY і виправте його.
📍 Очікувана відповідь:
#  Порушення DRY
def user_greeting(user)
"Hello, #{user.name}! Your email is #{user.email}"
end

def admin_greeting(admin)
"Hello, #{admin.name}! Your email is #{admin.email}"
end


#  Виправлення через узагальнення інтерфейсу
def greeting(person) # person відповідає протоколу: #name, #email
"Hello, #{person.name}! Your email is #{person.email}"
end

Повторення однакової логіки зайве; узагальнення робить код гнучким і підтримуваним.
Примітка: якщо поведінка для ролей має різнитись – краще застосувати поліморфізм (окремі об‘єкти/стратегії привітання).

5️⃣ У чому різниця між зчепленням (cohesion) і зв’язаністю (coupling)?
📍 Очікувана відповідь:

Зчеплення (cohesion): наскільки логічно взаємопов‘язані елементи всередині одного класу/модуля.
→ Високе зчеплення = один чіткий обов‘язок.

Зв‘язаність (coupling): наскільки один клас залежить від інших.

→ Низька зв‘язаність = мінімум міжкласових залежностей.
Добрий дизайн прагне високого зчеплення та низької зв’язаності.

#codica_interviews

📌 Збережи цей список, якщо готуєшся до Ruby‑співбесіди: тут питають не про синтаксис, а про розуміння дизайну.

❤️ Якщо було корисно – постав реакцію й напиши, які теми розкрити в наступній частині.

TikTok | Instagram | Telegram
👍4
🤔 «Навіщо питають те, що вже в резюме?» – топ-репліка на співбесіді.

І ми розуміємо, чому вона виникає. Але відповідь дуже проста – ніхто не хоче вас підловити.

#НапуттяВід_HR Директорки Клименко Наталії

👉 Ми зібрали трошки закулісся рекрутингу:
чому вас питають “очевидне”, як автоматизують роботу, що реально шукають у кандидаті і чим тут допоможе Excel 🧮

🗣 Хочеш ще більше закулісся про рекрутинг, фідбек або співбесіди?
Пиши – розкажемо все, як є 👇

TikTok | Instagram | Telegram
👍5
🧩 Типи даних у JavaScript — коротко, з прикладами і нюансами

JS – мова гнучка, але часто з несподіванками 😅 Тому згадати типи даних ніколи не зайве. Розділимо їх на примітиви і обʼєкти, і покажемо на прикладах.

Типи даних у Ruby i Python вже на каналі.
1
🔹 Примітивні типи (Immutable):
Ці типи не мають методів і не змінюються напряму:
Number: 42, 3.14, NaN
String: 'hello', "world"
Boolean: true, false
Undefined: змінна оголошена, але значення не присвоєно
Null: явно задана відсутність значення
Symbol: унікальні і незмінні ідентифікатори
BigInt: дуже великі числа 1234567890123456789012345678901234567890n

📌 Приклад:
let x = 10;
let y = x;
x = 20;
console.log(y); // => 10


🔧 Складні типи (Objects, Mutable):
Це об’єкти, які зберігаються по посиланню. І їх можна змінювати:
Object: { name: 'Alice' }
Array: [1, 2, 3]
Function: function() { ... }
Date, Map, Set – теж об’єкти

📌 Приклад:
let arr = [1, 2, 3];
let ref = arr;
ref.push(4);
console.log(arr); // => [1, 2, 3, 4]


🧠 Цікаві штуки:
📍 typeof null === 'object' – так, це баг історично.
📍 Примітиви поводяться як обʼєкти тимчасово, якщо ти до них звертаєшся через метод:
'abc'.toUpperCase(); // => 'ABC'
📍 Масиви — це об’єкти:
typeof [1, 2, 3]; // => 'object'

🤹‍♀️ Чому це важливо?
Бо ти маєш знати, чи змінюєш сам обʼєкт чи просто його копію.
Знання типів допомагає уникати дивних багів і покращити продуктивність.
А ще – краще дебажити і зрозуміти, що відбувається в памʼяті.

🚀 На цьому типи завершили, але розбір коду тільки починаємо!

#codica_tech

TikTok | Instagram | Telegram
🔥4
⚙️DevOpsDays: AI Chapter — онлайн, 3 вересня

AI вже змінює DevOps. Обговоримо, як ці зміни впливають на процеси — від AI-автоматизації та роботи з LLM до юридичної відповідності та захисту даних.

🎙️Теми та спікери:
• The Impact of GenAI on Development and the SDLC, Patrick Debois
• From Skepticism to Superpower: Adopting AI Tools in Dev Teams, Oleksii Ostapets
• Building Reliable Agents for DevOps, George Fahmy
• AI Compliance Trends: IP & Data Protection in EU & U.S., Kateryna Dubas
• Platform Engineering for LLMs: A Practical Guide to Running Your Own AI Stack, Max Körbächer

Незмінний хост та Core Team DevOpsDays — Даніель Маер, Senior DevRel Manager у Cerbos.

💬 Також у програмі:
Open Space-дискусія «AI та DevOps — нові можливості та виклики»

💛Під час події збиратимемо кошти на реабілітацію військових та цивільних.

💻Участь: безкоштовна
👉Повна агенда та реєстрація

Збираємось, щоб поділитися AI-інсайтами для вашого DevOps!
👍41
Що виведе цей код?
Anonymous Quiz
50%
true
21%
false
11%
nil
18%
Помилка
Що буде виведено в консоль?
Anonymous Quiz
9%
undefined
20%
Promise {}
16%
Error
56%
42
Неочікувані повороти серпня: джуни ще потрібні, GTA VI нарешті з датою, а Python знову в тренді
Ми підготували для вас найгарячіші ІТ-новини місяця — коротко, зрозуміло і з перчинкою. Поїхали!

#codica_news

📍 CEO AWS: «AI не замінить джунів»
AI — це інструмент, а не заміна. Джуни все ще потрібні, бо креативність і мозок не перепишеш у код 👨‍💻

📍 Кодер-диверсант отримав 4 роки тюрми
Ex-розробник вставив «kill-switch» у продакшн, збитки $100k і репутаційний крах. Код — це відповідальність 🔒

📍 Геймери святкують: Silksong вже у вересні!
Metroid Prime 4 трохи пізніше, GTA VI — травень 2026. Хайп у повному розпалі 🎮

📍 Python 3.12 — тепер швидший та зручніший
Release Candidate з новими фічами: @-декоратори, TOML у стандарті, оптимізація для AI. Python продовжує домінувати 🐍

📍 Go 1.25 — ще більше швидкості
Оновлений Go приніс кращий перформанс і компіляцію. Ідеально для бекенду та промислових рішень 🚀

Ставте реакції 🔥 та пишіть у коментарях, яка новина зачепила саме вас 👇
🔥4
🚀 7 корисних плагінів для розробників у 2025

#codica_advice

Ці інструменти допоможуть вам писати код швидше, акуратніше та приємніше.

📌 GitLive
Відображає активність на GitHub у реальному часі: issues, pull requests, forks, stars.

📌 Tabnine
AI-автокомпліт для коду. За 2024–2025 оновив модель, тепер краще розуміє контекст проєкту та підтримує понад 30 мов програмування.

📌 Stepsize
Створюйте TODO й технічний борг прямо у коді, додавайте коментарі й нотатки в IDE, бачте їх у команді.

📌 EditorConfig
Вирішує «вічну» проблему таби vs пробіли й вирівнює стиль форматування коду між IDE.

📌 Better Comments
Категоризуйте свої коментарі (TODO, FIXME, NOTE тощо) кольорами й тегами.

📌 Code Time by Codeium (новинка 2024–2025)
Трекінг часу й продуктивності в коді, інтегрується з календарем і дає звіти про те, коли й на чому ви реально працюєте.

📌 GitLens
Показує, хто писав кожен рядок коду, історію змін файлу й коментарі прямо у редакторі.

TikTok | Instagram | Telegram
👍3❤‍🔥2
Наш Тік-ток – меми, жарти з життя розробників і трохи самоіронії (бо як без неї?).

Ми вже там сміємось – тепер ваша черга 😄

👉 Тицяй сюди 

Підписуйся, смійся, кидай емодзі у коменти 💥

#codica_humor

TikTok | Instagram | Telegram
😁7