TGViewer
Channel Public Channel
Codica - корисне про IT

Codica - корисне про IT

@codica

Привіт, друже, це канал про корисності в ІТ🤘

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

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

👉 Відкриті вакансії - www.codica.com/careers
Subscribers
2.08K
Photos
3.3K
Videos
172
Links
1.7K
Recent Posts 14 shown
Post #5191 100
#codica_js
Post #5189 96
#codica_ruby
Post #5188 107
Як і обіцяли тримайте повну шпаргалку з технічними кроками, моделями та командами. Зберігайте, щоб ноут не злетів у космос!

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
Post #5187 115
Покроковий гайд: Як підняти свій безлімітний ШІ та налаштувати «Другий Мозок»

Ну що, втомилися від червоних плашок «You've reached your limit» у ChatGPT та Claude? Ролик про те, як відправити корпорації з їхніми підписками по $20 відпочивати, вже на каналі!
  • 🔥 3
Post #5186 150
Думаєш, що вже добре знаєш JavaScript?
А як щодо замикань, прототипів і контексту this? 😏

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

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

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

#codica_advice

TikTok | Instagram | Telegram
  • 🔥 2
Post #5185 137
Мемоізація — це техніка оптимізації, за якої результат обчислення зберігається та повторно використовується, коли він знову потрібен за тих самих умов.

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

У 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
Post #5184 142
Старенькі знають, молоді гуглять 😎

Сьогодні в нашій рубриці словника Ruby on Rails розглядаємо поняття «Мемоізація» (Memoization).

#codica_advice

Попередні пости рубрики:
👉 Міграції (migrations)
👉 Способи запуску команд Rails
👉 Метал-контролери (Metal Controllers)
👉 DSL (Domain Specific Language)
👉 Ідемпотентність (Idempotency)
Post #5183 168
Поки ви горіли на зідзвонах, наш CEO Дмитро часу не гаяв і спакував новий Ruby Digest.

Тут тільки база:
• Продуктивність: розганяємо Ruby на повну.
• Безпека: фіксимо Rails-вразливості до того, як вони стануть мемами.
• Інструменти: нові бібліотеки та архітектура фонових задач.

Клацайте по лінку і вдавайте, що рев’юїте важливий пул-реквест.

👉 Читати Ruby Digest

TikTok | Instagram | Telegram
  • 🔥 3
Post #5182 161
Штучний інтелект і нейромережі

Чому це цікаво
AI уже давно не “технологія майбутнього”, а робочий інструмент сьогодення. І чим краще розумієш базові принципи його роботи, тим легше відрізняти реальні можливості від гучного хайпу.

Що сильного
• хороший формат для швидкого входу в тему
• допомагає розкласти по поличках базові поняття AI та нейромереж
• корисно тим, хто хоче зрозуміти тему без складної математики
• дає загальну картину напрямку, який уже змінює бізнес і розробку
• після книги слова “машинне навчання” вже не звучать магічно 😏

Що недотиснули
• формат “12 книжок в одній” зазвичай означає ширину замість глибини
• для технічних спеціалістів може бути занадто базово
• тема AI змінюється швидко, тому частина матеріалу може старіти дуже швидко
• практичних кейсів хотілося б більше

Кому може бути цікава
👉 новачкам у темі AI
👉 менеджерам, які хочуть краще розуміти тренд
👉 підприємцям
👉 маркетологам
👉 нетехнічним спеціалістам
👉 тим, хто досі думає, що AI — це просто чат-бот 😏

Оцінка від Codica
7 / 10 👍

Наш висновок

Непоганий старт для знайомства з темою, але якщо хочете реально зануритися в AI — це лише перша сходинка.

TikTok | Instagram | Telegram
  • 👍 2
Post #5181 149
Що читають у Codica 📚

Друзі, на зв’язку наша постійна рубрика, де ділимось книгами з корпоративної бібліотеки, які можуть бути корисними не лише для полиці, а й для роботи, мислення та розвитку.

Минулі наші розбори:
👉 Head First — Програмування на JavaScript
👉 Гарро фон Зенгер — 36 стратегем для керівника
👉 Head First — Патерни проєктування
👉 Ювал Ной Харарі — Sapiens. Коротка історія людства
👉 Роберт Мартін — Чистий код
Post #5174 163
💸 5 фінансових помилок, які коштують IT-спеціалісту тисячі доларів

