🤔 «Що мені зробити, щоб швидше вирости? Я ж стараюсь, працюю, але ніби стою на місці…»
Це найпопулярніше питання, яке кожен айтівець задає собі на певному етапі кар’єрного зростання.
І тут є правда, яку не дуже люблять: ріст у професії — це про те, як ти мислиш, що береш на себе і наскільки виходиш за межі «мені дали задачу — я зробив».
#НапуттяВід_HR Директорки Клименко Наталії
Наталія, наша HR-директорка із понад 20-річним досвідом в IT, за роки роботи бачила сотні фахівців. Одні ставали мідлами за рік-півтора, поки інші сиділи на одному рівні роками — і не тому, що були гіршими. Різниця завжди була в підході.
🚀 Читайте в картках, що реально працює, та пересилайте тим, кому зараз важливо зробити якісний кар'єрний стрибок!
TikTok | Instagram | Telegram
Це найпопулярніше питання, яке кожен айтівець задає собі на певному етапі кар’єрного зростання.
І тут є правда, яку не дуже люблять: ріст у професії — це про те, як ти мислиш, що береш на себе і наскільки виходиш за межі «мені дали задачу — я зробив».
#НапуттяВід_HR Директорки Клименко Наталії
Наталія, наша HR-директорка із понад 20-річним досвідом в IT, за роки роботи бачила сотні фахівців. Одні ставали мідлами за рік-півтора, поки інші сиділи на одному рівні роками — і не тому, що були гіршими. Різниця завжди була в підході.
🚀 Читайте в картках, що реально працює, та пересилайте тим, кому зараз важливо зробити якісний кар'єрний стрибок!
TikTok | Instagram | Telegram
🔥6🤣1
💻 Хочете прокачати SQL на практиці?
#codica_advice
Знайомтеся — SQLGuru, інтерактивний тренажер для тих, хто хоче навчитися писати SQL-запити, а не просто читати про них.
🎯 Підійде:
— новачкам, які тільки вивчають SQL;
— аналітикам, які хочуть більше практики;
— тим, хто готується до співбесіди або хоче освіжити знання.
Замість сухого синтаксису — інтерактивні завдання та практика. Можна тренуватися у зручному форматі й поступово ускладнювати задачі.
👉 Спробувати SQLGuru
🎥 Огляд тренажера
📌 Зберігайте, щоб не загубити, і практикуйте SQL регулярно!
TikTok | Instagram | Telegram
#codica_advice
Знайомтеся — SQLGuru, інтерактивний тренажер для тих, хто хоче навчитися писати SQL-запити, а не просто читати про них.
🎯 Підійде:
— новачкам, які тільки вивчають SQL;
— аналітикам, які хочуть більше практики;
— тим, хто готується до співбесіди або хоче освіжити знання.
Замість сухого синтаксису — інтерактивні завдання та практика. Можна тренуватися у зручному форматі й поступово ускладнювати задачі.
👉 Спробувати SQLGuru
🎥 Огляд тренажера
📌 Зберігайте, щоб не загубити, і практикуйте SQL регулярно!
TikTok | Instagram | Telegram
❤5
Який підхід найчастіше використовують для попереднього навчання сучасних LLM?
Anonymous Quiz
31%
Reinforcement learning
17%
Supervised learning
47%
Self-supervised learning
6%
Transfer learning
Що саме представляє embedding?
Anonymous Quiz
78%
Дані у вигляді семантичного вектора
3%
Вихідний текст
11%
Послідовність токенів
8%
Граматичні правила
Що таке fine-tuning?
Anonymous Quiz
0%
Пошук у документах
19%
Стиснення моделі
0%
Генерація промптів
81%
До-навчання моделі на даних
Що може бути однією з причин hallucinations у LLM?
Anonymous Quiz
25%
Мала кількість параметрів
0%
Помилки токенізації
64%
Відсутність релевантного контексту
11%
Низька температура
Для чого використовується RAG?
Anonymous Quiz
8%
Прискорення inference
14%
Зменшення розміру моделі
6%
Генерація зображень
72%
Поєднання LLM із зовнішніми даними
Який параметр найбільше впливає на випадковість відповіді?
Anonymous Quiz
8%
Max tokens
42%
Temperature
11%
Top-K
39%
Context window
Що означає “context window”?
Anonymous Quiz
4%
Час відповіді моделі
36%
Розмір embedding
11%
Довжина промпту
49%
Ліміт токенів у контексті
🤯 «Знову бізнес-логіка в контролері, а ActiveRecord-модель роздулася до 1000 рядків?» — знайомий біль у Rails-проектах?
Коли додаток росте, стандарти validates у моделях починають заважати: вони прив’язані до бази даних і підходять для простих перевірок, але ламаються на складній бізнес-логіці (наприклад, різна валідація для Admin API та Mobile API).
Рішення, яке ставлять у вимоги на Senior/Lead позиціях — використання екосистеми dry-rb, зокрема dry-validation та dry-monads.
Коли додаток росте, стандарти validates у моделях починають заважати: вони прив’язані до бази даних і підходять для простих перевірок, але ламаються на складній бізнес-логіці (наприклад, різна валідація для Admin API та Mobile API).
Рішення, яке ставлять у вимоги на Senior/Lead позиціях — використання екосистеми dry-rb, зокрема dry-validation та dry-monads.
❤2
Показуємо, як винести валідацію та бізнес-логіку з моделей у ізольовані Service Objects за 3 кроки:
1️⃣ Виносимо складну валідацію в Contract (dry-validation):
2️⃣ Використовуємо dry-monads для чистого повернення результату (Success/Failure):
3️⃣ Тонкий і чистий контролер:
🔥 Чому це оцінять на співбесіді та в коді:
• Single Responsibility: Модель відповідає ТІЛЬКИ за роботу з БД, Контракт — за валідацію, Сервіс — за бізнес-логіку.
• Відсутність "брудних" exceptions: Замість raise/rescue ми контрольовано повертаємо Success або Failure (Railway Oriented Programming).
• Тестувати такі контракти та сервіси в RSpec — суцільне задоволення, бо вони не потребують підйому бази даних.
А як ви виносити складну логіку з моделей у своїх проектах: використовуєте dry-rb, ActiveInteraction чи старі добрі PORO-сервіси? 👇
TikTok | Instagram | Telegram
1️⃣ Виносимо складну валідацію в Contract (dry-validation):
class UserRegistrationContract < Dry::Validation::Contract
params do
required(:email).filled(:string)
required(:age).filled(:integer)
end
rule(:email) do
unless /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i.match?(value)
key.failure("має бути коректним email-ом")
end
end
rule(:age) do
key.failure("реєстрація доступна лише з 18 років") if value < 18
end
end
2️⃣ Використовуємо dry-monads для чистого повернення результату (Success/Failure):
class RegisterUser
include Dry::Monads[:result]
def call(params)
# 1. Валідуємо параметри
contract_result = UserRegistrationContract.new.call(params)
return Failure(contract_result.errors.to_h) if contract_result.failure?
# 2. Створюємо користувача (бізнес-логіка)
user = User.create!(contract_result.to_h)
Success(user)
rescue ActiveRecord::RecordNotUnique
Failure(email: ["цей email вже зайнятий"])
end
end
3️⃣ Тонкий і чистий контролер:
class UsersController < ApplicationController
def create
case RegisterUser.new.call(user_params)
in Dry::Monads::Success(user)
render json: user, status: :created
in Dry::Monads::Failure(errors)
render json: { errors: errors }, status: :unprocessable_entity
end
end
end
🔥 Чому це оцінять на співбесіді та в коді:
• Single Responsibility: Модель відповідає ТІЛЬКИ за роботу з БД, Контракт — за валідацію, Сервіс — за бізнес-логіку.
• Відсутність "брудних" exceptions: Замість raise/rescue ми контрольовано повертаємо Success або Failure (Railway Oriented Programming).
• Тестувати такі контракти та сервіси в RSpec — суцільне задоволення, бо вони не потребують підйому бази даних.
А як ви виносити складну логіку з моделей у своїх проектах: використовуєте dry-rb, ActiveInteraction чи старі добрі PORO-сервіси? 👇
TikTok | Instagram | Telegram
🔥3