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
Codica - корисне про IT
Як навчитися програмувати 🧑‍💻 Частина 9 📌 Використання Git Git - це найпопулярніша система контролю версій (СКВ), яка використовується сьогодні. Вона дозволяє декільком розробникам спільно працювати над програмним забезпеченням. #codica_tech
Як навчитися програмувати 🗂
Частина 10

📌 Зберігайте дані за допомогою баз даних і SQL

База даних
— це програма, спеціально розроблена для ефективного зберігання, оновлення, отримання та видалення великих обсягів даних. Двома словами, ми можемо розглядати базу даних як контейнер для набору таблиць.

#codica_tech
👍13🔥1
💁‍♂️ Ви напевно працювали з таблицями в Microsoft Excel. Таблиця - це просто набір стовпців і рядків, що містять дані. Ми можемо створити таблиці в базі даних для зберігання інформації, необхідної нашим програмам для належної роботи.

👉 Незалежно від того, чи пишемо ми програми мовами JavaScript, Python, Java чи іншими, ми можемо наказати нашим програмам взаємодіяти з базами даних за потреби.

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

📌 Наші програми можуть взаємодіяти з базами даних у режимі реального часу, коли події відбуваються в нашій програмі. Для цього більшість баз даних розмовляють мовою SQL, скорочено від Structured Query Language.

🔖 SQL — мова програмування, спеціально створена для баз даних. Вона дозволяє нам говорити базам даних, що робити.

📎 Фрагмент коду SQL називається запитом. Ми можемо писати запити SQL, щоб отримати дані, які нам потрібні в певний час, або вставити нові дані в певну таблицю. Простіше кажучи, існує два основні типи SQL-запитів: читання SQL і запис SQL.

📑 Запит на читання SQL — це запит, який просто отримує дані з бази даних для перегляду або використання. Це взагалі не змінює дані в базі даних.

✏️ З іншого боку, запит SQL на запис або вставляє нові дані в таблицю, оновлює наявні дані або видаляє існуючі дані.

#codica_tech
👍164
Чеклісти як фінальна тестова документація 📑

📌 Стаття від нашого QA Lead - Олексія.

📚 Теорія тестування, особливо в своїх більш “класичних” джерелах, оперує поняттям чекліста як суто проміжкового документа. Це скоріше чернетка для незліченних думок QA інженера, які варто дістати з голови на папір. Покриття функціоналу в чеклістах пропонується суто поверхове, що лише окреслювало би подальшу формалізацію у тест-кейсах.

#codica_tech
👍52🔥1
С. Куліков у своєму загальновідомому “Тестировании программного обеспечения” пропонує нам наступне визначення:
✏️Чеклист (checklist) — набор идей [тест-кейсов]. Последнее слово не зря взято в скобки, т.к. в общем случае чеклист — это просто набор идей: идей по тестированию, идей по разработке, идей по планированию и управлению — любых идей.

💁‍♂️ Багато онлайн-ресурсів на тему quality assurance так само ігнорують чеклісти, відокремлюючи лише тест-кейси. І це не дивно, бо найчастіше ці ресурси орієнтуються на процеси тестування класичного ПЗ. До того ж сам чекліст — це загальний формат, притаманний і списку покупок на Різдво, і перевіркам медичного обладнання. Тим не менш, його призначення і роль усвідомлюються наново разом з переосмисленням самих процесів розробки.

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

👉 Тест-кейс вичерпний, впорядкований і несе в собі увесь необхідний запас контексту, аби мати сенс навіть в повній ізоляції. Тест-кейс — це передумови, кроки, очікуваний результат, зображення, відео чи файли в аттачментах тощо. Функціональна одиниця може мати декілька тест-кейсів. Зміна логіки цієї функціональної одиниці означатиме кропітку роботу з переписування тест-кейсів, інколи еквівалентну за обсягами до першого написання.

