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

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

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

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

⌨️ JavaScript зберегла статус найпопулярнішої мови програмування на GitHub цього року. PHP поступилась позицією C++.

❤️ Нова пошта допоможе українцям під час блекауту. За відсутності світла можна прийти у відділення Нової пошти та зарядити свої мобільні пристрої.

💻 Підсистема Windows для Linux тепер доступна для всіх. Корпорація Microsoft оголосила про загальну доступність підсистеми Windows для Linux (WSL), яка тепер доступна в повному обсязі в магазині Microsoft Store.

📲 Facebook повідомляє про видалення певної інформації з акаунтів: у чому причина. Останніми днями користувачі Facebook в Україні почали отримувати повідомлення від соцмережі про видалення інформації про політичні погляди та віросповідання.

⚡️Енергокриза поглиблюється: як чинять IT-компанії, коли немає світла та води. DOU поцікавився в українських IT-компаній, які опції вони зараз пропонують своїм фахівцям, чия робота ускладнилась через дії ворога.

Сьогодні без зображення, бо @Mister_Cody знову сидить без світла 👀
👍42
Доброго ранку та гарного тижня 🌞

#codica_ruby
4👍2
Бібліотека QA: добірка книг із тестування програмного забезпечення 🐞

Зібрали для вас книги з базовою інформацією, класика літератури з тестування та «поглиблені», які допоможуть зробити ривок у кар'єрі (і попрактикувати англійську) 🤓

#codica_advice
5👍5
База 💪

📘 The Self-Taught Software Tester A Step By Step Guide to Learn Software Testing Using Real-Life Project (Mr Chhavi Raj Dosaj)

👉 Книга містить детальну інформацію про те, як планується, виконується та контролюється тестування у реальних проєктах. Перша половина книги містить докладне пояснення основ тестування програмного забезпечення, а друга присвячена покроковому проходженню реального проєкту. Це допоможе зрозуміти принцип QA від початку до кінця, а також місце тестування в проєкті.

Класика 😌

📕 The art of Software Testing (Glenford J. Myers)

👉 У цьому виданні автор розкриває природу та цілі тестування програмного забезпечення, методології для розробки ефективних тестових випадків. Паралельно він дає інформацію про психологічні та економічні принципи, управлінські аспекти, інструменти тестування, тестування високого порядку, перевірку коду та налагодження.

Загалом книга містить всю ключову інформацію, необхідну для успішного тестування, і буде корисна як новачкам, так і досвідченим тестувальникам 🙂

📕 Chaos Engineering: System Resiliency in Practice 1st Edition (Casey Rosenthal)

👉 Chaos Engineering - дисципліна експериментування з системою, спрямована на те, щоб зміцнити здатність системи протистояти турбулентним умовам. Це практичне керівництво показує інженерам, як орієнтуватися у складних системах, оптимізуючи їх для досягнення бізнес-цілей, а також запобігаючи збоям до того, як вони вплинуть на ваших клієнтів.

📕 Explore It!: Reduce Risk and Increase Confidence with Exploratory Testing 1st Edition (Elisabeth Hendrickson)

👉 Коли ви створюєте програмне забезпечення, воно може поводитися не так, як ви припускали. Дослідницьке тестування знижує ці ризики.

Тестування та менеджмент 💼

📗 Perfect Software And Other Illusions about Testing (Gerald M. Weinberg)

👉 Вайнберг розділяє очікуване, важливе та можливе у тестуванні програмного забезпечення. Він руйнує популярні міфи навколо роботи тестувальника і відповідає на такі питання: чи можливе ідеальне програмне забезпечення? Чому б просто не протестувати все? Чому ми не можемо прийняти кілька помилок?

📗 Agile Testing: A Practical Guide for Testers and Agile Teams 1st Edition (Lisa Crispin, Janet Gregory)

👉 У книзі розповідається про ітерацію agile-розробки програмного забезпечення з погляду тестувальника та пояснюються ключові фактори успіху agile-тестування.

Автоматизоване тестування 🦾

📙 Effective Software Testing: A developer’s guide (Mauricio Aniche)

👉 Написана для розробників, ця книга буде корисна і для QA Automate, зокрема, перші кілька розділів. Тут автор розповідає про різні типи тестування – від окремих модулів до цілих компонентів.

