🙄 Клони Spotify і Todo-додатки вже в печінках у рекрутерів і тімлідів.
#codica_articles
Якщо хочеш виділитися з сотень однакових резюме, твій пет-проєкт має пахнути реальним комерційним продакшном, а не сороковою серією туторіалу з YouTube.
Ми вже розбирали, як джуну робити pet-проєкти, які виглядають як досвід. А тепер продовжуємо тему на практиці 👇
Ми зібрали 5 ідей pet-проєктів, які одразу покажуть, що ти вмієш думати як інженер, а не сліпо копіювати код.
Читай у картках та обов'язково пересилай другу, якому якраз час оновити свій портфель проєктів!
TikTok | Instagram | Telegram
#codica_articles
Якщо хочеш виділитися з сотень однакових резюме, твій пет-проєкт має пахнути реальним комерційним продакшном, а не сороковою серією туторіалу з YouTube.
Ми вже розбирали, як джуну робити pet-проєкти, які виглядають як досвід. А тепер продовжуємо тему на практиці 👇
Ми зібрали 5 ідей pet-проєктів, які одразу покажуть, що ти вмієш думати як інженер, а не сліпо копіювати код.
Читай у картках та обов'язково пересилай другу, якому якраз час оновити свій портфель проєктів!
TikTok | Instagram | Telegram
👍2
Практика Rails: Розумний семантичний пошук через PostgreSQL & ActiveRecord
#codica_advice
Чи бувало у вас таке: замовник приходить і каже: “Нам терміново потрібен AI-пошук у проекті!“, а ви вже уявляєте новий деплой, налаштування Pinecone або Qdrant, додатковий бюджет і головний біль з інфраструктурою?
Спокійно! Знайшли для вас елегантне рішення, яке дозволяє реалізувати семантичний векторний пошук без жодної нової бази даних — прямо у вашому звичному PostgreSQL.
Більшість продуктів зараз додають AI-фічі, але підключати окремі векторні бази даних (Pinecone/Qdrant) — це зайвий деплой, гроші та інфраструктура.
Якщо у вас вже є PostgreSQL, проблему вирішує розширення pgvector та гем pgvector-ruby
#codica_advice
Чи бувало у вас таке: замовник приходить і каже: “Нам терміново потрібен AI-пошук у проекті!“, а ви вже уявляєте новий деплой, налаштування Pinecone або Qdrant, додатковий бюджет і головний біль з інфраструктурою?
Спокійно! Знайшли для вас елегантне рішення, яке дозволяє реалізувати семантичний векторний пошук без жодної нової бази даних — прямо у вашому звичному PostgreSQL.
Більшість продуктів зараз додають AI-фічі, але підключати окремі векторні бази даних (Pinecone/Qdrant) — це зайвий деплой, гроші та інфраструктура.
Якщо у вас вже є PostgreSQL, проблему вирішує розширення pgvector та гем pgvector-ruby
Як це працює на практиці за 4 кроки:
1️⃣ Додаємо гем та вмикаємо розширення:
2️⃣ Додаємо векторну колонку до моделі:
3️⃣ Підключаємо магію в ActiveRecord:
4️⃣ Робимо семантичний пошук у коді:
🔥 Чому це круто:
• Жодних сторонніх сервісів — все всередині вашої Postgres.
• Повна підтримка стандартних з’єднань, scope та фільтрів ActiveRecord.
• Легко масштабується до мільйонів записів за допомогою HNSW індексів.
А ви вже пробували впроваджувати векторний пошук у своїх Rails-проектах чи поки використовуєте звичайний Full-Text Search? 👇
TikTok | Instagram | Telegram
1️⃣ Додаємо гем та вмикаємо розширення:
# Gemfile
gem “pgvector”
Створюємо міграцію:
class EnablePgvector < ActiveRecord::Migration[7.1]
def change
enable_extension “vector”
end
end
2️⃣ Додаємо векторну колонку до моделі:
class AddEmbeddingToProducts < ActiveRecord::Migration[7.1]
def change
# 1536 — розмірність для стандартних векторів OpenAI (text-embedding-3-small)
add_column :products, :embedding, :vector, limit: 1536
end
end
3️⃣ Підключаємо магію в ActiveRecord:
class Product < ApplicationRecord
has_neighbors :embedding
end
4️⃣ Робимо семантичний пошук у коді:
# Отримуємо вектор від AI для пошукового запиту “теплий худі на зимову погоду”
user_vector = OpenAIClient.embed(“теплий худі на зимову погоду“)
# Шукаємо найближчі товари за косинусною відстаню прямо через SQL:
@nearest_products = Product.nearest_neighbors(:embedding, user_vector, distance: “cosine”).first(5)
🔥 Чому це круто:
• Жодних сторонніх сервісів — все всередині вашої Postgres.
• Повна підтримка стандартних з’єднань, scope та фільтрів ActiveRecord.
• Легко масштабується до мільйонів записів за допомогою HNSW індексів.
А ви вже пробували впроваджувати векторний пошук у своїх Rails-проектах чи поки використовуєте звичайний Full-Text Search? 👇
TikTok | Instagram | Telegram
👍3
Друзі, ми багато говорили про те, як створювати, копіювати та ефективно працювати з обʼєктами в JavaScript 😎
Робота з обʼєктами в JavaScript давно не обмежується keys() чи entries(). Сучасний синтаксис дозволяє писати коротше, читабельніше і без зайвих перевірок — особливо коли дані приходять з API або структура обʼєкта може змінюватися.
Ці кілька “маленьких” можливостей мови часто недооцінюють, хоча саме вони роблять production-код акуратним і зрозумілим 👇
✨ Modern Object Tricks in JavaScript — маленькі речі, які роблять код чистішим
Гортайте картки — розберемося, коли який метод доречний і як писати ефективніше.
#codica_advice
Попередні пости рубрики:
📍 5 Important Object Methods in JavaScript
📍 Iteration Patterns
📍 Shallow vs Deep Copy in JavaScript
📍 Object vs Map in JavaScript — коли що використовувати?
📍 Protecting Objects in JavaScript — freeze, seal чи preventExtensions?
TikTok | Instagram | Telegram
Робота з обʼєктами в JavaScript давно не обмежується keys() чи entries(). Сучасний синтаксис дозволяє писати коротше, читабельніше і без зайвих перевірок — особливо коли дані приходять з API або структура обʼєкта може змінюватися.
Ці кілька “маленьких” можливостей мови часто недооцінюють, хоча саме вони роблять production-код акуратним і зрозумілим 👇
✨ Modern Object Tricks in JavaScript — маленькі речі, які роблять код чистішим
Гортайте картки — розберемося, коли який метод доречний і як писати ефективніше.
#codica_advice
Попередні пости рубрики:
📍 5 Important Object Methods in JavaScript
📍 Iteration Patterns
📍 Shallow vs Deep Copy in JavaScript
📍 Object vs Map in JavaScript — коли що використовувати?
📍 Protecting Objects in JavaScript — freeze, seal чи preventExtensions?
TikTok | Instagram | Telegram
🔥3
🚨 ХТО ЗНОВУ ЗЛАМАВ СТЕЙДЖ? НОВИЙ IT-ДЕКТЕКТИВ! 🚨
Друзі, у нас в компанії черговий релізний форс-мажор. Чотири спеціалісти працювали над фічами, але хтось один завантажив сирий код і повністю поклав стейджинг-сервер 😱
Наш PM зібрав первинні логи та записав кілька фактів. Допоможіть знайти винуватця, визначивши для кожного: Роль, Мову/Інструмент та їхній єдиний головний факап.
📋 Команда та ресурси:
Андрій, Марія, Сергій, Олена.
Ролі:
Backend, Frontend, QA, PM.
Мови та Інструменти:
Python, JavaScript, Jira, Postman.
Факапи:
Поклав стейдж, Забув дедлайн, Видалив ліда з CRM, Створив 50 merge conflicts.
Відомо, що:
Андрій працює з Python.
Марія — QA.
QA працює в Postman і не ламала стейдж.
PM веде задачі в Jira і саме він забув дедлайн.
Олена — не Frontend і не QA.
Сергій — не Backend і не PM.
Frontend працює з JavaScript і саме він поклав стейдж.
Backend створив 50 merge conflicts.
🤔 Хто поклав стейдж? Яка у нього роль та інструмент?
Пишіть у коментарях ім’я винуватця 👇
TikTok | Instagram | Telegram
Друзі, у нас в компанії черговий релізний форс-мажор. Чотири спеціалісти працювали над фічами, але хтось один завантажив сирий код і повністю поклав стейджинг-сервер 😱
Наш PM зібрав первинні логи та записав кілька фактів. Допоможіть знайти винуватця, визначивши для кожного: Роль, Мову/Інструмент та їхній єдиний головний факап.
📋 Команда та ресурси:
Андрій, Марія, Сергій, Олена.
Ролі:
Backend, Frontend, QA, PM.
Мови та Інструменти:
Python, JavaScript, Jira, Postman.
Факапи:
Поклав стейдж, Забув дедлайн, Видалив ліда з CRM, Створив 50 merge conflicts.
Відомо, що:
Андрій працює з Python.
Марія — QA.
QA працює в Postman і не ламала стейдж.
PM веде задачі в Jira і саме він забув дедлайн.
Олена — не Frontend і не QA.
Сергій — не Backend і не PM.
Frontend працює з JavaScript і саме він поклав стейдж.
Backend створив 50 merge conflicts.
🤔 Хто поклав стейдж? Яка у нього роль та інструмент?
Пишіть у коментарях ім’я винуватця 👇
TikTok | Instagram | Telegram
👀2