❗️Саме тому живі, динамічні проекти, наприклад розробка PWA чи SaaS, а також певна стислість термінів спонукають використовувати формат, який більш гнучко реагував би на фундаментальні зміни в логіці. Синтез чеклістів з тест-кейсами або повна заміна других першими демонструють себе як ефективні рішення в подібних умовах.

📎 Використання чеклістів як фінальної тестової документації може відрізнятися за семантикою. Чеклісти можуть представляти собою прямий перелік усіх елементів, їхніх параметрів та властивостей, що мають бути перевірені:
- Login button
- size 210x84;
- centered within header block;
- text size 14px;
- text color #FFFFFF.

📃 Ще одною варіацією можуть бути чеклісти, подібні до acceptance criteria. Це логічно завершені речення, що групуються за логікою в окремі блоки і формують в голові увесь логічний контекст, дозволяючи самостійно проробляти необхідні перевірки, які б підтверджували відповідність сформованому контексту.

▪️ Verify that the ‘Login’ button is shown at the top right corner of the header;
▪️ Verify that the ‘Login’ button background color becomes #123456 upon hovering;
▪️ Verify redirection to the login page after clicking the ‘Login’ button.

😌 Оскільки пункти таких чеклістів атомарні, вони зазвичай не прив’язані одне до одного, уникають повторень і суттєво зменшують кількість попередньо відомої інформації.

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

🖇 Іншим варіантом буде синтез чеклістів із тест-кейсами: усе достатньо атомарне стає пунктами чекліста, а невелика кількість складнішої логіки так само покривається тест-кейсами.

#codica_tech
👍8🔥6
Що буде виведено у консоль?
Anonymous Quiz
4%
2
32%
false
24%
true
29%
NaN
11%
Не знаю
👍10🔥1
Друзі, cподіваюсь, ви в безпеці.
Тут @Mister_Cody знайшов для вас дуже крутий JavaScript Roadmap 🧑‍💻

Цей план вивчення JavaScript включає:

✔️ Теми для початківців 👉 починайте з них.
✔️ Теми середнього рівня 👉 виберіть їх після тем для початківців.
✔️ Просунуті теми 👉 виберіть їх після проміжних тем.

Ця карта навчання JavaScript повністю клікабельна, містить безліч документів з кожної теми.
Ви також зможете попрактикуватися в читанні документації англійською мовою 😉

Дуже рекомендуємо!👇

JavaScript Roadmap
🔗 Step by step guide to learn JavaScript in 2022

Також на цьому сайті ви можете знайти:
🔗 React Roadmap
🔗 Python Roadmap
🔗 Node.js Roadmap
🔗 QA Roadmap
та багато іншого 😉

#codica_advice
👍14🔥8
Топ-10 дзвіночків підвищеної тривожності 🛎

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

Друзі, живемо з вами в непростий напружений час, і сьогодні хочу поділитися з вами чеклістом симптомів підвищеної тривожності 💁🏻‍♀️

☝️ Тривога – це природна реакція психіки на загрозу чи подразник. Еволюція забезпечила нас цією функцією, щоб під час стресу ми активізувалися та діяли. В умовах, коли єдиною небезпекою був хижак чи агресивний одноплемінник, ця реакція була ідеальною: якщо є загроза, то виникає і тривога, а отже, треба або бігти або завмерти. Не всі тривожні думки раціональні, і найчастіше там, де наша психіка відчуває загрозу, реальної загрози набагато менше або її взагалі немає.
👍6🔥1
🙄 Наша тривога, яка за задумом природи мала «вмикатися і вимикатися», тепер горить червоною лампочкою 24/7. У цю ж «скарбничку» йдуть щоденні стреси, розбіжності з близькими, внутрішні конфлікти, генетика… І на виході ми отримуємо підвищену тривожність із усіма наслідками.

🤔 А як поводиться тривожна людина?
Вона свариться з близькими у спробах все контролювати, погано спить, не може продуктивно працювати, прокручує негативні думки та почувається їхнім заручником. Її життя наче перестає їй належати.