📙 Design Patterns for High-Quality Automated Tests: High-Quality Test Attributes and Best Practices (Anton Angelov)

👉 Книга просунутого рівня для практикуючих автоматизаторів-тестувальників. Тут більше за 20 000 рядків реальних прикладів коду для автотестів на C#. Однак автор переконує, що підходи та практики, описані в книзі, стануть у нагоді в будь-якій мові (у тому числі Java).

#codica_advice
👍8🔥4
Вітаю вас, друзі! 🤓

Будемо раді бачити розробників, які вже встигли спробувати свої сили в React на комерційних проєктах.

👉 Ми маємо потужну команду розробників, які завжди підтримають і допоможуть швидко долучитися до роботи. Ніякого бенчу та «навчальних» проєктів. Постійний зворотний зв’язок та допомога!

📌 Коротко про нас: ми займаємося створенням складних веб та мобільних додатків з нуля, працюємо напряму з нашими клієнтами, допомагаючи їм у плануванні, реалізації та запуску їх продуктів. Ми не аутстафимо, не беремося за усі проєкти та не працюємо з токсичними клієнтами.

👀 Приклади наших проєктів (більше можна переглянути на нашому сайті):

▪️Online Service Marketplace for PlanMyKids
▪️Custom SaaS platform for a bakery business

Друзі, треба буде виконати тестове завдання, щоб ми до кінця зрозуміли один одного 🙂

🔗 Посилання на вакансію Junior React Developer тут.
🔗 Посилання на вакансію React Developer тут.

📩 З усіх питань пишіть на пошту - job@codica.com
👍9🔥3
З чого складається архітектура веб-застосунків 🤔

Архітектура веб-застосунків описує взаємодію між застосунками, базами даних і системами проміжного програмного забезпечення в Інтернеті. Це забезпечує одночасну роботу кількох програм👇

#codica_tech
👍83
Як це працює

У будь-якій типовій веб-програмі є два різні коди, які працюють пліч-о-пліч:
▪️Код на стороні клієнта - код, який знаходиться в браузері та відповідає на певний вхід користувача.
▪️Код на стороні сервера - код, який знаходиться на сервері та відповідає на запити HTTP.

📌 Веб-розробник, що розробляє веб-застосунок, вирішує, що код на сервері робитиме з кодом у браузері. Для написання серверного коду використовуються C#, Java, JavaScript, Python, PHP, Ruby тощо.

📎 Будь-який код, здатний відповідати на запити HTTP, може працювати на сервері. Код на стороні сервера відповідає за створення сторінки, яку запитує користувач, а також за зберігання різних типів даних, включно профілі користувачів і введені користувачем дані.

⌨️ Для написання клієнтського коду використовується комбінація CSS, HTML і JavaScript. Цей код аналізується веб-браузером. На відміну від коду на стороні сервера, код на стороні клієнта користувач може переглядати та змінювати. Він реагує на введення користувача.

➡️ Код на стороні клієнта спілкується лише через HTTP-запити і не може читати файли безпосередньо з сервера.

Коли ми говоримо про компоненти веб-програми, ми можемо мати на увазі будь-який із наступних двох👇

🔘 Компоненти веб-програми UI/UX – включно журнали активності, інформаційні панелі, сповіщення, налаштування, статистику тощо. Ці компоненти не мають нічого спільного з роботою архітектури веб-програми. Натомість вони є частиною плану компонування інтерфейсу веб-програми.

🔘 Структурні компоненти. Двома основними структурними компонентами веб-програми є клієнтська та серверна сторони.

⚫️ Клієнтський компонент розроблений на CSS, HTML і JS. Оскільки він існує у веб-браузері користувача, немає потреби в налаштуваннях операційної системи чи пристрою. Клієнтський компонент — це представлення функціональності веб-застосунка, з яким взаємодіє кінцевий користувач.

⚫️ Серверний компонент можна створити за допомогою однієї або комбінації кількох мов програмування та фреймворків, включно з Java, .Net, NodeJS, PHP, Python і Ruby on Rails. Серверний компонент складається щонайменше з двох частин: логіка програми та база даних. Перший є основним центром керування веб-застосунком, натомість другий є місцем, де зберігаються всі постійні дані.

