Сьогодні без конструктивної критики 😄
Понеділок же… у всіх важкий, правда? Тож просто приймаємо реальність, п’ємо каву і робимо вигляд, що все під контролем ☕🙂
#codica_humor
TikTok | Instagram | Telegram
Понеділок же… у всіх важкий, правда? Тож просто приймаємо реальність, п’ємо каву і робимо вигляд, що все під контролем ☕🙂
#codica_humor
TikTok | Instagram | Telegram
😁6
🎯 Як відповідати на технічні питання на співбесіді?
#codica_interviews
❌ Відповідати навмання – ризиковано.
✅ Розумій суть Rails і пояснюй просто.
#codica_interviews
❌ Відповідати навмання – ризиковано.
✅ Розумій суть Rails і пояснюй просто.
1️⃣ Що таке callbacks у контролерах
📌 Очікувана відповідь:
У Rails контролери можуть виконувати додаткову логіку до, після або навколо action через callbacks.
Найчастіше використовується
Це зручно для:
• авторизації
• пошуку запису перед дією
• винесення спільної логіки
• зменшення дублювання коду
Приклад:
👉 Тут
виконується перед вказаними action і знаходить запис один раз, без дублювання коду.
📌 Основні типи callbacks:
— до action
— після action
— до і після action (обгортає виконання)
Приклад авторизації:
Це часто використовується для контролю доступу до ресурсів.
2️⃣ Що таке Strong Parameters?
📌 Очікувана відповідь:
Strong Parameters — це механізм безпеки Rails, який дозволяє явно вказати, які параметри можна приймати від користувача.
Це захищає застосунок від небажаного mass assignment.
Приклад:
👉 Тут дозволені лише
і
Інші параметри Rails не передасть у модель через mass assignment.
Використання:
📌 Це допомагає захистити поля, які не повинен змінювати користувач:
3️⃣ Що перевіряють у request specs у Rails?
📌 Очікувана відповідь:
У сучасному Rails частіше використовують
а не controller specs. Вони перевіряють поведінку застосунку з точки зору HTTP-запиту.
Зазвичай тестують:
1️⃣ HTTP status
2️⃣ Redirect
3️⃣ Зміни в базі даних
4️⃣ Response body / JSON / rendered content
Наприклад, чи повернувся потрібний текст або JSON-поле.
📌 Головна ідея тестування:
• правильна обробка запиту
• правильний response
• правильна бізнес-поведінка
• очікуваний результат для користувача
✨ На співбесіді цінують не зазубрені терміни, а розуміння логіки Rails. Нехай ці питання стануть хорошою практикою перед технічною співбесідою!
TikTok | Instagram | Telegram
before_action, after_action, around_action
📌 Очікувана відповідь:
У Rails контролери можуть виконувати додаткову логіку до, після або навколо action через callbacks.
Найчастіше використовується
before_action
Це зручно для:
• авторизації
• пошуку запису перед дією
• винесення спільної логіки
• зменшення дублювання коду
Приклад:
class PostsController < ApplicationController
before_action :set_post, only: %i[show edit update destroy]
def show
end
def update
if @post.update(post_params)
redirect_to @post
else
render :edit, status: :unprocessable_entity
end
end
private
def set_post
@post = Post.find(params[:id])
end
end
👉 Тут
set_post
виконується перед вказаними action і знаходить запис один раз, без дублювання коду.
📌 Основні типи callbacks:
before_action
— до action
after_action
— після action
around_action
— до і після action (обгортає виконання)
Приклад авторизації:
before_action
:authenticate_user!
Це часто використовується для контролю доступу до ресурсів.
2️⃣ Що таке Strong Parameters?
📌 Очікувана відповідь:
Strong Parameters — це механізм безпеки Rails, який дозволяє явно вказати, які параметри можна приймати від користувача.
Це захищає застосунок від небажаного mass assignment.
Приклад:
def post_params
params.require(:post).permit(:title, :content)
end
👉 Тут дозволені лише
title
і
content
Інші параметри Rails не передасть у модель через mass assignment.
Використання:
def create
@post = Post.new(post_params)
if @post.save
redirect_to @post
else
render :new, status: :unprocessable_entity
end
end
📌 Це допомагає захистити поля, які не повинен змінювати користувач:
admin
role
user_id
3️⃣ Що перевіряють у request specs у Rails?
📌 Очікувана відповідь:
У сучасному Rails частіше використовують
request specs
а не controller specs. Вони перевіряють поведінку застосунку з точки зору HTTP-запиту.
Зазвичай тестують:
1️⃣ HTTP status
get posts_path
expect(response).to have_http_status(:ok)
2️⃣ Redirect
post posts_path, params: valid_params
expect(response).to redirect_to(post_path(Post.last))
3️⃣ Зміни в базі даних
expect {
post posts_path, params: valid_params
}.to change(Post, :count).by(1)
4️⃣ Response body / JSON / rendered content
Наприклад, чи повернувся потрібний текст або JSON-поле.
📌 Головна ідея тестування:
• правильна обробка запиту
• правильний response
• правильна бізнес-поведінка
• очікуваний результат для користувача
✨ На співбесіді цінують не зазубрені терміни, а розуміння логіки Rails. Нехай ці питання стануть хорошою практикою перед технічною співбесідою!
TikTok | Instagram | Telegram
🔥3
Chrome DevTools для QA: як реально знаходити баги швидше
#codica_articles
Поради й спостереження від нашого QA Engineer, Олексія.
👉 DevTools – це не “подивитися HTML”. Це головний інструмент, який щодня економить години тестування і десятки повідомлень у Slack.
👉 Ось як QA використовують його зараз у сучасних SPA, маркетплейсах і SaaS.
TikTok | Instagram | Telegram
#codica_articles
Поради й спостереження від нашого QA Engineer, Олексія.
👉 DevTools – це не “подивитися HTML”. Це головний інструмент, який щодня економить години тестування і десятки повідомлень у Slack.
👉 Ось як QA використовують його зараз у сучасних SPA, маркетплейсах і SaaS.
TikTok | Instagram | Telegram
👍3✍1
Друзі, продовжуємо ділитися корисними інструментами для розробників 👨💻
#codica_advice
Сьогоднішня знахідка – Programming Idioms. Це сайт, де можна подивитись, як одна й та сама задача або прийом реалізується в різних мовах програмування – від Python і JavaScript до Go, Rust, Ruby, Haskell та багатьох інших..
Дуже зручно, коли вже знаєш одну мову й починаєш вивчати іншу: можна швидко зрозуміти, як знайома логіка виглядає в новому синтаксисі.
🔗 Programming Idioms
Гарного вечора! Відпочивайте і не забувайте про work-life balance 🙂
TikTok | Instagram | Telegram
#codica_advice
Сьогоднішня знахідка – Programming Idioms. Це сайт, де можна подивитись, як одна й та сама задача або прийом реалізується в різних мовах програмування – від Python і JavaScript до Go, Rust, Ruby, Haskell та багатьох інших..
Дуже зручно, коли вже знаєш одну мову й починаєш вивчати іншу: можна швидко зрозуміти, як знайома логіка виглядає в новому синтаксисі.
🔗 Programming Idioms
Гарного вечора! Відпочивайте і не забувайте про work-life balance 🙂
TikTok | Instagram | Telegram
🔥4
1️⃣ Яка основна різниця між authentication та authorization?
Anonymous Quiz
4%
Authentication визначає, що користувач може робити
4%
Authorization перевіряє, хто користувач
6%
Обидва терміни означають одне й те саме
87%
Authentication — хто ти, authorization — що тобі дозволено
2️⃣ Яка атака дозволяє виконати шкідливий JavaScript у браузері іншого користувача?
Anonymous Quiz
27%
SQL Injection
54%
Cross-Site Scripting (XSS)
8%
Server-Side Request Forgery
12%
CSRF
3️⃣ У чому головна причина успішних CSRF-атак?
Anonymous Quiz
36%
Відсутність HTTPS
21%
Збереження паролів у cookies
30%
Автоматичне додавання браузером cookies до запитів
13%
Використання JWT
4️⃣ Який з підходів найкраще зменшує ризик XSS?
Anonymous Quiz
10%
Зберігати дані у base64
26%
Фільтрувати input користувача regexʼом
8%
Використовувати iframe для всіх сторінок
56%
Контекстно-залежне escaping і output encoding
5️⃣ Чому зберігати JWT у LocalStorage вважається небезпечним?
Anonymous Quiz
93%
Тому що токен доступний JavaScript і вразливий до XSS
0%
LocalStorage повільніший за cookies
2%
JWT мають обмеження по розміру
4%
LocalStorage не підтримує HTTPS
6️⃣ Яка з практик є правильною для зберігання паролів?
Anonymous Quiz
30%
Зберігати пароль у зашифрованому вигляді
53%
Хешувати з унікальним salt і повільним алгоритмом (bcrypt/argon2)
4%
Хешувати пароль з одним спільним salt
13%
Зберігати пароль у JWT
7️⃣ Яка помилка найчастіше призводить до IDOR-вразливостей?
Anonymous Quiz
15%
Відсутність rate limiting
22%
Неправильна CORS-конфігурація
59%
Перевірка доступу лише на клієнті або за ID в запиті
5%
Відсутність CAPTCHA
💎 Знову улюблена добірка книг для рубістів!
#codica_advice
Безкоштовні PDF-книги, щоб прокачати ваш Ruby та Rails 📚
📍 Добірка Ruby-книжок 1
📍 Добірка Ruby-книжок 2
📍 Добірка Ruby-книжок 3
👉 Component-Based Rails Applications
Автор: Stephan Hagemann
Покроковий гайд по створенню модульних та масштабованих Rails-додатків з компонентним підходом.
👉 Ruby Programming: Building Future-Proof Applications
Автор: Theophilus Edet
Сучасний підхід до розробки на Ruby, який допомагає писати стабільний і надійний код.
👉 Black Hat Ruby
Автор: Justin Seitz
Безпека та хакерські техніки на Ruby – практичне керівництво для досвідчених розробників.
👉 Ruby on Rails Background Jobs with Sidekiq
Автор: David B. Copeland
Все про асинхронні завдання та фонові процеси у Rails за допомогою Sidekiq.
👉 Mastering Ruby: A Beginner’s Guide
Автор: Uzayr Sufyan Bin
Вичерпний вступ у Ruby з практичними прикладами та порадами для початківців.
Ставте вподобайку, зберігайте і вдалого вам завершення дня✨
TikTok | Instagram | Telegram
#codica_advice
Безкоштовні PDF-книги, щоб прокачати ваш Ruby та Rails 📚
📍 Добірка Ruby-книжок 1
📍 Добірка Ruby-книжок 2
📍 Добірка Ruby-книжок 3
👉 Component-Based Rails Applications
Автор: Stephan Hagemann
Покроковий гайд по створенню модульних та масштабованих Rails-додатків з компонентним підходом.
👉 Ruby Programming: Building Future-Proof Applications
Автор: Theophilus Edet
Сучасний підхід до розробки на Ruby, який допомагає писати стабільний і надійний код.
👉 Black Hat Ruby
Автор: Justin Seitz
Безпека та хакерські техніки на Ruby – практичне керівництво для досвідчених розробників.
👉 Ruby on Rails Background Jobs with Sidekiq
Автор: David B. Copeland
Все про асинхронні завдання та фонові процеси у Rails за допомогою Sidekiq.
👉 Mastering Ruby: A Beginner’s Guide
Автор: Uzayr Sufyan Bin
Вичерпний вступ у Ruby з практичними прикладами та порадами для початківців.
Ставте вподобайку, зберігайте і вдалого вам завершення дня✨
TikTok | Instagram | Telegram
👍5