#codica_advice

Високий дохід в IT не гарантує фінансової свободи. Можна отримувати $3 000, $5 000 чи навіть $10 000 на місяць — і все одно відчувати касові розриви або залежати від наступного інвойсу.

Привіт! На зв’язку Юлія, головна бухгалтерка Codica. Щомісяця через мої руки проходять десятки бюджетів та виплат. Я регулярно бачу, як через базові фінансові прорахунки розробники втрачають сотні й тисячі доларів.

Я зібрала 5 головних помилок в управлінні грошима та практичні рішення, як їх усунути.

Тож гортайте картки і зберігайте собі в нотатки!

TikTok | Instagram | Telegram
  • 🔥 3
  • 👍 1
  • 🤔 1
Post #5173 146
4. Чому useEffect не потрібен для derived data?

📌 Питання:

Чи правильно написаний цей компонент?


function ProductList({ products }) {
const [visibleProducts, setVisibleProducts] = useState([]);

useEffect(() => {
setVisibleProducts(
products.filter(product => product.inStock)
);
}, [products]);

return (
<ul>
{visibleProducts.map(product => (
<li key={product.id}>
{product.name}
</li>
))}
</ul>
);
}


📌 Очікувана відповідь:

У цьому випадку useEffect не потрібен.

visibleProducts — це derived data, яку можна отримати безпосередньо з products під час render:


function ProductList({ products }) {
const visibleProducts = products.filter(
product => product.inStock
);

return (
<ul>
{visibleProducts.map(product => (
<li key={product.id}>
{product.name}
</li>
))}
</ul>
);
}


У першому варіанті ми створюємо зайвий цикл:

render
↓
useEffect
↓
setState
↓
ще один render

Крім того, ми зберігаємо у state значення, яке можна просто отримати з уже наявних props.

📌 Коли useEffect справді потрібен?

Коли потрібно синхронізувати React із зовнішньою системою: наприклад, subscription, timer, DOM API, WebSocket або сторонньою бібліотекою.

Якщо ж derived calculation справді дорогий, тоді можна розглядати memoization — але це не причина переносити derived data у state.

5. Чому компонент може render’итися, навіть якщо його props не змінилися?

📌 Питання:

Чому Child може повторно render’итися при кожному натисканні?


function Parent() {
const [count, setCount] = useState(0);

return (
<>
<button onClick={() => setCount(c => c + 1)}>
{count}
</button>

<Child name="John" />
</>
);
}

function Child({ name }) {
console.log('Child render');

return <div>{name}</div>;
}


📌 Очікувана відповідь:

У React без автоматичної memoization, коли Parent render’иться повторно, React за замовчуванням також виконує його дочірні компоненти.

Те, що props Child не змінилися, саме по собі не означає, що React пропустить його render.

Якщо є реальна потреба уникнути такого render, можна використати React.memo:


const Child = React.memo(function Child({ name }) {
console.log('Child render');

return <div>{name}</div>;
});


Але тут важливо розуміти reference equality.

Наприклад:


<Child options={{ theme: 'dark' }} />


На кожному render Parent створюється новий object.

Тобто навіть якщо його вміст однаковий:


{ theme: 'dark' } !== { theme: 'dark' }


Це різні object references.

Тому така prop може завадити React.memo пропустити render.

📌 А що з React Compiler?

Якщо проєкт використовує React Compiler, він може автоматично застосовувати memoization і пропускати частину зайвих render’ів без ручного React.memo.

Тому React.memo — не універсальна кнопка «зробити швидше».

Спочатку потрібно зрозуміти, чи є повторний render реальною performance-проблемою і чи не виконує потрібну оптимізацію Compiler.

🍀 Що об'єднує ці питання?

На співбесіді важливо не просто знати API React, а розуміти, чому код поводиться саме так.

Тому вчіть не тільки useEffect, useCallback, useMemo чи React.memo, а й:
JavaScript closures, React render model, state, component identity, Effects та memoization.

Вчіть не відповіді. Вчіть логіку. Удачі!

TikTok | Instagram | Telegram
  • 🔥 2
Older posts →

About this channel

How can I read @codica without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Codica - корисне про IT: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Codica - корисне про IT have?
Codica - корисне про IT (@codica) has 2.08K subscribers on Telegram, refreshed roughly every 30 minutes.
Does Codica - корисне про IT know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →