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

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

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

👉 Відкриті вакансії - www.codica.com/careers
Download Telegram
🔥 15 смертельних гріхів програміста
(або як не втратити повагу команди та сон у пʼятницю)
Реліз у пʼятницю
→ нічого не обіцяло біди... аж поки не впав прод.

Дедлайн з повітря
→ «Так треба» – ще не аргумент, якщо ти не замовник у ролі Бога.

Коміт fix1 → fix2 → final-fix → final-fix-really-final
→ Git памʼятає. Karma теж.

Hardcode в конфігах
→ API_KEY = "1234" – тому в понеділок всі в DevOps.

Push у main без ревʼю
→ бо навіщо CI, якщо є віра?

Тестування лише на локалці
→ “У мене працює” – не частина pipeline.

Ставити console.log замість нормального логування
→ а потім ще й залишити на проді 👀

Захардкожені таймзони або формати дат
→ UTC, ISO, UNIX… choose wisely, mortal.

Валідація тільки на фронті
→ бо хто ж буде постити через Postman…

Ігнорування .env і закидання секретів у репозиторій
→ привіт від Github Copilot.

"Перепишу все з нуля – так швидше"
→ famous last words.

Колбеки, які тригерять side-ефекти без контролю
→ і раптом один запис створює 6 листів, 3 платежі й безсонну ніч.

Продакшн без моніторингу
→ та хто ж його буде дебажити в 3 ночі?..

Писати SQL-запити в шаблоні HTML
→ бо так зручніше… поки не вломився хакер.

Писати код без пояснення – “ну воно ж і так ясно”
→ а потім три тижні Reverse Engineering власного творіння.

😅 Порушував хоч один? Вітаємо, ти справжній девелопер.
А якщо всі 15 – welcome в клуб архітекторів хаосу.

💬 А що ще додати до цього списку? Пиши в коментарях!

TikTok | Instagram | Telegram
🔥5
👋 Хей, народ!
Ми тут для вас контент пиляємо, пишемо, вигадуємо – а от цікаво, хто взагалі сидить по той бік екрана? 😅
Давайте невелике опитування: тисни на свій стек і покажи, хто ти є насправді 🚀

Ваші кліки – це наші інсайти. А ще приємно знати, з ким ми тут разом прокачуємось 😉

TikTok | Instagram | Telegram
5
50+ безпечних формулювань, щоб уникнути проблем з банками та податковою

👉 Ми вже публікували, що писати в призначенні платежу у нашій попередній статті від бухгалтерки Юлії.

📌 Але цього разу – ще практичніше.

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

👉 Гортайте слайди нижче або збережіть собі.
У кінці – поради, що не варто писати.


#codica_advice

TikTok | Instagram | Telegram
🔥4👀1
Агов, друзі! До вашої ранкової кави ми підготували ще 5 побутових антипатернів у Rails, які здаються «ок», але потім болять 🎯

👉 Ці помилки часто роблять навіть досвідчені розробники – просто через спішку або звичку.
👉 Саме з таких дрібниць починається legacy 🤷

📌 Якщо ще не читав перші частини – обов’язково знайди в каналі:
🔘 частина 1 – про fat controller, god model, default_scope
🔘 частина 2 – про погано організовану бізнес-логіку

👇 Тож лови корисний чек-лист
4
1. Логіка прямо в
routes.rb

Rails.application.routes.draw do
get "/hello", to: ->(env) { [200, {}, ["Hello, world!"]] }
end


Проблема:
- Неочевидна поведінка
- Жодної авторизації
- Неможливо переюзати логіку

Краще:
get "/hello", to: "welcome#hello"

Вся логіка в контролері, як і має бути 😉

2. Валідації тільки на фронтенді
<%= form.text_field :email, required: true %>


Проблема:
- Користувач обійде через Postman
- У базу потрапить сміття

Краще:
class User < ApplicationRecord
validates :email, presence: true, format: { with: URI::MailTo::EMAIL_REGEXP }
end

Фронт – це для UX, бек – для безпеки й чистоти даних 🛡️

3. Відсутність strong parameters
def update
@user.update(params[:user])
redirect_to @user
end


Проблема:
- Масове призначення (admin: true)
- Пряма вразливість у продакшені

Краще:
def update
if @user.update(user_params)
redirect_to @user
else
render :edit
end
end

private

def user_params
params.require(:user).permit(:name, :email)
end

Strong params – твій маленький щит безпеки

4. Створення даних у міграціях
class AddDefaultUsers < ActiveRecord::Migration[7.0]
def change
User.create!(name: "Admin", email: "[email protected]")
end
end


Проблема:
- Моделі змінюються, міграції – ні
- Через рік це просто впаде

Краще:
# seeds.rb або окрема rake task
User.create!(name: "Admin", email: "[email protected]")

Міграції – тільки про схему. Дані – окремо. 📊

5. HTML у контролерах
def index
render html: "<h1>Hello</h1>".html_safe
end


Проблема:
- Повне змішування шарів
- Неможливо масштабувати

Краще:
<!-- app/views/welcome/index.html.erb -->
<h1>Hello</h1>

Розділення логіки, представлення та даних – не просто принцип, а запорука виживання 💪

Висновок:
Rails дозволяє писати швидко, але це не завжди значить правильно. Пиши чисто одразу. Бо завтра це може редагувати твій колега. Або ти сам.

Хочеш ще антипатернів – кидай + в коментарі

#codica_advice

TikTok | Instagram | Telegram
🔥3👍1
Що виведе цей код?
Anonymous Quiz
7%
:b
6%
1
78%
2
9%
Помилка
Що буде виведено в консоль?
Anonymous Quiz
20%
ReferenceError
11%
3
20%
4
49%
7
Друзі, ну такого ви точно не очікували 😱
Ми запустили новий формат на YouTube – і перше відео одразу про найболючіше:
зарплати в ІТ у 2025 💸

👉 Чи справді айтішникам у 2025 платять багато?
👉 І чому більшість цих грошей до тебе не долітає?

Ми зібрали факти, міфи та іронію, щоб чесно розповісти, що зараз відбувається з ринком.
Повірте, це відео ви додивитесь до кінця.

👉 Ловіть лінк і дивіться
Гарного перегляду!

TikTok | Instagram | Telegram
🔥2