Codica - корисне про IT
2.08K subscribers
3.33K photos
172 videos
56 files
1.72K links
Привіт, друже, це канал про корисності в ІТ🤘

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

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

👉 Відкриті вакансії - www.codica.com/careers
Download Telegram
Мемоізація — це техніка оптимізації, за якої результат обчислення зберігається та повторно використовується, коли він знову потрібен за тих самих умов.

Простіше кажучи: якщо ми вже отримали результат і він досі актуальний — навіщо виконувати дорогу операцію ще раз?

У Ruby класичний pattern виглядає так:


def permissions
@permissions ||= current_user.permissions.to_a
end


Під час першого виклику permissions Ruby обчислить праву частину та збереже результат у @permissions.

Під час наступних викликів буде використано вже збережене значення.

Тобто:


permissions → отримали дані → зберегли в @permissions → використовуємо повторно


Навіщо потрібна мемоізація?

🔘 уникати повторних дорогих обчислень;
🔘 зменшувати кількість повторних операцій із БД або API;
🔘 не виконувати одну й ту саму роботу кілька разів;
🔘 у відповідних сценаріях — покращувати performance..

Розглянемо Rails-приклад

Уявімо, що під час обробки запиту нам кілька разів потрібно отримати permissions користувача:


def permissions
current_user.permissions.to_a
end


Кожен виклик методу знову виконує його логіку.

Можемо memoize результат:


def permissions
@permissions ||= current_user.permissions.to_a
end


Тепер результат зберігається в instance variable конкретного об‘єкта й може повторно використовуватися протягом його життя.

⚠️ А тепер класична пастка Ruby.

||= працює добре, доки false або nil не є валідним результатом.

Наприклад:


def active?
@active ||= expensive_check
end


Якщо expensive_check поверне false, наступний виклик знову виконає expensive_check, адже false не є truthy значенням.

У такому випадку можна перевіряти, чи instance variable вже була визначена:


def active?
return @active if defined?(@active)

@active = expensive_check
end


Тепер навіть false або nil можуть бути коректно memoized.

⚠️ Ще один важливий момент: memoization — це не те саме, що caching.

Наприклад:


@permissions


зберігається в конкретному Ruby object і живе стільки, скільки живе цей object.

Це не те саме, що Rails.cache, і не те саме, що Active Record Query Cache, який Rails використовує для кешування результатів SQL-запитів у своєму execution context.

Тому scope і lifetime memoized значення завжди мають значення.

💡 Головна ідея: якщо результат операції вже отримано, залишається актуальним і потрібен повторно — немає сенсу виконувати ту саму роботу ще раз.

Але пам‘ятайте: memoization любить актуальні дані та не любить false, захований за ||=.

TikTok | Instagram | Telegram
🔥2
Думаєш, що вже добре знаєш JavaScript?
А як щодо замикань, прототипів і контексту this? 😏

Ми знайшли круту шпаргалку з ключовими концепціями JavaScript:
🔹 контекст виконання та область видимості (Execution Context & Scope)
🔹 замикання та підняття оголошень (Closures & Hoisting)
🔹 контекст this, прототипи та класи
🔹 проміси та асинхронний код (Promises, async/await)
🔹 ітератори, деструктуризація та оператори розгортання/залишкових параметрів (Spread/Rest)
🔹 приведення типів і керування пам’яттю
🔹 відкладене виконання та обмеження частоти викликів (Debounce & Throttle)

🔖 Зберігай, щоб швидко повернутися до потрібної теми під час навчання або перед співбесідою.

Вчимося разом і стаємо сильнішими в коді))

#codica_advice

TikTok | Instagram | Telegram
🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Покроковий гайд: Як підняти свій безлімітний ШІ та налаштувати «Другий Мозок»

Ну що, втомилися від червоних плашок «You've reached your limit» у ChatGPT та Claude? Ролик про те, як відправити корпорації з їхніми підписками по $20 відпочивати, вже на каналі!
🔥3
Як і обіцяли тримайте повну шпаргалку з технічними кроками, моделями та командами. Зберігайте, щоб ноут не злетів у космос!

1️⃣ Ставимо красивий ШІ в один клік — LM Studio

Якщо не хочете бачити чорний екран терміналу, це ваш вибір.

1. Заходьте на lmstudio.ai та качайте під свій Windows/Mac.
2. У пошуку програми вбивайте топові моделі:
• Llama-3-8B-Instruct (універсальна робоча конячка від Meta)
• DeepSeek-Coder-V2 (китайський геній, який кодить краще за джунів)

