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

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

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

👉 Відкриті вакансії - www.codica.com/careers
Download Telegram
📌 Volume це файлова система, яка розташована на хост-машині за межами контейнерів. Створенням та управлінням томами займається Docker. Ось основні властивості вольюмів Docker:

▪️ Вони являють собою засоби для постійного зберігання інформації.
▪️ Вони самостійні та відокремлені від контейнерів.
▪️ Ними можуть спільно скористатися різні контейнери.
▪️ Вони дозволяють організувати ефективне читання та запис даних.
▪️ Їх можна розміщувати на ресурсах віддаленого хмарного провайдера.
▪️ Їх можна шифрувати.
▪️ Їм можна надавати імена.
▪️ Контейнер може організувати завчасне заповнення тому даними.
▪️ Вони зручні для тестування.

😌 Як бачите, Docker Volume мають чудові властивості. Поговоримо про те, як їх створювати.

🖇 Вольюми можна створювати засобами Docker або за допомогою запитів до API.

docker volume create name-of-volume
docker volume rm name-of-volume

📍 Якщо ми вже створили вольюм, то його можна примонтувати ось так:

docker run -d -v name-of-volume:/app nginx

🔖 Ще є інструкція Dockerfile VOLUME створює точку монтування за вказаним шляхом усередині контейнера (при цьому вказувати шлях на хості з її допомогою неможливо).

VOLUME /my_volume

Цю директиву не часто використовують, і багато хто вважає її антипатерном.

#codica_tech
👍9🔥5
Доброго ранку та спокійного дня всім 🙂

#codica_js
👍72🔥1
Що буде виведено у консоль
Anonymous Quiz
74%
{foo: 'bar', baz: 42}
5%
{'foo', 'bar'}
4%
{baz: 42}
7%
{foo, bar, baz}
11%
Не знаю
👍9🔥21
Регулярна робота з Chrome DevTools в тестуванні 👨‍💻

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

▪️Chrome DevTools — це набір допоміжних засобів, вбудований в браузер Chrome. Загалом майже кожен браузер містить у собі подібний набір засобів, чогось не має, а щось навпаки має унікальне. Але зазвичай використовують developer tools саме в Chrome, позаяк це найбільш популярний браузер, що стрімко розвивається разом зі своїми тулзами.

👉 DevTools можна відкрити на будь-якій веб-сторінці клавішею F12, ПКМ — Inspect на будь-якому елементі чи комбінацією клавіш Ctrl + Shift + C, яка відкриє DevTools та переведе курсор у стан вибору елементу для інспекції. DevTools є комплексним набором засобів, але детально ми розглянемо лише те, що входить в рамки регулярної роботи.

#codica_advice
👍74🔥2
✔️ Першою завжди відкриється табка Elements, що містить у собі HTML структуру поточної сторінки та засоби для аналізу CSS правил будь-якого елемента.

😌 З HTML все доволі зрозуміло — ми перевіряємо коректність структури і порядок елементів, підбираємо короткі і стабільні селектори для автотестів чи перевіряємо присутність коментарів чи скриптів із чутливою інформацією в рамках тестування безпеки. Ця табка також дозволяє редагування будь-якої частини HTML з метою протестувати результат певних змін локально. Варто зазначити, що Elements підтримує пошук по HTML коду сторінки (Ctrl + F).

🗂 CSS частина табки Elements має одразу декілька підтабок. Дефолтною є Styles, що показує усі правила, застосовані до поточного елементу. Тут же міститься схема кількох “коробочок” одна всередині іншої — схема margin-border-padding-element для зручнішого розуміння відстаней і розмітки веб-сторінки. Styles дозволяє зімітувати будь-який типовий стан (кнопка :hov на тулбарі) або додати новий клас елементу (кнопка .cls на тулбарі), щоби подивитися на зовнішній вигляд елемента в такій ситуації. Як і з HTML, тут також можна редагувати будь-яку частину CSS, змінюючи застосовані правила.

💁‍♂️ Само собою, правила в Styles можуть дублюватися, якщо елемент потрапляє одразу в кілька пересічних селекторів, що визначають одні й ті самі стилі. Щоб не морочитися зі специфічністю і не вишукувати самому, можна перейти в підтабку Computed, де виведено усі правила CSS, які зрештою були застосовані до поточного елементу після усіх розрахунків і віддання пріоритетів.

