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

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

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

👉 Відкриті вакансії - www.codica.com/careers
Download Telegram
💎 Gems, які мають бути в кожному проєкті (і чому їх не треба вигадувати з нуля)

Деякі речі давно вже вигадані за нас і зроблені краще, ніж ми би написали “на швидку“.

Тож не соромимось, не винаходимо велосипед, просто підключаємо правильні gems 🔽
3
📍 Devise – аутентифікація
Не треба писати логіку входу в систему з нуля. Devise вже вміє все: сесії, реєстрацію, відновлення паролю, підтвердження пошти, навіть OAuth.
→ Мінус 3 тисячі рядків коду, плюс спокій.
👤 Для бекенд-розробників
🧠 Навіщо: battle-tested рішення для аутентифікації – без костилів і зайвих if у контролерах.

📍 Pundit – авторизація
“Хто й що може бачити?” — на це питання відповідає Pundit. Чітко, через політики, без каші в контролерах.
→ Контроль доступу – як швейцарський годинник.
👤 Для тих, хто контролює доступ до дій і ресурсів
🧠 Навіщо: логіка винесена в окремі файли – красиво, зрозуміло, як у дорослому коді.

📍 Ransack – пошук і фільтрація
Коли замовник каже: “Можна зробити фільтр, ну, щоб по всіх полях одразу?“.
Ransack такий: “Сідай, зараз покажу.”
→ Query-будівник, який реально рятує.
👤 Для тих, хто пиляє адмінки, каталоги, списки
🧠 Навіщо: генерація пошуку прямо у формах + читабельні URL-параметри і все без ручного SQL.

🧰 Як додати?
# Gemfile
gem 'devise'
gem 'pundit'
gem 'ransack' 👉 Потім: bundle install, далі – короткий setup з GitHub, і ти вже з тієї сторони сили 💫

📌 Не пиши з нуля те, що вже роками підтримується спільнотою.
Ці gems – мастхев для:
✔️ Backend-розробників на Rails
✔️ Продуктів із юзерками, правами доступу, адмінками, пошуком
✔️ Проєктів, де важлива швидкість розробки та безпека

Зберігай пост і додавай собі в Gemfile – це база, друже.

#codica_advice

TikTok | Instagram | Telegram
👍3
А який сьогодні твій внутрішній Лабубу? 😀

Кажуть, у кожному коді живе свій Лабубу: інколи він тихенько сидить у тестах, інколи ховається в проді й чекає релізу… А інколи взагалі п’є каву й робить вигляд, що «я тут ні при чому».

І не забувайте: навіть якщо сьогодні ви «додамо костиль і піде», завтра вже можна бути «та нормально, так і було задумано».

#CodicaTeam

TikTok | Instagram | Telegram
2
🚀 Codica шукає IT Project Manager з BA-скілами
Працюй над Ізраїльсько-американським healthcare-проєктом (4+ роки в продакшені) разом з сильною командою 👨‍💻👩‍💻

📍 Формат: 100% remote
📍 Графік: гнучкий, Пн–Пт

Кого ми шукаємо:
• 3+ роки як PM
• Strong English (Advanced+)
• Досвід з Business Requirements
• Leadership, проактивність, відповідальність
• Комунікація з клієнтами, управління очікуваннями
• Вміння формувати беклог, описувати процеси, приймати рішення

🛠 Тулзи: Slack, Jira, Confluence, PractiTest

💬 Якщо цікаво – пиши на [email protected]
Приєднуйся до Codica! 💙
1👍1
Що буде виведено в консоль?
Anonymous Quiz
25%
10
35%
20
24%
undefined
16%
ReferenceError
Гайз, тримайте добірку, яка реально може змінити вашу англійську 💥

Якщо хочеш не просто зубрити слова, а говорити, жартувати, думати англійською – welcome в ці ком'юніті. І найприємніше – все безкоштовно 🥳

Тут тебе чекають класні люди, лампові розмови і мінімум стресу. Обирай, що до душі👇

💬 Friendly Hub
English, German
Постійно викладають розклад, є багато форматів: ігри, теми, дебати. Дуже активне ком'юніті.

💬 BlaBla_English_UA
English
Цей клуб веде автор цієї добірки. Сильно радимо 😎

💬 Might of Speech
English
Атмосферні вечори англійською. Теми щоразу нові.

💬 International Speaking Club
English, Spanish
Тут можна потренити ще й іспанську, якщо захочеш 🔥

🫶 Дякуємо Roman Vasiura за цю класну підбірку!
Його профіль – приклад того, як знання + ком’юніті = прогрес.

📌 Якщо хочете продовження – ставте будь-яку реакцію на цей допис!

#codica_advice

TikTok | Instagram | Telegram
🔥6❤‍🔥21🤩1
Microsoft випустила безкоштовний курс по Model Context Protocol (MCP) 🚀
Для Python, C#, Java і TypeScript
📘 З підтримкою української мови!

Що всередині:
📌 10 практичних уроків
📌 Відкритий SDK
📌 AI Toolkit для VS Code
📌 Шаблони проєктів і код для запуску

Дата: 29 та 30 липня
Час: 9:00 ранку за PST щодня
Місце: онлайн

👨‍💻 Підійде як новачкам у LLM, так і досвідченим девам.
Достатньо базових знань Python/C#/Java і розуміння API.