💡 Лайфхак: Обирайте версії з маркуванням Q4_K_M або Q5_K_M. Це ідеальний баланс: ШІ не тупіє, а оперативка не плаче.

2️⃣ Для гіків та слабких ПК — Ollama (Термінал + Безкоштовна Хмара)

Використовує мінімум ресурсів, а тепер ще й має безкоштовний хмарний API.

1. Завантажуйте інсталятор з ollama.com.
2. Відкривайте свій термінал (або командний рядок Windows) і пишіть магічне заклинання:


ollama run llama3


(або)


ollama run deepseek-coder


3. Програма сама все завантажить і запустить чат прямо в консолі.

3️⃣ Налаштовуємо «Другий Мозок» (Зв'язка ШІ + Obsidian)

Змушуємо нейромережу вивчити ваші особисті нотатки та код без зливу даних в інтернет.

1. Ставимо крутий безкоштовний нотатник obsidian.md.
2. Заходимо в нотатник: Settings ➡️ Community Plugins ➡️ Вмикаємо плагіни.
3. Шукаємо та встановлюємо плагін: Obsidian Copilot або Local GPT.
4. У налаштуваннях плагіна вибираємо режим Local і вказуємо шлях до вашої запущеної LM Studio чи Ollama.
5. Готово! Тепер ШІ пише саммарі ваших конспектів і шукає зв'язки в хаосі ваших думок.

4️⃣ Якщо комп'ютер — «динозавр» — KoboldCPP

Запустить локальну модель навіть на прасці з 4 ГБ оперативки.

1. Качаємо один файл з офіційного GitHub KoboldCPP
2. Запускаємо, вибираємо легку модель (наприклад, на 1.5B або 3B параметрів) і спілкуємося через зручний інтерфейс у браузері.

5️⃣ Для роботи під NDA — AnythingLLM

Ідеально, якщо шеф боїться витоку комерційних таємниць.

1. Забираємо додаток на anythingllm.com.
2. Просто перетягуємо мишкою папку з робочими PDF, Excel чи кодом у вікно.
3. ШІ аналізує документи локально. Жоден байт не йде в мережу.

👇 Дивитися повне відео з лайфхаками та демонстрацією екрана:
[ПОСИЛАННЯ ВІДЕО НА YOUTUBE]

Користуйтеся, тестіть і пишіть у коментарях, яка модель завелася на вашому залізі найшвидше! 😉

TikTok | Instagram | Telegram
🔥2
Що виведе цей код?
Anonymous Quiz
47%
10
18%
20
6%
nil
29%
LocalJumpError
Що буде виведено в консоль?
Anonymous Quiz
32%
true true
12%
false false
24%
true false
32%
false true
🤖 40 КНИГ, ЩОБ РОЗІБРАТИСЯ В AI — ВІД НУЛЯ ДО AGI

Друзі, знайшли для вас аж 40 книг про AI 😅

І щоб не перевантажувати вас цією всією АІшкою одразу, будемо давати по 10 книг у 4-х частинах.

Тут і про сам AI, і про його вплив на людей, роботу, приватність, технології та наше майбутнє.

#codica_advice
❤2
Тож перша десятка вже тут 📚
Зберігайте, пересилайте друзям і… поїхали читати 🚀

🛒 — посилання на Amazon / купівлю
👀 — легальний безкоштовний preview / фрагмент книги


🧠 AI, його можливості та майбутнє

1. Kate Crawford — “Atlas of AI”
Про приховану ціну AI: дані, людську працю, ресурси, екологію, нерівність і владу.
🛒 Amazon — купити

2. Mustafa Suleyman & Michael Bhaskar — “The Coming Wave”
AI, synthetic biology та інші технології, які можуть радикально змінити суспільство.
🛒 Amazon — купити

3. Joy Buolamwini — “Unmasking AI”
Про bias у facial recognition та алгоритмах і про те, як технології можуть відтворювати старі форми дискримінації.
🛒 Amazon — купити

4. Fei-Fei Li — “The Worlds I See”
Історія AI очима однієї з ключових дослідниць computer vision — від лабораторій до сучасного AI-буму.
🛒 Amazon — купити

5. Urs Gasser & Viktor Mayer-Schönberger — “Guardrails”
Як створювати правила та обмеження для AI, не відмовляючись від технологічного прогресу.
👀 Google Books — Preview

6. Kai-Fu Lee & Chen Qiufan — “AI 2041”
10 художніх сценаріїв про те, як AI може змінити життя протягом наступних десятиліть.
🛒 Amazon — купити

7. Ruha Benjamin — “Race After Technology”
Як алгоритми можуть закріплювати соціальну нерівність під виглядом нейтральних технологій.
🛒 Amazon — купити

8. Nita Farahany — “The Battle for Your Brain”
Нейротехнології, brain-computer interfaces і майбутнє приватності наших думок.
🛒 Amazon — купити

9. Orly Lobel — “The Equality Machine”
Більш оптимістичний погляд: як AI та automation можуть використовуватися для зменшення нерівності.
👀 Google Books — Preview

10. Madhumita Murgia — “Code Dependent”
AI очима людей, чиє життя вже змінюють алгоритми — від медицини до роботи й освіти.
🛒 Amazon — купити

Далі буде ще більше про Big Tech, OpenAI, NVIDIA, чипи, AGI, privacy, AI safety, geopolitics, майбутнє роботи та те, куди взагалі все це котиться.

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

TikTok | Instagram | Telegram
🔥3
📚 Народ, ми тут дещо затіяли.

Запускаємо серію IT-шпаргалок на всі випадки життя — від «як там пишеться цей JOIN?» до «production горить, де моя команда kubectl?» 🔥

Замість сотні відкритих вкладок — добірки перевірених cheat sheets та офіційних quick references для розробників, QA і DevOps.

Будемо методично проходитися по стеку: Frontend, Backend, SQL, Security, Testing, Cloud, DevOps — і складати вам колекцію, яку не соромно тримати в закладках.

Коротше: ми шукаємо й перевіряємо — ви зберігаєте і робите вигляд, що завжди це пам’ятали. 😎

Починаємо 👇

#codica_advice
🔥1
🐞 5 шпаргалок для QA, які бережуть нерви перед релізом

Коли реліз уже близько, останнє, чого хочеться, — пів години шукати синтаксис SQL-запиту, потрібний HTTP-код або згадувати різницю між Boundary Value Analysis та Equivalence Partitioning. 😅

Зібрали 5 корисних ресурсів для QA, які варто тримати під рукою 👇

📘 Software Testing Cheat Sheet на DEV Community
Велика шпаргалка з базових QA-концепцій: Boundary Value Analysis, Equivalence Partitioning, bug lifecycle, Severity vs Priority, типи тестування та test planning.
Зручно, коли треба швидко освіжити теорію перед тест-дизайном, підготовкою test plan або regression cycle.

🌐 Postman — офіційна документація по test scripts
JavaScript-приклади для API-тестів у Postman: assertions, перевірка status codes, response body, headers та робота з даними відповіді.
Замість того щоб згадувати синтаксис pm.test() та pm.expect(), можна швидко знайти потрібний приклад і адаптувати його під свій API-тест.

⚙️ SQL Cheat Sheet на DevHints
Швидкий reference по SQL: SELECT, JOIN, WHERE, GROUP BY, агрегатні функції та інші конструкції, які регулярно потрібні під час перевірки даних у БД.
Корисно, коли треба перевірити, що бекенд правильно записав або змінив дані, а синтаксис потрібного запиту вилетів із голови.

🧠 HTTP Status Codes Cheat Sheet
Швидкий довідник по класах HTTP-відповідей — від інформаційних 1xx і успішних 2xx до client error 4xx та server error 5xx.
Допомагає швидко інтерпретувати відповідь API та звузити область пошуку проблеми — від параметрів запиту й авторизації до помилки на серверній стороні.

🛡 OWASP Web Security Testing Guide
OWASP Web Security Testing Guide | OWASP Foundation
Це вже не зовсім шпаргалка, а великий практичний reference для security testing вебзастосунків: authentication, authorization, session management, input validation, API testing та інші типові напрямки перевірки безпеки.

Корисно, коли хочеться перевірити не лише «чи працює», а й «що станеться, якщо користувач зробить те, чого ми від нього зовсім не очікуємо». 😈

💡 Порада:
Збережіть ці посилання в закладки, Slack або Notion. Не треба пам'ятати напам'ять кожен HTTP-код, SQL-конструкцію чи Postman assertion.

Головне — знати, що перевіряти і де швидко знайти точний синтаксис, коли він знадобиться.

TikTok | Instagram | Telegram
🔥2