Вищезгадана комбінація клавіш Ctrl + Shift + C дозволяє обрати будь-який елемент на сторінці, а код його елементу в HTML і усі стилі CSS буде показано в табці Elements.

💻 Наступна табка — табка Console — в рамках тестування несе в собі інформативну функцію “щось не в порядку”. Повідомлення рівня warning і тим паче error, якщо вони не прикликані вашими власними браузерними розширеннями, варто обговорити з розробниками. Перевіряючи певні кейси, в яких система очікувано або фактично поводить себе некоректно, варто також поглядати, чи не з’являються нові помилки в консолі.

🔎 Табка Sources містить у собі всі доступні файли, пов’язані з поточною сторінкою — скрипти, зображення, ассети, таблиці стилів тощо. В ній зручно переглядати увесь контент, наприклад, будь-які присутні зображення окремо від решти елементів сторінки.

🗒 Табка Network містить у собі подробиці всього клієнт-серверного трафіку HTTP реквестів. При тестуванні веб-застосунків її зазвичай використовують найбільше: відстеження реквестів, їхнього вмісту, кількості і швидкості, а також респонсів від серверу, їхнього статусного коду та вмісту. Взаємодія фронт-енду та бек-енду через реквести формує собою основу застосунку. Крім того, якщо сторінка не відпрацьовує як слід, переглянути, чи є реквест, чи він іде із правильним контентом, чи надходить респонс, і чи немає в ньому помилки, має бути першою перевіркою на думці. Будь-який реквест з Network можна побачити в деталях, натиснувши на нього. Зазвичай ці деталі доповнять репорт і спростять процес фіксу для розробника.

📍 В табці Application найчастіше використовуються категорії Storage та Cache. Storage містить Local storage, Session storage та Cookies — вмістилища відповідних даних, які за певних тестових необхідностей періодично треба чистити. Закешовані сторінки необхідно чистити з кожним деплоєм, інакше деякі зміни можуть не відображатися або працювати некоректно. Аналогічним виходом із ситуації буде проводити кожну сесію тестування в окремій інкогніто-табці — вони створюються із пустим ізольованим контекстом сторінки, тож аналогічні повному очищенню storage’ів і кешу.

Chrome DevTools (або їхні аналоги в інших браузерах) вже давно інтегрувалися як частина щоденної рутини в тестуванні вебу. Деякі репорти без залучення відомостей з DevTools просто міститимуть неповну інформацію. Тож чим скоріше ви опануєте ці засоби і усвідомите спектр інформації, яка може бути зібрана там, тим якісніше зможете проводити свої щоденні тестові активності 😉

TikTok | Instagram

#codica_advice
🔥14👍64
Як відповідати на запитання колег про гроші

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

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

Давайте сьогодні з вами розберемо найпопулярніші питання, яких не хотілося би чути👇
6👍1🔥1
🚩 Скільки ти отримуєш?

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

💁🏻‍♀️ Якщо ви не хочете відповідати на це запитання, ось що можна зробити:

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

🚩 Можеш дати грошей у борг?

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

💁🏻‍♀️ Вибирайте відповідь, яка не образить:

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

🚩 Скидаємось на день народження. Ти з нами?

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

💁🏻‍♀️ Якщо ви не хочете здавати гроші на захід, що можна зробити:

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

🚩 Ну що, як ділимо рахунок?

👉 Ще одна ситуація, яка часто завдає незручностей - це як оплатити спільні походи на обід/кафе/посиденьки з колегами?

💁🏻‍♀️ Варіанти рішень:

Обговорити це питання ще до початку заходу.
Розділити рахунок на всіх порівну, якщо всі замовляють приблизно те саме.
Розділити порівну лише рахунок за їжу, а напої кожен може сплатити самостійно.
Кожен платить за себе. У такому разі буде правильним усім поділити витрати на чайові офіціанту.

😌 Зрештою, ви можете сплатити рахунок за всіх. Попередивши, що наступного разу платить хтось інший. Цей формат відмінно підходить для невеликих компаній, які регулярно ходять до закладів одним і тим же складом.