MCP – новий стандарт взаємодії з LLM в екосистемі OpenAI та Azure AI. Варто вивчити!
📎 Деталі та курс на GitHub

#codica_advice

TikTok | Instagram | Telegram
🔥4
Що почитати на вихідних?
👉 матеріали медіа, які ви могли пропустити

Суботня добірка, яку краще зберегти і у понеділок розповісти колегам 😎

📍 Tesla запустила мініроботаксі в Остіні 🚗
👉 поки з водієм безпеки, але це прорив у сфері автономних перевезень

📍 Microsoft – масові скорочення, $80 млрд на AI та потрясіння в іграх
👉 звільняє близько 9 000 працівників, вкладає $80 млрд у AI-інфраструктуру і одночасно закриває проєкти в ігровому відділі

📍 Дебати Wolf & Krugman: чи AI – це розум або перформанс?
👉 FT провела дискусію: AI добре перекладає та кодує, але «справжнього» інтелекту поки нема

📍 Google випускають AI‑CLI та інструменти для розробників
👉 Google представив Gemini CLI – AI‑асистент прямо у терміналі для кодування та DevOps

👀 Збережи добірку та надішли другу, якому буде цікаво.

#codica_weekend

TikTok | Instagram | Telegram
🔥3
Англійська за мемами😜
👉Говоримо красиво

📍 chair - стілець

#codica_english

TikTok | Instagram | Telegram
😁53
Агов, друзі!
Таски тасками, але літній вайб уже просочується крізь монітор, хочеться скоріше закрити всі вкладки 🥥

Хто вже встиг втекти у відпустку, тисніть 🔥
Хто зараз читає це з шезлонга, залишайте ❤️
А хто тільки планує втекти з цього світу мітингів – 👍

Нехай у кожного буде свій релакс: із шезлонгом, горами чи просто з вимкненим Slack'ом 😌

#codica_humor

TikTok | Instagram | Telegram
👍6😁4🔥1
Друзі, ми продовжуємо серію про факапи в кодінгу — ми писали про Python, JS-1, JS-2 і навіть QA…

#codica_advice

Сьогодні поговоримо про:
5 антипатернів у Rails, які зустрічаються навіть у проєктах, що називають себе «legacy-friendly».
І так, ми теж так робили 👇
2👍2🔥1
1. God Model — коли модель знає ВСЕ
Модель User у 700 рядків? Там і валідації, і бізнес-логіка, і парсинг Excel, і надсилання email’ів, і… сльози.

Антипатерн:
class User < ApplicationRecord
before_save :normalize_email
def send_welcome_email; end
def export_to_csv; end
def soft_delete; end
def hard_delete; end
def resurrect; end
# ще 53 методи
end


Краще:
— винести бізнес-логіку в сервісні об'єкти
— окремі обов'язки – в concerns
— парсинг/експорт – в окремі класи

2. Fat Controller — коли кожен екшн з душею (і сотнею рядків)
OrdersController, де create – на 70 рядків, а update – на 130? Це вже не REST, це серіал.

Краще:
— витягнути логіку в форм-обʼєкти
— використовуй interactor’и, services, commands
— before_action з умовами – ок, але без фанатизму

3. Колбеки-лабіринти (before_save, after_commit, around_update)
Якщо ти не впевнений, чому один і той самий рекорд тригерить три листи й два оновлення таблиць – ти, мабуть, десь переборщив із колбеками.

Проблема:
— Колбеки приховані
— Їх важко тестувати
— Вони викликаються неочікувано

Рішення:
— винось сторонні ефекти (email, push, інтеграції) у ActiveJob
— використовуй Service objects, де логіка викликається явно, а не «десь там у фоні»

4. Business Logic in Views (ERB має бути простим)
Якщо в show.html.erb ти бачиш це:

<% if current_user.admin? && order.status == 'pending' && Time.now < order.expires_at %>
<%= link_to 'Approve Order', approve_order_path(order) %>
<% end %>

…то ти бачиш антипатерн.

Краще:
— логіку – в helpers або view models
— мінімум умов у ERB, максимум змісту

5. Overuse of default_scope
Це ніби зручно: ти хочеш, щоб усюди is_active: true. Але потім ти хочеш зробити with_deleted… і нічого не працює.

Антипатерн:
default_scope { where(is_active: true) }


Чому погано:
— default_scope автоматично додається у ВСІ запити – навіть у joins, includes, count
— складно зрозуміти, чому певні дані «не приходять»

Краще:
scope :active, -> { where(is_active: true) }


Rails – це про швидкість. Але legacy приходить не вночі, воно починається з «та я просто тут один колбек додам».
Вивчай свій код. Переписуй. Не соромся бути кращим, ніж був вчора.

Хочеш частину 2 з антипатернами – напиши в коментарях 👇

TikTok | Instagram | Telegram
🔥5👍1
🔍 Чому ваш LinkedIn-профіль мовчить і як це змінити?

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

LinkedIn – це більше, ніж просто онлайн-резюме. Це ваша цифрова візитка, яка або відкриває двері до можливостей, або просто висить в тиші.

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

🛠 Я зібрала 6 основних причин, чому профіль може бути “мертвим” – і що з цим робити.

Зберігайте, впроваджуйте – і нехай ваш LinkedIn нарешті заговорить!

TikTok | Instagram | Telegram
👍6🔥1