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
☕️ Друзі, зізнавайтесь: хто ще деплоїть руками «бо так швидше»?
Ми теж так робили… доки одного разу не зламали прод.


👉 Щоб такого більше не було — ловіть мінімальний, але робочий CI/CD для Rails.
🔥3❤‍🔥1
⚙️ CI на GitHub Actions
У .github/workflows/ci.yml:


Ruby + гем-кеш
- uses: ruby/setup-ruby@v1я

👉 швидший білд.

Node.js (якщо є JS/yarn/webpacker)
- uses: actions/setup-node@v3


Postgres як service
База для тестів прямо в CI, без зовнішнього конекту.

Rubocop
- run: bundle exec rubocop


Тести (RSpec/Minitest)
- run: bundle exec rspec


Статус на PR
GitHub → Settings → Branch protection → main →
required


🚀 CD (деплой після CI)
🔹 Heroku – простий деплой прямо з GitHub.
🔹 Fly.io – сучасна альтернатива Heroku, дешевша.
🔹 Render / Railway – автодеплой «з коробки».
🔹 Docker – свій імідж деплоїмо через GitHub Actions.

📂 Готові приклади
🔹Thoughtbot Rails Template → suspenders
🔹 Гайд від GitHub → docs

🔑 Практичні поради
🔹 Ніколи не деплой без green CI.
🔹 Блокуйте PR, якщо тести падають.
🔹 Деплой – окремий workflow, не змішуй із тестами.
🔹 CI повинен бігати < 5 хв (кешуй залежності, важке винось окремо).

💡 Висновок
Мінімальний CI/CD – це не «опція», а базова гігієна проєкту.
Автоматизація не тільки рятує від «забув протестити», а й економить десятки годин усій команді.

#codica_advice

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

Вихідні без контенту – це як кава без кофеїну: щось є, а драйву нема. Тому ми зібрали для вас найсмачніші тексти останніх тижнів, які можна «зацінити».

📍 Історія про «вайб-кодинг»
👉 як журналістка без досвіду в програмуванні потрапила в команду Notion як розробниця – і чим це закінчилось.

📍 Як працює індійська індустрія з переробки електроніки
👉 мільярди доларів прибутку, але за страшну ціну – здоров’я людей та екології.

📍 Розробники Claude Code вперше визнали: їхній ШІ застосовують хакери

📍 Реліз GPT-5 зустріли з критикою
👉 користувачі очікували феєрверків, а отримали… відчуття «ну ок». Довелось навіть самому Альтману віддуватися в Reddit.

Кидайте реакцію, щоб ми знали, що вам зайшло:
👍 «топ»
😂 «лол»
🤯 «шок-контент»


#codica_weekend

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

📍 deer – олень
📍 prison – в'язниця

#codica_english

TikTok | Instagram | Telegram
😁7👍1
Агов, друзі, перевірка – є тут олди? 😄

#codica_humor

TikTok | Instagram | Telegram
😁13
🎯 Як відповідати на технічні питання на співбесіді?

#codica_interviews

Давати швидку відповідь без підготовки – погана ідея.
Пройти ключові питання заздалегідь і зрозуміти, як пояснювати – правильний підхід.
1
Ось приклади питань для React-розробників, які обов‘язково варто знати 👇

1️⃣ Яку проблему вирішує React?
📌 Очікувана відповідь:
Робота з DOM у браузері – повільна операція. React оптимізує її за допомогою Virtual DOM:
— обчислює різницю між старим і новим станом інтерфейсу (diffing),
— оновлює тільки ті частини DOM, які змінилися (reconciliation).
Це зменшує кількість маніпуляцій із DOM, підвищує продуктивність і дозволяє мислити інтерфейсом як функцією від стану.

2️⃣ Чи миттєво оновлюється
setState? Якщо ні, то як виконати код після оновлення?
📌 Очікувана відповідь:
setState

працює асинхронно, бо React об’єднує кілька змін стану в один цикл рендерингу (batching).
— У класових компонентах можна використати callback:
this.setState({ data: [1, 2, 3] }, () => {
console.log('State оновлено');
});


— У функціональних компонентах – через useEffect:
useEffect(() => {
console.log('State оновлено');
}, [data]);


3️⃣ Як оновити стан на основі попереднього значення?
📌 Очікувана відповідь:
Коли новий state залежить від попереднього, варто використовувати функціональний синтаксис:

— У класових компонентах:
this.setState((prevState, props) => ({
counter: prevState.counter + props.step
}));


— У функціональних (useState):
setCounter(prev => prev + step);


Це гарантує правильне оновлення навіть при кількох викликах поспіль.

💡 Висновок: ці питання – must-know для React-розробника. Вони перевіряють не просто знання API, а й розуміння, як React працює «під капотом».

🌟 Пам’ятайте: підготовлений кандидат = спокійний кандидат 😉

#codica_interviews

TikTok | Instagram | Telegram
🔥3
🔥 Друзі, ви вже чули про vibe-coding чи навіть встигли потестувати?

👉 Все більше розробників тестують, як можна «писати код без коду», коли ти керуєш процесом через AI.

👉 Наш Frontend Lead, Євгеній Волков, теж занурився в цю тему, дослідив vibe-coding на реальних проєктах і зібрав власні спостереження, приклади та висновки.

Читайте статтю, кидайте реакції 👍 і діліться своїм досвідом у коментарях 💬

#codica_advice

TikTok | Instagram | Telegram
4👍3🤣1
З Днем захисників і захисниць України 💙💛

Сьогодні – про тих, хто щодня тримає небо для нас.
Про тих, хто не спить, коли ми п’ємо каву.
Про тих, хто мовчки робить неможливе, щоб ми могли жити.

Бережіть себе.
Пам’ятаємо, віримо, підтримуємо.
Слава Україні! 💪

#CodicaTeam

TikTok | Instagram | Telegram
8
Друзі, а ви знаєте, чому без тестів у Rails нікуди?

#codica_advice

👉 Тести – це ваша страховка в коді.

Вони автоматично перевіряють: усе гаразд чи щось зламалось .
👍3