Архітектура веб-застосунків, як і Інтернет, постійно розвивається. Базова модель архітектури веб-додатків з’явилася під час панування Web 1.0. Однак саме під час появи Web 2.0 і Web 3.0 вона набула свого нинішнього вигляду 😌

Надійність, швидкість реагування, безпека тощо веб-програми значною мірою визначаються моделлю та типом архітектури веб-програми, яку ви обираєте. Отже, перш ніж почати розробку, знайдіть час, щоб вивчити всі вимоги, цілі та можливості ☝️

Чи є у вас досвід розробки веб-застосунків, яким ви хотіли б поділитися? 🙃

#codica_tech
👍16🔥2
Тихого та спокійного ранку всім 😌

#codica_js
👍112
Що буде виведено у консоль
Anonymous Quiz
6%
0 та 1
6%
1 та 0
24%
1 та 1
55%
Тільки 0
8%
Тільки 1
2%
Не знаю
👍12🤯9🔥1
Що таке Headless CMS

Ідея Headless CMS спонукала компанії переглянути свої поточні можливості технологічного стеку, але що це за інструмент і чим він відрізняється від систем, які існували до нього? 🤔

Логіка традиційних CMS поєднує бекенд- та фронтенд-частини однієї системи. Контент у цьому випадку виявляється пов'язаним з конкретними технологіями, архітектурою і шаблонами клієнт-серверної програми 👇

#codica_tech
👍32
Headless CMS - принципово інша система управління. Як правило, вона відповідає тільки за універсальний вміст, який можна використовувати на будь-яких платформах. Бекенд («тіло») за такого підходу не пов'язаний з фронтендом («головою») 😌

❗️Логіка Headless CMS така, що до «тіла» за потреби можна приставляти різні «голови». Це дозволяє використовувати один бекенд для керування сайтом (або сайтами) та мобільним застосунком, а також автоматизувати розповсюдження контенту по всіх доступних майданчиках та пристроях.

💁‍♂️ В результаті мінімізуються ресурси, що витрачаються на веб-розробку. А керування різними платформами здійснюється централізовано з одного інтерфейсу, що зручно. При цьому вміст гнучко налаштовується для кожного окремого каналу.

Чи є недоліки у Headless CMS? 🙃

💻 Перехід до логіки Headless CMS передбачає знайомство з її принципами та технологіями, проте розробнику достатньо мати базовий рівень знань мережевих технологій.

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

💻 Headless CMS забезпечує лише бекенд, тому фронтенд-архітектуру необхідно реалізовувати за допомогою додаткових ресурсів. Але існують продукти на кшталт Gatsby, Nuxt, VuePress, Hugo та Gridsome, які забезпечують спрощену інтеграцію з CMS.

Підхід, реалізований у Headless CMS, враховує реалії сьогодення, коли час диктує якнайшвидше впровадження нових технологій та розширення цифрових каналів взаємодії з аудиторією. Принцип поділу власне контентної частини та клієнтського інтерфейсу дозволяє прискорювати розробку та масштабуватись з економією ресурсів. А керування різними платформами стає більш зручним та ефективним 🙂

З подальшим розвитком цифрових продуктів Headless CMS, ймовірно, будуть все більш затребувані, ніж традиційні WordPress або Joomla. Є всі підстави вважати, що майбутнє саме за «безголовими» системами 🧐

#codica_tech
👍6🔥4
Три поради, як стати ефективним у роботі та не відкладати справи на потім 🧑‍💻

#НапуттяВід_HR Директорки Клименко Наталії

Один із ворогів гарної роботи — прокрастинація, тобто постійне відкладання важливих справ. Підготувала вам пару простих технік, як із нею впоратися👇

1️⃣ Знайти причину
2️⃣ Припинити боротися
3️⃣ Використовувати ігрові методи
👍83
Знайти причину 👀

Прокрастинація - це поведінка уникання. Насамперед важливо визначити, що саме викликає бажання відкладати роботу. Це можуть бути різні причини.

Втома 🥱
Важко впоратися з важливими справами, коли ви втомлені. Якщо не вистачає сил, не треба мучити себе та намагатися бути ефективним.

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