Також у голлівудських фільмах часто зустрічається варіант, коли компанія скидається платіжними картками, а офіціант рандомно вибирає якусь одну 😅

☝️ Бувають ситуації, коли заздалегідь обговорити умови оплати не вдалося, а ви не хочете ділити рахунок. Тоді заздалегідь, ще до замовлення, попросіть офіціанта порахувати ваше замовлення окремо. Набагато гірше, якщо ви почнете розглядати чек і рахувати «вашу» суму на калькуляторі.

‼️ До заборонених тем на роботі, безумовно, можна віднести і обговорення вашого заробітку, але це не означає, що ваші колеги перестануть цікавитися вашими доходами. Це нормально! Важливо розуміти інше. Якщо вам некомфортне якесь питання, ви завжди маєте право не відповідати на нього. Табу на цю тему можете накласти лише ви самі.

Бажаю всім гідно обговорювати делікатні теми! ❤️

TikTok | Instagram

#НапуттяВід_HR
🔥7👍52
Друзі, сподіваюсь ви в безпеці 🙂

Всім спокійного продовження п'ятниці та вдалих вихідних 😌

#codica_english
8🥰2😁1
What is the closest meaning of occur? 🤔
Anonymous Quiz
72%
Happen
10%
Get up
10%
Occupied
8%
Не знаю
🔥71👍1
Що таке XSS-вразливість 🤔

📌 XSS (англ. Cross Site Scripting — «міжсайтовий скриптинг») — тип вразливості інтерактивних інформаційних систем у вебі. XSS виникає, коли на сторінки, які були згенеровані сервером, з якоїсь причини потрапляють користувацькі скрипти.

👀 Це досить поширена вразливість, яку можна виявити на багатьох вебзастосунках. Її суть досить проста: зловмиснику вдається впровадити на сторінку JavaScript-код, який не було передбачено розробниками. Цей код буде виконуватися щоразу, коли жертви (звичайні користувачі) заходитимуть на сторінку програми, куди цей код було додано. А далі є кілька сценаріїв розвитку👇

#codica_tech
👍42🔥1
❗️ Перший: зловмиснику вдасться отримати авторизаційні дані користувача та увійти до його облікового запису.

❗️ Другий: зловмисник може непомітно для жертви перенаправити його на іншу сторінку-клон. Ця сторінка може виглядати цілком ідентично тій, де користувач розраховував опинитися. Але належатиме вона зловмиснику. Якщо користувач не помітить заміни і на цій сторінці введе якісь sensitive data, тобто особисті дані, вони виявляться у зловмисника.

❗️Третій ... та загалом багато чого ще можна придумати. Майже все, що може JavaScript стає доступним для зловмисника.

‼️ Тестувальник повинен вміти перевіряти свій вебзастосунок на вразливості.

Як влаштована вразливість

🧐 Насамперед, як саме вдається впровадити на сторінку JavaScript-код, якого там раніше не було? І як виходить розповсюдити цей код серед інших користувачів?

😑 Наприклад, можна додати JavaScript-код у поле введення, текст якого зберігається і надалі відображається на сторінці для всіх користувачів. Це може бути поле для введення інформації про себе на сторінці профілю соціальної мережі або коментарі на форумі.

⌨️ Зловмисник вводить текст (і шкідливий код), який зберігається на сторінці. Коли інші користувачі зайдуть на цю сторінку, разом з текстом вони завантажать і JavaScript-код зловмисника. Саме на момент завантаження цей код відпрацює. Звичайно, вразливість спрацює, тільки якщо текст при збереженні не буде захищений.

Чому такі помилки часто трапляються на веб-проектах

👉 Суть у тому, що браузер не може самостійно відрізнити звичайний текст від тексту CSS, HTML або JavaScript-коду. Він намагатиметься обробляти все, що знаходиться між тегами <script>, як JavaScript-код. Все, що знаходиться між тегами <style>, вважати CSS. І все, що схоже на тег, вважати HTML-кодом.

☝️ Якщо розробник хоче, щоб якийсь текст тільки виглядав як код, але таким не був (тобто не оброблявся браузером, а виводився як є), цей текст треба спеціально обробити перш, ніж віддати його браузеру. Така обробка називається "екрануванням".

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

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

