👉 Уточнення та переформулювання (дуже важливо для мітингів)
💬 “Just to make sure we're on the same page…”
Просто щоб переконатися, що ми правильно розуміємо одне одного…
💬 “If I understand correctly, you’re looking for…”
Як я розумію, вам потрібно…
💬 “Could you elaborate on that a bit?”
Можете трохи детальніше пояснити?
💬 “What would be the ideal outcome for you?”
Який для вас ідеальний результат?
👉 Коли потрібно ввічливо відмовити або скоригувати очікування
💬 “That might be out of scope for this phase.”
Це може бути поза межами цього етапу
💬 “We may need to revisit the timeline.”
Можливо, нам потрібно переглянути дедлайн
💬 “This would require additional resources.”
Це потребуватиме додаткових ресурсів
💬 “I’m not sure this is the best approach in the long term.”
Я не впевнений, що це найкращий підхід у довгостроковій перспективі
💡 Зберігайте собі — це ті фрази, які допомагають звучати впевнено і професійно в комунікації.
💬 Друзі, питання до вас:
👉 які з цих фраз ви вже використовуєте в роботі?
TikTok | Instagram | Telegram
💬 “Just to make sure we're on the same page…”
💬 “If I understand correctly, you’re looking for…”
💬 “Could you elaborate on that a bit?”
💬 “What would be the ideal outcome for you?”
👉 Коли потрібно ввічливо відмовити або скоригувати очікування
💬 “That might be out of scope for this phase.”
💬 “We may need to revisit the timeline.”
💬 “This would require additional resources.”
💬 “I’m not sure this is the best approach in the long term.”
💡 Зберігайте собі — це ті фрази, які допомагають звучати впевнено і професійно в комунікації.
💬 Друзі, питання до вас:
👉 які з цих фраз ви вже використовуєте в роботі?
TikTok | Instagram | Telegram
🔥3
❤3
Що буде виведено в консоль?
Anonymous Quiz
32%
JS / JS
53%
JS / undefined
9%
undefined / JS
6%
undefined / undefined
✍4
Друзі, розбираємо Rails 👇
І продовжуємо нашу серію з 7 постів для RoR, де дивимось на типові проблеми продакшену 🙂
Попередні пости серії:
📍 Rails без магії: 7 помилок, які роблять навіть мідли
📍 Background jobs: чому “просто Sidekiq” — не завжди просто
📍 Transactions у Rails: чому “і так працює” — небезпечна ілюзія
📍 DB constraints: чому Rails validation — це не гарантія
#codica_advice
І продовжуємо нашу серію з 7 постів для RoR, де дивимось на типові проблеми продакшену 🙂
Попередні пости серії:
📍 Rails без магії: 7 помилок, які роблять навіть мідли
📍 Background jobs: чому “просто Sidekiq” — не завжди просто
📍 Transactions у Rails: чому “і так працює” — небезпечна ілюзія
📍 DB constraints: чому Rails validation — це не гарантія
#codica_advice
Fat model / Fat controller: коли клас росте швидше за проєкт
Якщо у вас є модель на 1200+ рядків або контролер, який “трошки робить усе” — цей пост для вас 🙂
У Rails легко почати красиво.
Але з часом у модель додається:
• бізнес-логіка
• інтеграції
• callback-и
• валідації
• формування JSON
• умовні переходи станів
І раптом один клас починає вирішувати пів проєкту.
Ми всі через це проходили 🙂
👉 У чому проблема
🔹 Код важко читати
🔹 Логіка розмазана
🔹 Тести стають складними
🔹 Будь-яка зміна ламає щось несподівано
🔹 Новому розробнику потрібно пів дня, щоб зрозуміти “що тут відбувається”
Модель перетворюється на “божественний об’єкт”.
👉 Чому це трапляється саме в Rails
Rails заохочує логіку в моделях.
І на початку це правильно.
Але:
ActiveRecord ≠ місце для всієї бізнес-логіки.
Модель відповідає за дані.
А не за весь життєвий цикл домену.
Як зрозуміти, що вже “fat”
• файл важко прогорнути
• методи не пов’язані між собою
• з’явились 5+ callback-ів
• модель знає про зовнішні API
• ви боїтесь її чіпати
👉 Що робити замість цього
1️⃣ Service objects
Виносимо бізнес-логіку:
2️⃣ Query objects
Складні запити — не в модель.
3️⃣ Form objects
Особливо для складних форм і multi-step flows.
4️⃣ PORO (Plain Old Ruby Object)
Не все повинно бути ActiveRecord.
👉 Маленьке правило
Якщо метод не працює з полями моделі напряму — можливо, він не повинен бути в ній.
Який найбільший файл моделі ви бачили? І скільки там було рядків? 😄
TikTok | Instagram | Telegram
Якщо у вас є модель на 1200+ рядків або контролер, який “трошки робить усе” — цей пост для вас 🙂
У Rails легко почати красиво.
Але з часом у модель додається:
• бізнес-логіка
• інтеграції
• callback-и
• валідації
• формування JSON
• умовні переходи станів
І раптом один клас починає вирішувати пів проєкту.
Ми всі через це проходили 🙂
👉 У чому проблема
🔹 Код важко читати
🔹 Логіка розмазана
🔹 Тести стають складними
🔹 Будь-яка зміна ламає щось несподівано
🔹 Новому розробнику потрібно пів дня, щоб зрозуміти “що тут відбувається”
Модель перетворюється на “божественний об’єкт”.
👉 Чому це трапляється саме в Rails
Rails заохочує логіку в моделях.
І на початку це правильно.
Але:
ActiveRecord ≠ місце для всієї бізнес-логіки.
Модель відповідає за дані.
А не за весь життєвий цикл домену.
Як зрозуміти, що вже “fat”
• файл важко прогорнути
• методи не пов’язані між собою
• з’явились 5+ callback-ів
• модель знає про зовнішні API
• ви боїтесь її чіпати
👉 Що робити замість цього
1️⃣ Service objects
Виносимо бізнес-логіку:
ruby
class CreateOrder
def call(params)
...
end
end
2️⃣ Query objects
Складні запити — не в модель.
3️⃣ Form objects
Особливо для складних форм і multi-step flows.
4️⃣ PORO (Plain Old Ruby Object)
Не все повинно бути ActiveRecord.
👉 Маленьке правило
Якщо метод не працює з полями моделі напряму — можливо, він не повинен бути в ній.
Який найбільший файл моделі ви бачили? І скільки там було рядків? 😄
TikTok | Instagram | Telegram
👍4
Друзі, всім ясного та натхненного вихідного ✨
Зібрали для вас підбірку про дизайн. Саме те, щоб провести вихідні з користю 🎨
#codica_weekend
➡️ Уроки Adobe Illustrator
Аж 35 уроків українською мовою — повний буст від нуля до впевненого рівня.
⏱ Тривалість — серія уроків
➡️ Як я навчився друкувати ДУЖЕ швидко (400+ с/хв)
Покажуть, як вийти на космічну швидкість набору тексту.
⏱ Тривалість — 6 хв
➡️ Уроки PowerPoint
Як робити не нудні, а сильні презентації: структура, візуал і подача, яка тримає увагу.
⏱ Тривалість — 45 хв (серія уроків)
➡️ Безкоштовний курс з Webflow
Навчишся створювати адаптивні сайти без коду і зрозумієш, як дизайн перетворюється в готовий продукт.
⏱ Тривалість — серія уроків
➡️ Figma українською — курс
Ідеально, щоб зайти в UI/UX або систематизувати знання по Figma.
⏱ Тривалість — серія уроків
Нехай ці вихідні будуть з хорошим вайбом, новими ідеями та смачною кавою і обов’язково — трохи відпочинку поруч з тими, хто заряджає ❤️
TikTok | Instagram | Telegram
Зібрали для вас підбірку про дизайн. Саме те, щоб провести вихідні з користю 🎨
#codica_weekend
➡️ Уроки Adobe Illustrator
Аж 35 уроків українською мовою — повний буст від нуля до впевненого рівня.
⏱ Тривалість — серія уроків
➡️ Як я навчився друкувати ДУЖЕ швидко (400+ с/хв)
Покажуть, як вийти на космічну швидкість набору тексту.
⏱ Тривалість — 6 хв
➡️ Уроки PowerPoint
Як робити не нудні, а сильні презентації: структура, візуал і подача, яка тримає увагу.
⏱ Тривалість — 45 хв (серія уроків)
➡️ Безкоштовний курс з Webflow
Навчишся створювати адаптивні сайти без коду і зрозумієш, як дизайн перетворюється в готовий продукт.
⏱ Тривалість — серія уроків
➡️ Figma українською — курс
Ідеально, щоб зайти в UI/UX або систематизувати знання по Figma.
⏱ Тривалість — серія уроків
Нехай ці вихідні будуть з хорошим вайбом, новими ідеями та смачною кавою і обов’язково — трохи відпочинку поруч з тими, хто заряджає ❤️
TikTok | Instagram | Telegram
🔥6
Англійська за мемами😜
👉 Говоримо красиво
📍 soulmate – споріднена душа
📍 have the heart – мати сміливість (або “мати серце”, залежно від контексту: на щось наважитися або бути достатньо добрим/співчутливим)
#codica_english
TikTok | Instagram | Telegram
👉 Говоримо красиво
📍 soulmate – споріднена душа
📍 have the heart – мати сміливість (або “мати серце”, залежно від контексту: на щось наважитися або бути достатньо добрим/співчутливим)
#codica_english
TikTok | Instagram | Telegram
🤣5
Сьогодні — День скорботи і вшанування пам’яті жертв війни в Україні.
День тиші, болю та пам’яті про всіх, чиї життя забрала війна.
Ми пам’ятаємо кожного. Цінуємо силу тих, хто бореться. І дякуємо тим, завдяки кому маємо можливість жити, працювати та мріяти.
Світла пам’ять загиблим.
Слава Україні! Героям слава! 🇺🇦
TikTok | Instagram | Telegram
День тиші, болю та пам’яті про всіх, чиї життя забрала війна.
Ми пам’ятаємо кожного. Цінуємо силу тих, хто бореться. І дякуємо тим, завдяки кому маємо можливість жити, працювати та мріяти.
Світла пам’ять загиблим.
Слава Україні! Героям слава! 🇺🇦
TikTok | Instagram | Telegram
❤5
❓ Як відповідати на запитання на співбесіді?
#codica_interviews
❌ Суха теорія, яку можна загуглити за 5 секунд — не ок
✅ Пояснити на пальцях, дати код і підсвітити граблі — ок
#codica_interviews
❌ Суха теорія, яку можна загуглити за 5 секунд — не ок
✅ Пояснити на пальцях, дати код і підсвітити граблі — ок
📌 How should you use content_for and yield?
📍 Очікувана відповідь:
У Ruby on Rails
1️⃣
Це маркер-placeholder у layout, куди Rails вставляє скомпільований HTML-код конкретного view.
2️⃣
Дозволяє передати іменований блок контенту (named block) з view у певне місце в layout.
У layout ми викликаємо цей блок за іменем:
Типові кейси використання:
🔹 Динамічні мета-теги та заголовки:
🔹 Підключення специфічних для сторінки скриптів чи стилів (хоча в епоху Webpacker/Propshaft це робиться рідше).
🔹 Кастомні зони: сайдбари, хлібні крихти (breadcrumbs).
⚠️ Важливі технічні pitfalls:
• Накопичення контенту:
• Продуктивність: Не зловживайте
👉
👉
📌 How should you use nested layouts?
📍 Очікувана відповідь:
Nested layouts у Rails використовуються для створення ієрархії шаблонів (шаблони в шаблонах). Вони потрібні, коли група сторінок має унікальну структуру (наприклад, адмінка), але повинна залишатися всередині глобального базового шаблону сайту (з тими ж скриптами, мета-тегами тощо).
Як це реалізувати правильно (Best Practice):
🏗️ Головний (батьківський) layout:
🏗️ Вкладений (дочірній) layout для адмінки. Тут ми огортаємо код у
У контролері ми просто вказуємо дочірній layout:
Результат: Rails спочатку відрендерить view всередині
Типові кейси використання:
🔹 Окремі кабінети (Admin / Dashboard / Налаштування профілю) зі своїми сайдбарами.
🔹 Мультілендінги в межах одного застосунку зі спільними assets, але різною структурою секцій.
⚠️ Важливо:
• Уникайте глибокої вкладеності (більше 2 рівнів). Код стає «спагеті», і логіку рендерингу важко дебажити.
• Якщо дочірній шаблон відрізняється лише парою блоків, краще використати
👉 Nested layouts — це побудова ієрархії інтерфейсу через:
🎯 Професійний підхід:
🚀 Ну і нехай ваші layout’и будуть такими ж чистими, як CI після green build 🚀
TikTok | Instagram | Telegram
📍 Очікувана відповідь:
У Ruby on Rails
yield і content_for використовуються для передачі та динамічної підстановки контенту з view-шаблонів у layout.1️⃣
yieldЦе маркер-placeholder у layout, куди Rails вставляє скомпільований HTML-код конкретного view.
<!-- app/views/layouts/application.html.erb -->
<body>
<%= yield %> <!-- Сюди вставиться контент, наприклад, з posts/index.html.erb -->
</body>
2️⃣
content_forДозволяє передати іменований блок контенту (named block) з view у певне місце в layout.
<!-- app/views/posts/show.html.erb -->
<% content_for :title do %>
Posts Page
<% end %>
У layout ми викликаємо цей блок за іменем:
<title><%= yield(:title) %></title>
Типові кейси використання:
🔹 Динамічні мета-теги та заголовки:
<% content_for :title, "Dashboard" %>
🔹 Підключення специфічних для сторінки скриптів чи стилів (хоча в епоху Webpacker/Propshaft це робиться рідше).
🔹 Кастомні зони: сайдбари, хлібні крихти (breadcrumbs).
⚠️ Важливі технічні pitfalls:
• Накопичення контенту:
content_for за замовчуванням конкатенує (додає) блоки, якщо викликати його кілька разів з однаковим ключем. Якщо вам потрібно суворо перезаписати значення (наприклад, перевизначити title в partial), використовуйте метод provide замість content_for.• Продуктивність: Не зловживайте
content_for всередині циклів чи великої кількості partials — це створює зайве навантаження на рендеринг у пам‘яті.👉
yield = місце вставки👉
content_for = спосіб передати контент у це місце (з можливістю append)📌 How should you use nested layouts?
📍 Очікувана відповідь:
Nested layouts у Rails використовуються для створення ієрархії шаблонів (шаблони в шаблонах). Вони потрібні, коли група сторінок має унікальну структуру (наприклад, адмінка), але повинна залишатися всередині глобального базового шаблону сайту (з тими ж скриптами, мета-тегами тощо).
Як це реалізувати правильно (Best Practice):
🏗️ Головний (батьківський) layout:
<!-- app/views/layouts/application.html.erb -->
<html>
<head><title>My App</title></head>
<body>
<header>Main Header</header>
<%= yield %>
<footer>Main Footer</footer>
</body>
</html>
🏗️ Вкладений (дочірній) layout для адмінки. Тут ми огортаємо код у
render template::
<!-- app/views/layouts/admin.html.erb -->
<%= render template: "layouts/application" do %>
<div class="admin-panel-wrapper">
<aside>Admin Sidebar</aside>
<main>
<%= yield %> <!-- Сюди вставиться конкретний view адмінки -->
</main>
</div>
<% end %>
У контролері ми просто вказуємо дочірній layout:
class Admin::BaseController < ApplicationController
layout "admin"
end
Результат: Rails спочатку відрендерить view всередині
admin.html.erb, а потім отриманий результат передасть як блок у application.html.erb.Типові кейси використання:
🔹 Окремі кабінети (Admin / Dashboard / Налаштування профілю) зі своїми сайдбарами.
🔹 Мультілендінги в межах одного застосунку зі спільними assets, але різною структурою секцій.
⚠️ Важливо:
• Уникайте глибокої вкладеності (більше 2 рівнів). Код стає «спагеті», і логіку рендерингу важко дебажити.
• Якщо дочірній шаблон відрізняється лише парою блоків, краще використати
content_for або render partial, аніж плодити новий вкладений layout.👉 Nested layouts — це побудова ієрархії інтерфейсу через:
render template: "parent_layout" do
...
end
🎯 Професійний підхід:
yield і content_for — для керування атомарним контентом у межах одного layout.Nested layouts — для побудови архітектурної ієрархії інтерфейсу без дублювання базового HTML.🚀 Ну і нехай ваші layout’и будуть такими ж чистими, як CI після green build 🚀
TikTok | Instagram | Telegram
🔥3
Автоматизація в QA давно стала важливою частиною розвитку спеціаліста та якості продукту 🚀
#codica_articles
У новій статті наш QA Lead Олексій ділиться своїм досвідом і пояснює, чому автотести — це значно більше, ніж просто написання скриптів.
Це про системне мислення, стабільність продукту та вміння бачити якість у довгостроковій перспективі.
У картках — практичні думки, досвід з реальних проєктів і речі, які варто знати кожному QA, хто хоче рости в автоматизації 💡
Читайте, зберігайте та діліться своїм досвідом у коментарях!
TikTok | Instagram | Telegram
#codica_articles
У новій статті наш QA Lead Олексій ділиться своїм досвідом і пояснює, чому автотести — це значно більше, ніж просто написання скриптів.
Це про системне мислення, стабільність продукту та вміння бачити якість у довгостроковій перспективі.
У картках — практичні думки, досвід з реальних проєктів і речі, які варто знати кожному QA, хто хоче рости в автоматизації 💡
Читайте, зберігайте та діліться своїм досвідом у коментарях!
TikTok | Instagram | Telegram
👍3