Але як визначити цю тривогу, за якими критеріями зрозуміти, що ось це воно і є

Зібрала для вас чекліст, який допоможе звернути увагу на проблему підвищеної тривожності, якщо вона у вас є. Перевірте себе👇

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

З мухи слона. Перед вами поїхав ваш автобус, і ви розплакалися від образи? Дитина кричить у транспорті, і ви вибухаєте від гніву? Не компілюється код і це просто бісить? Занадто бурхлива реакція на об'єктивно незначні подразники – привід задуматися про підвищену тривожність.

Проблеми зі сном. Як часте безсоння, так і готовність заснути в будь-якій ситуації – не норма.

Постійна втома. Якщо ви щовечора почуваєтеся як після 12-годинних піших переходів, можливо, ви маєте справу з підвищеною тривожністю.

М'язова напруга. Тривожні люди несвідомо підтискають/кусають губи, тримають плечі піднятими, часто стискають долоні, нервово хитають ногою, коли сидять. Їм важко дихати на повні груди.

Розфокусування. Складно сконцентруватися на одному завданні: неспокійний розум стрибає зі справи на справу.

Дратівливість. Якщо всі довкола роблять все не так – є ймовірність, що проблема не в них.

Страхи (тут неважливо, справжні чи уявні). А чи зачинив я двері? А як ми перезимуємо? А чи вистачить мені грошей на…? А чи не захворіють...? Тривожний мозок на будь-яку ситуацію знайде яскравий страх і старанно його підживлюватиме і домальовуватиме тривожні картини.

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

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

Ділюсь із вами дієвою практикою, яка допоможе впоратися з тривогою у моменті 😌

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

💭 Наприклад, припустіть, що зустріч із начальством призведе до підвищення, а можлива напружена розмова з партнером завершиться компромісом. Буде не зайвим поставитися до цього трохи з гумором, який змінить вектор вашої напруги.

🫂 І пам'ятайте про консультацію у фахівців, якісний сон, здорове харчування, не забувайте пити достатньо води, перемикатися між діяльністю та заведіть хобі, як би складно це не було зробити в такий час.

Напишіть у коментарях, як ви боретеся з тривожністю чи пускаєте все на самоплив? 🙃

#НапуттяВід_HR
12👍2
11 книг з Python для «чайників» та «богів» програмування (або майже богів) 😇

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

📚 Ми зібрали велику добірку книг з Python, які допомагають вивчити базу, відточити навички, покращити код і дізнатися більше про можливості мови.

#codica_advice
👍71
Для новачків 🧑‍🎓

📗 Python Programming for Beginners: The Ultimate Crash Course to Learn Python in 7 Days with Step-by-Step Guidance and Hands-On Exercises (Andrew Park)

Звичайно, обіцянка вивчити мову програмування за тиждень — маркетинговий хід, але зміст книги точно буде корисним. Тут описано:
▪️короткий вступ до Python, його історія та основні додатки;
▪️інструкція, як встановити Python і який дистрибутив найкраще використовувати;
▪️всі об'єкти та методи в Python;
▪️елементи розширеного програмування на кшталт Github, pip, Virtual Environment та Unit Testing;
▪️є приклади коду та вправи в кінці кожного розділу.

📗 Python Programming for the Absolute Beginner, 3rd Edition (Michael Dawson)

✔️ Надійний вступ в програмування «для чайників». Книга навчає принципів програмування за допомогою створення ігор. У розділах ви знайдете приклади коду, що ілюструють представлені концепції. Наприкінці кожного розділу — гра, що демонструє ключові ідеї розділу, і набір завдань для закріплення знань.

📗 The Big Book of Small Python Projects: 81 Easy Practice Programs (Al Sweigart)

👉 Теоретична база та синтаксис Python вже освоєно? Тоді настав час переходити до цієї книги і вчитися писати програми. Тут зібрано колекцію з 81 проєкту Python, за якими можна створювати ігри на кшталт Блекджеку, анімації, програми для підрахунку, шифрування та інше. Також автор вчить креативити — додавати до коду свої власні штрихи.