Заради безпеки та захисту своїх користувачів необхідно вміти шукати та закривати подібні вразливості на ваших проєктах 😌

TikTok | Instagram

#codica_tech
👍93🔥2👏1
15 лютого AWS User Group Ukraine та N-iX запрошують на AWS re:Invent re:Cap!

Найбільша у світі конференція з хмарних технологій AWS re:Invent відбулася в Лас-Вегасі.
🔥 Разом зі спікерами з AWS та N-iX організовуємо re:Cap, щоб обговорити основні анонси AWS re:Invent 2022 та детально розібратися у найважливіших для різноманітних спеціалістів.

Що очікувати?

🔸 овервʼю найголовнішого від Ігоря Іванюка, Sr. Solutions Architect в AWS
Головні анонси та новинки для: AWS інфраструктури, Data/ML, інструментів безпеки, IT Ops.

🔸 панельна дискусія за участі:
Ігоря Іванюка, Sr. Solutions Architect в AWS
Дениса Головатюка, Country Lead в AWS
Дмитра Овчаренко, Director of Technology Office в N-iX
Олексія Зайця, Chief Information Technology Architect в ПриватБанк

Keytopics: великі міграції в Amazon: досвід ПриватБанку та побудова Secure SDLC за допомогою AWS сервісів.

Коли: 15 лютого о 18:00 (за київським часом)
Формат: онлайн

🧡 Подаруємо тепло дітям: приєднуйтесь комфортним донатом до збору БФ “Клуб Добродіїв” ━ 45 100 грн на спальники і шапки для 2000 дітей на прифронтових територіях

👉 Деталі та реєстрація: http://bit.ly/3ljJjmy

Долучайтеся, щоб поставити свої запитання під час Q&A сесій!
Це буде AWSome!
6👍3🔥2
Всім гарного недільного дня, ловіть невеличкий дайджест новин зі світу IT від @Mister_Cody 🐾

👀 GitHub звільняє 10% співробітників і переходить на повний remote.

📚 Розробка на Java — з чого почати знайомство з мовою.

💰 Blackpearl Group із Нової Зеландії придбала українську NewOldStamp за понад $3 млн.

🔎 Google впровадить нові налаштування для безпечного пошуку.

💼 Власнику «Київстару» дозволили продати російські активи.

🎓 Linux, Git і Kubernetes. Українцям нададуть безплатний доступ до ІТ-курсів від The Linux Foundation.

TikTok | Instagram
👍113🔥2
👍43🔥1
Які операції можна застосувати до цього списку?
Anonymous Quiz
61%
b.length()
12%
b.remоve()
14%
b.reverse()
12%
b.include?"Some"
👍4🔥21
Що таке bash/shell 🧐

📌 Bash (скор. від «Bourne-Again shell») — це командна оболонка (або «інтерпретатор командного рядка»), яка використовується за замовчуванням в операційних системах на базі Unix та Linux, створена в 1989 році Брайаном Фоксом з метою вдосконалення командної оболонки sh.

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

#codica_tech
👍9🔥32
📌 Shell (або «шелл», «командна оболонка») — це не тільки командний інтерпретатор, який забезпечує інтерфейс взаємодії між користувачем та ядром операційної системи, але й своєрідна мова програмування, в якій присутні такі конструкції, як оператори умовного розгалуження, цикли, змінні та багато іншого.

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

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

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

Як дізнатися, яка оболонка в мене встановлена

👉 Якщо ви починаєте своє знайомство з Linux і не змінювали оболонку, то найімовірніше, що у вашій системі використовується bash. Найпростіший спосіб дізнатися, яка оболонка використовується в даний момент — це звернутися до змінної оточення SHELL:

echo $SHELL

👀 Щоб переглянути всі доступні оболонки у вашій системі, необхідно звернутися до вмісту файлу /etc/shells:

cat /etc/shells

TikTok | Instagram

#codica_tech
👍73🔥3
Codica це...

Кожен з нас по-особливому ідентифікує, що для нього Codica. Для когось Codica - це неймовірна команда, мемчики в чаті, цікаві проєкти, можливість навчатися та бути почутим 🫶

#CodicaTeam вітає вас із Днем Закоханих та бажає кожному знайти своє кохання 💕
18🥰4🔥1