Страх 🫣
Прокрастинація може виникати, коли всередині є страх, що дії в роботі призведуть до змін — добрих чи не дуже.
👉 Наприклад: я відкладаю написання статті, бо боюся, що керівник її не прийме. А якщо опублікувати статтю все ж таки вийде, переживаю, що хтось із читачів може залишитися незадоволеним і напише негативні коментарі.

Порада: щоб усунути страх, потрібно усвідомити і визнати його існування. Потім продумати, що зміниться, коли зробите те, що відкладаєте. І, зрештою, придумати найстрашніші наслідки — і виходи з них.

💁🏻‍♀️ Припустимо: якщо мою статтю не приймуть до публікації в журналі, я опублікую її у своєму блозі. Або якщо хтось напише негативний коментар, я попрошу людину обґрунтувати свою думку — можливо, це навіть буде корисно.

Сором 🫠
Сором і страх здатися дурним теж запускають прокрастинацію. Наприклад: я постійно відкладаю на потім розмову з керівником, тому що можу відчути сором і вважати себе недостатньо розумною.

Порада: щоб прибрати ці почуття та думки, згадайте, що ви доросла людина і здатні керувати своєю поведінкою. Припиніть лаяти та знецінювати себе. Натомість перед розмовою з начальником відзначте свої досягнення в роботі, похваліть себе і знайдіть, за що ви вдячні.

Почуття провини 😓
Часто у прокрастинації з'являється наслідок – почуття провини. Спочатку людина не робить те, що потрібно, а потім лає та звинувачує себе за невиконані завдання. Потім, коли вона таки приступає до роботи через силу, у неї виникає відчуття спустошення. Це може статися через відсутність мотивації. Коли незрозуміла мета, не буде й задоволення від результату – простіше відкласти справи у довгий ящик.

Порада: слід зрозуміти, навіщо потрібно виконувати ті чи інші завдання. Наприклад: я працюю, щоб отримати зарплату та допомогти батькам; щоб додати класний проєкт у портфоліо та шукати кращу роботу; щоб стати відомим фахівцем; щоб допомогти колегам та відчути себе потрібним.

☝️ Для початку важливо виявити та прибрати причини прокрастинації. Інакше будь-які, навіть найцікавіші практики для її усунення матимуть тимчасовий ефект. А надалі теж почнуть викликати прокрастинацію.

Припинити боротися 😌

Намагатися насильно позбутися прокрастинації означає підтримувати внутрішній конфлікт. А боротьбу із собою завжди буде програно.

Порада: замість боротьби варто навчитися домовлятися із собою, ставитися до себе як до найкращого друга та підтримувати себе у будь-якій ситуації. Добре, якщо поряд є людина, яка вас вислухає. Але якщо немає можливості поговорити із близькими, можна підтримати себе самостійно.

☕️ Приготуйте теплий напій, укутайтесь у плед, обійміть подушку, м'яку іграшку або домашню тваринку (якщо вона не проти) і проговоріть вголос все, що турбує вас у зв'язку з новою справою на роботі. Уявіть, що ви дитина і нарікаєте дорослого. А потім, вже як дорослий, підбадьорте і підтримайте себе. Так ви зможете відчути себе вільніше і діяти далі без прокрастинації.

#НапуттяВід_HR
👍96
Використовувати ігрові методи 🕹

Почати роботу буде простіше не через внутрішній опір і боротьбу, а через гру. Підготувала вам ігрові методи, але використовувати їх потрібно вже після того, як ви з'ясували причини прокрастинації та домовились із самим собою ☝️

Метод «З'їсти слона по шматочках» 🔖
До масштабних завдань дуже важко підступитися. Їх треба вирішувати частинами. Наприклад, поставити мету - безперервно працювати 15 або 30 хвилин, незалежно від кінцевого результату. Завдання, поділене на блоки, викликає набагато менше стресу, ніж неосяжна справа. Поступово можна збільшувати кількість хвилин, які ви приділяєте роботі без перерви, але це не обов'язково.