📗 Classic Computer Science Problems in Python (David Kopec, Lisa Farina)

😏 І-і-і знову підвищуємо складність. Тут завдання допоможуть вам відточувати навички вирішення проблем за допомогою перевірених сценаріїв, вправ та алгоритмів із використанням Python. У книзі десятки завдань, починаючи від простих, як-от алгоритми бінарного пошуку, і закінчуючи кластеризацією даних з використанням k-середніх. Також ви дізнаєтеся більше про нейромережі, генетичні алгоритми, змагальний пошук.

#codica_advice
👍10🔥1
Додатково 📌

Початківцям (і не тільки) корисні не тільки ті книги, в назвах яких бачите «Python» — роботодавець вимагатиме від вас знань інших інструментів і технологій. Тож мотайте на вус 👇

📙 Head First Git: A Learner’s Guide to Understanding Git from the Inside Out 1st Edition (Raju Gandhi)

🖇 GitHub потрібний не тільки для того, щоб бездумно «красти» чийсь код. Автори цього посібника допоможуть зрозуміти, як насправді працює Git, розкривають весь його потенціал. Тут є інформація про способи роботи з Git, гілки, злиття, утиліти, рекомендації щодо роботи з повідомленнями коммітів та пошуку, та багато іншого.

📙 Introduction to Algorithms, fourth edition 4th Edition (Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein)

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

📙 Graph Theory with Applications to Engineering and Computer Science (Dover Books on Mathematics) First Edition (Narsingh Deo)

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

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

📙 The Recursive Book of Recursion: Ace the Coding Interview with Python and JavaScript (Al Sweigart)

🙃 Рекурсія серед програмістів вважається просунутою темою, але в ній немає нічого чарівного. Книга використовує приклади Python та JavaScript для навчання основ рекурсії та роз'яснює фундаментальні принципи всіх рекурсивних алгоритмів. Автори розповідають, коли саме використовувати рекурсивні функції (і коли цього робити не потрібно), як реалізувати класичні рекурсивні алгоритми, а також які проблеми вони можуть допомогти вирішити.

📙 SQL: 3 books 1 – The Ultimate Beginner, Intermediate & Expert Guides To Master SQL Programming Quickly with Practical Exercises (Mark Reed)

👌 Повний посібник з SQL для програмістів різного рівня - початківців (перша книга), середнього та просунутого рівня (друга і третя відповідно). Крім теорії SQL і роз'яснень, чим хороша ця технологія для взаємодії з базами даних, є купа практичних рекомендацій і вправ.

📙 Docker for Developers: Develop and run your application with Docker containers using DevOps tools for continuous delivery (Richard Bullington-McGuire, Andrew K. Dennis, Michael Schwartz)

👀 Docker де-факто є стандартом для контейнеризації додатків. Книга допоможе зрозуміти, як забезпечити безперебійний плин робочого процесу розгортання за допомогою контейнерів Docker, вивчити концепції Docker та DevOps, такі як безперервна інтеграція та безперервне розгортання (CI/CD). Також вона ознайомить із різними інструментами та бібліотеками.

📙 Data Structures the Fun Way: An Amusing Adventure with Coffee-Filled Examples (Jeremy Kubica)

⚙️ Це поглиблене введення в обчислювальне мислення через призму структур даних - це важливо для будь-якого програміста-початківця. Тут є докладний розбір, як працювати з 15 ключовими структурами даних – від стеків, черг та кешів до фільтрів Блума, списків пропуску та графіків.

#codica_advice
👍7🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
4🔥4
Сьогодні без мему на англійській бо @Mister_Cody сидить без світла 😅

#codica_english
😁8👍1🔥1
Добірка найкращих фреймворків Ruby для веб-розробки у 2022 році 🔝

☝️ Ruby залишається найпоширенішою мовою програмування через понад 25 років після її появи. Це тому, що вона була розроблена для задоволення потреб і бажань програмістів. Навіть маючи фреймворки Ruby, ви повинні бути знайомі з фреймворками, які найкраще відповідають вашим потребам.

#codica_advice
👍43
👉 Завдяки своїм фреймворкам Ruby легко використовувати для веб-розробки та розробки програм. Ruby on Rails є найбільш поширеним фреймворком. Веб-фреймворки Ruby набувають популярності з 1995 року, особливо серед фірм, що займаються веб-розробкою. Ruby та її фреймворки популярні серед програмістів завдяки високій якості та простоті у використанні.

Ця добірка присвячена чотирьом найкращим веб-фреймворкам Рубі, які широко використовуються та дають найкращі результати🔻

1️⃣ Ruby on Rails — це багаторівневий MVC-фреймворк для створення веб-додатків, написаний мовою програмування Ruby. Був створений у 2004 році та є одним із найпопулярніших веб-фреймворків Ruby. Цей фреймворк отримав понад 49 000 оцінок на GitHub.

▫️Надійну архітектуру MVC (Model-View-Controller) фреймворка Ruby використовують понад 1 060 553 активних веб-сайтів. Він широко визнаний як надійний і стабільний.

Особливості Ruby on Rails:
📌 Архітектура MVC
📌 Active Record
📌 Convention over configuration
📌 Простий інструмент тестування
📌 Автоматичне розгортання

2️⃣ Hanami, раніше Lotus, є чудовим фреймворком Ruby, який надає пріоритет безпеці, ефективності та швидкості. Це один із найвидатніших фреймворків Ruby, створених у 2014 році. Основна мета цього фреймворку — відновити об’єктну орієнтацію. Він відповідає всім вимогам.

Особливості Hanami:
📌 Простий дизайн
📌 Менше споживання пам'яті
📌 Безпечний
📌 Простий та легкий процес написання коду

3️⃣ Веб-фреймворк із відкритим вихідним кодом Padrino — це приголомшливий та елегантний веб-фреймворк Ruby з відкритим кодом. Цей фреймворк, заснований на бібліотеці Sinatra, спрощує програмістам роботу над їхніми проєктами.

Особливості Padrino:
📌 Проста розробка
📌 Один із найшвидших фреймворків
📌 Надійний
📌 Функціонально багатий
📌 Можливості дизайну

4️⃣ Окрім Ruby on Rails, існує безкоштовна альтернатива з відкритим кодом для веб-розробки Ruby, відома як Sinatra. Цей фреймворк був випущений як веб-бібліотека Ruby у 2007 році. Він не підтримує шаблони MVC, на відміну від Ruby on Rails, натомість виступає за створення веб-додатків з нуля. Цей фреймворк використовується багатьма найбільшими інтернет-компаніями світу, включно з LinkedIn, Stripe і Apple.

Особливості Sinatra:
📌 Неупереджений
📌 Досвідчений
📌 Легкий і простий
📌 Кросплатформенний і з відкритим кодом

Оскільки всі вони є найкращими фреймворками Ruby, ваш вибір як веб-розробника, засновника стартапу чи підприємця залежить виключно від вас 😉

#codica_advice
👍61👏1
Тримайте свіженький дайджест новин зі світу IT від @Mister_Cody 🙂

🤝 Як початківцям в IT знайти собі ментора — відповідають чотири наставники з понад 10 роками досвіду в індустрії.

📡 Додаткові генератори й оптоволокно. Як інтернет-провайдери працюють, коли немає електроенергії, і що пропонують клієнтам.

📲 Android 13 «Tiramisu» тепер доступний не лише для Google Pixel.

👀 OPPO продемонструвала трасування променів на чипі SD 8 Gen 2.

🛻 У США представили електропозашляховик Dragon, що може їхати 676 кілометрів на одному заряді.
3👍1🔥1