Метод «Як-небудь» 🔖
Підмога для перфекціоністів, які не можуть розпочати справу, бо вимагають від себе ідеального виконання. На першому етапі треба дозволити собі зробити «хоч би щось, хоч якось». Так підвищена напруга зникне і вдасться зробити чернетку або базу для роботи, а потім залишиться тільки навести лоск.

Метод "Почати відразу" 🔖
Іноді важливо просто розпочати. Почата справа нагадуватиме про себе набагато більше, ніж просто запланована. У психології це називається ефектом Зейгарнік.

Метод Одіссея 🔖
У міфі Одіссей прив'язав себе до щогли, щоби не кинутися в море за сиренами. Прив'язувати себе до стільця, щоб не втікати від робочих справ, не варто, але можна видалити з ноутбука всі ігри та соцмережі, які можуть відволікати під час роботи.
📎 Ще один варіант – налаштувати програму контролю. Деякі з них забороняють відкривати сторонні вікна в комп'ютері, доки не закінчиться відведений для роботи час.

Нам важливо навчитися розуміти свою прокрастинацію та сприймати її не як зло, а як простір для маневрів 😌

Бажаю вам здобути свободу вибору та бажання працювати ❤️

#НапуттяВід_HR
15👍6
Добірка книг для вивчення Ruby та Ruby on Rails 📚

Ви просили - ми зробили 😉

Огляд найкращих і останніх книг про Rails для розробників. Знання в них позачасові та навчать вас правил і схем, застосовних у Rails 🔻

#codica_advice
5👍2
📕 Ruby on Rails Tutorial (Addison-Wesley Professional Ruby Series)

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

📕 Beginning Rails 6: From Novice to Professional

🔖 Мета цієї книги — дати вам глибоке та повне розуміння того, як створювати динамічні веб-додатки за допомогою Rails. Це означає більше ніж просто навчити вас, як використовувати особливі функції та можливості фреймворку, і більше ніж просто надати вам робочі знання мови Ruby. Rails — це трохи більше ніж просто ще один інструмент: він являє собою певний спосіб мислення.

📕 Agile Web Development with Rails 6

🔖 Книга починається з покрокового опису створення реальної програми, а в більш детальних розділах розглядаються вбудовані функції Rails.
Зміст цієї книги було розроблено під час консультацій з основною командою Rails.

📕 Rails: Novice to Ninja: Build Your Own Ruby on Rails Website

🔖 Rails: від новачка до ніндзя — це простий, практичний і цікавий посібник із Ruby on Rails для початківців. У книзі описано все, що вам потрібно для створення та запуску повнофункціональної веб-програми.
☝️ Зверніть увагу, що в цій книзі йдеться про Rails 5. Якщо ви використовуєте новішу версію, ознайомтеся з основними випусками.

📕 Learn Rails 6: Accelerated Web Development with Ruby on Rails

🔖 Ця книга навчає сучасних інженерних практик, включно з git-flow, контейнеризацією, налагодженням, тестуванням та розгортанням. Ви дізнаєтеся, як створити соціальну мережу, а потім розгорнути її у хмарному провайдері.

📕 Modern Front-End Development for Rails: Hotwire, Stimulus, Turbo, and React

🔖 Rails версії 6.1 має інструменти, які допомагають вам взаємодіяти з екосистемою JavaScript. У цій книзі ви дізнаєтесь, як можна покращити роботу стандартної програми Rails за допомогою зовнішніх інструментів екосистеми Rails (Hotwire, Stimulus, Turbo та Webpacker) та інструментів екосистеми JavaScript (webpack, TypeScript, і React), щоб створити чудову програму на основі Rails.

#codica_advice
👍10🔥3
Всім спокійного і легкого ранку, тримайте невеличку добірку новин цього тижня 😌

🧑‍💻 Як я забезпечив вдома безперебійне інтернет-з’єднання — поради та план дій.

📲 Або штраф, або в бан: ЄС попередив Маска про наслідки недотримання правил із боку Twitter.

👶 Нова нейромережа Disney може з легкістю змінювати вік актора.

🔻 Як відправляти електронні листи за допомогою Ruby — розглядаємо на прикладах.

📈 Кількість вакансій для українських ІТ-спеціалістів зросла на 15%.
👍92
Доброго ранку та гарного тижня 🙂

#codica_ruby
👍51