Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
🔮✨Волшебство, любовь… и шерсть на одежде!
Ищи улики, решай головоломки — и помни: каждый твой шаг меняет ход сюжета.

Мой Любимый Кот

Новеллы, Головоломки, Коты

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

IT + Web-программирование

С этим тегом используют

Программирование IT юмор Программист Юмор Работа Картинка с текстом Разработка Web Javascript Веб-разработка HTML Все
236 постов сначала свежее
107
Web.Study
Web.Study
2 года назад
Web-технологии

58 байтов удовольствия. Выглядит красиво почти где угодно⁠⁠

Как сделать сайт красивым на всех дисплеях?


Я перерыл половину Хабра в поисках САМОГО простого способа в минимум кода и кто ищет, тот всегда найдет. Под эту задачу подойдут следующие 58 байт:

58 байтов удовольствия. Выглядит красиво почти где угодно Программирование, IT, Полезное, CSS, Frontend, Web-программирование, Web, Веб-разработка, Веб-дизайн, Длиннопост

Давайте их разберём.


max-width: 38rem


Похоже, в большинстве браузеров по умолчанию используется размер шрифтов 16px, то есть 38rem — это 608px. Поддержка дисплеев разрешением минимум 600px кажется разумным

выбором.



padding: 2rem

Если ширина дисплея становится меньше 38rem, тогда благодаря этому отступу всё остаётся достаточно красивым до ширины примерно в 256px. Хотя это может казаться необязательным, на самом деле мы одним выстрелом убиваем двух зайцев: отступ также создаёт необходимое пространство сверху и снизу.



margin: auto


Это всё, что нужно для центрирования страницы, потому что main — это блочный элемент под семантическим html5.



Важное замечание: чтобы добиться этого результата, мне понадобилось на удивление много попыток. Возможно, это связано с тем, что я ничего не знаю о «современной» веб-разработке или (к чему я склоняюсь больше) говорит о том, насколько тяжело сохранять простоту в этом сложном мире.


Дополнение 1: после обсуждений я изменил значение padding на 1.5rem, чтобы улучшить компромисс между мобильными и десктопными дисплеями.

Дополнение 2: мне напомнили о ch unit, и он мне понравился! После этого я поменял значение на 70ch/2ch, что выглядит примерно так же, но на 2 байта меньше; только padding стал чуть меньше (это хорошо для мобильных).



100 байтов CSS, которые выглядят красиво где угодно (расширенная версия)


Это простой CSS, который будет хорошо выглядеть на большинстве дисплеев:

58 байтов удовольствия. Выглядит красиво почти где угодно Программирование, IT, Полезное, CSS, Frontend, Web-программирование, Web, Веб-разработка, Веб-дизайн, Длиннопост

Давайте его разберём.


max-width: 70ch


«удобный для чтения диапазон» обычно составляет в ширину 60-80 символов, и в CSS можно выразить это напрямую при помощи единицы измерения ch.



padding: 3em 1em


Если ширина дисплея оказывается меньше указанного выше max-width, то этот padding предотвращает растягивание текста на мобильных от края до края. Чтобы оставить пробелы сверху и снизу, мы используем 3em.



margin: auto


Это всё, что необходимо для центрирования страницы; применяется к html, потому что у сайта Дэна нет семантического тега </p>, который, скорее всего, существует на большинстве сайтов. То, что верхний тег центрирует себя относительно ничего, не совсем логично, но так делает большинство браузеров.



line-height: 1.75


Интервал между строками, позволяющий улучшить визуальную чёткость. Всегда оставляйте высоту строки без указания единиц измерения, на то есть причины.



font-size: 1.5em


Я заметил, что в последнее время тенденции дизайна и размеры экранов склоняются к увеличению размера шрифтов. Или, возможно, я старею. Если вы хотите, чтобы пользователи могли его масштабировать, выбирайте em или rem вместо px.



Можно использовать :root вместо <html>, чтобы гарантировать наличие какого-нибудь селектора, но эта тонкость слишком сложна для меня и добавляет ещё один символ.



Ещё 100 необязательных байтов

58 байтов удовольствия. Выглядит красиво почти где угодно Программирование, IT, Полезное, CSS, Frontend, Web-программирование, Web, Веб-разработка, Веб-дизайн, Длиннопост

Пользуйтесь


И кстати, мы здесь рассказываем не только про CSS и банально, там нас будет удобнее читать :3

Показать полностью 3
[моё] Программирование IT Полезное CSS Frontend Web-программирование Web Веб-разработка Веб-дизайн Длиннопост
32
14
alllhimic
alllhimic
2 года назад
Халява
Серия ЛайфХак

Как получить любые платные курсы SkillShare за 10 секунд?⁠⁠

Как получить любые платные курсы SkillShare за 10 секунд? Халява, Бесплатно, Обучение, Дистанционное обучение, Курсы, Онлайн-курсы, Программирование, Web-программирование, Компьютер, IT, Знания, Услуги, Промокод, Акции, Длиннопост, Технологии, Дизайн, Искусство, Лайфхак, Покупка

└ Источник: FREEHUB (халява в твоем кармане)
➖➖➖➖➖➖➖➖➖➖➖➖
▪️ СКАЧАТЬ ЛЮБОЙ КУРС | 9 999₽

💁🏻‍♂️ SkillShare — это платформа создана для онлайн обучения креативных людей, основные категории курсов которые она предлагает: искусство, дизайн, бизнес, образ жизни, технологии » FREEHUB расскажет вам о том, как скачивать любые платные курсы с сайта SkillShare без SMS и регистрации.

➖➖➖➖➖➖➖➖➖➖➖➖

🤷🏻‍♂️ ЧТО НУЖНО ДЕЛАТЬ:

1. Открываем » SkillShare.

└ Выбираем любой курс

2. Копируем URL-адрес курса.

└ Открываем » Hecker No Hecking

3. Вставляем URL-адрес курса.

Как получить любые платные курсы SkillShare за 10 секунд? Халява, Бесплатно, Обучение, Дистанционное обучение, Курсы, Онлайн-курсы, Программирование, Web-программирование, Компьютер, IT, Знания, Услуги, Промокод, Акции, Длиннопост, Технологии, Дизайн, Искусство, Лайфхак, Покупка

└ Нажимаем » Heck
4. Готово, пользуемся.
└ Без регистрации

Как получить любые платные курсы SkillShare за 10 секунд? Халява, Бесплатно, Обучение, Дистанционное обучение, Курсы, Онлайн-курсы, Программирование, Web-программирование, Компьютер, IT, Знания, Услуги, Промокод, Акции, Длиннопост, Технологии, Дизайн, Искусство, Лайфхак, Покупка
Как получить любые платные курсы SkillShare за 10 секунд? Халява, Бесплатно, Обучение, Дистанционное обучение, Курсы, Онлайн-курсы, Программирование, Web-программирование, Компьютер, IT, Знания, Услуги, Промокод, Акции, Длиннопост, Технологии, Дизайн, Искусство, Лайфхак, Покупка

➖➖➖➖➖➖➖➖➖➖➖➖
🔥Подписывайтесь на Telegram: 👉🏻 FREEHUB 👈🏻
└ Чтобы поблагодарить и поддержать нас

Показать полностью 3
[моё] Халява Бесплатно Обучение Дистанционное обучение Курсы Онлайн-курсы Программирование Web-программирование Компьютер IT Знания Услуги Промокод Акции Длиннопост Технологии Дизайн Искусство Лайфхак Покупка
6
4
KartaMira
2 года назад

Открыты ли двери для Junior ?⁠⁠

Хочу обратиться за прямым ответом к аудитории Pikabu, которая связана с IT отраслью. Давно время от времени ловил себя на мысли, что занимаюсь на работе не тем, на что действительно способен и трачу свое время. Но раньше не мог начать учиться или пытаться сменить вид деятельности, т.к. ипотека, нехватка времени и т.д.

Сейчас время появилось и начал по вечерам изучать HTML/CSS, далее вроде бы должен быть JAVA и т.д. для возможности устроиться Web-программистом. Осваиваю бесплатные курсы в ютубе, знакомые из IT скинули вроде бы неплохие самоучители. Они же посоветовали в распиаренные школы не обращаться. Я не ставлю целью обязательно выучиться за 3 месяца , пол года и т.д. Понимаю, что процесс этот не может быть, наверное, таким быстрым.

Основной вопрос состоит в том, что читаю очень много о людях, которые учатся сами, что-то пытаются сделать, но примеров реально устраивающихся и со временем становящихся конкурентноспособными на рынке труда видел единицы. Действительно ли возможно влиться в эту отрасль или из всех, кто ранее не имел ничего общего с IT доходят до желаемого единицы? Насколько работадатели критично смотрят на пытающихся устроиться самоучек и может быть негласно отсеивают 99% из них?

Мне 33 года. У меня нет профильного высшего образования. Только средне-специальное и то не техническое/математическое. Желание осваивать материал есть.

P.S. Сильно не ругайте, на пикабу время от времени всплывают подобные посты, но там на весь пост +- несколько историй от тех, кто учится еще или переходит из смежного вида деятельности т.д. Знакомые говорят, что за пол года можно набрать знаний для Web, но на hh не то, чтобы было море вакансий для джунов без опыта.

[моё] Самообразование Обучение IT Программирование Web-программирование Трудоустройство Текст
25
25
Web.Study
Web.Study
2 года назад

Иллюстрация для самых маленьких⁠⁠

Иллюстрация для самых маленьких
[моё] IT Программирование Web-программирование Frontend IT юмор Веб-разработка
5
15
Web.Study
Web.Study
2 года назад
Web-технологии

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript⁠⁠

React — это библиотека JavaScript для создания пользовательского интерфейса.
Это официальное определение React. Но что если вы не знаете, что такое JavaScript? Что если вы не разработчик? Смогли бы вы тогда понять, что такое React?


Однозначно ДА. Именно поэтому я и написал эту статью на тему: Что такое React на самом деле? Что такое React.js (или ReactJS)? Для чего используется React? Почему React так популярен? Какие проблемы можно решить с его помощью?


Эта статья — введение в React для начинающих. И это первое, с чего стоит начать, прежде чем детально изучить React. Я объясню основные идеи React на пальцах (и с помощью картинок). Нет опыта работы с JavaScript? Не беда! Если у вас есть базовые знания HTML (например, HTML-тегов), эта статья должна вам понравиться.


Не нужно быть опытным разработчиком, чтобы понять суть React


Ниже я это вам докажу, но сначала краткое содержание поста:

1. Что такое DOM?

2. DOM API

3. Больше сложностей!

4. Основные идеи React

5. Компоненты

6. Декларативный интерфейс

7. Обновления реактивного DOM’а

8. Создаем свой первый React-компонент

9. Компоненты компонуемые

10. Компоненты можно использовать несколько раз

11. Компоненты независимы

12. Декларативное и императивное программирование

13. Заключение


Кстати, здесь мы рассказываем не только про React для новичков


Что такое DOM?

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост

Когда вы вводите адрес вашего любимого сайта в строку браузера, ваш компьютер устанавливает связь с другим компьютером где-то очень далеко. Его еще называют «сервер». Как правило, ваш компьютер запрашивает какую-то информацию, а сервер отвечает:

Ваш компьютер: Эй, что там такого классного в этом рандомном сайте learnreact.design?

Сервер: Подожди немного, мне надо кое-что проверить. Пип. Пип.

В ответе сервера вы в основном увидите три составляющие: HTML, CSS и JavaScript.


HTML перечисляет содержимое страницы и описывает её структуру. Сколько заголовков и абзацев? Какие изображения должен увидеть пользователь? Содержится ли эта кнопка и это текстовое поле в одном блоке?


Используя эту информацию, браузер создает то, что называется… DOM!


Так, стоп, DOM это… дерево? Да, это дерево! Как ни странно, многое в компьютере выглядит, как дерево. Давайте, как-то назовем нашего древесного друга… хм, как насчет Domo?


Домо — это, как натурщица в престижной художественной студии «Браузер». Его работа — позировать перед художником, который пишет портрет (или, возможно, миллионы портретов).

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост

В реальной жизни DOM означает Document Object Model (Объектная модель документа). Это действительно модель — модель документа (также известная как страница). Она принимает позу. Браузер рисует портрет. Портреты — это то, что мы видим на странице: текстовые поля, абзацы, изображения и так далее. Работа разработчика похожа на работу режиссера, который говорит Domo, что надеть и какую позу принять. Все это определит, как в итоге будут выглядеть портреты.


Если вы используете браузер с компьютера, чтобы проверить, как выглядит DOM, щелкните правой кнопкой мыши на этой самой странице и выберите «Посмотреть код». Можете ли вы разобраться в том, что находится во вкладке «Элементы»?

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост

DOM API


Нам часто хочется, чтобы страница была динамической и интерактивной — это означает, что её содержимое время от времени меняется: где-то добавляется или удаляется текст, или обновляется графика на основе новых данных, поступающих с сервера.


Помните: Для того, чтобы изменить то, что находится на странице, надо обновить DOM. Художник не сможет рисовать новые портреты, пока Domo не изменит свою позу.


Как заставить Domo принять новую позу?


Просто с ним поговорить. Он послушает. Интересно, что у ушей Domo есть название — DOM API.

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост

Чтобы управлять DOM, разработчик пишет код на JavaScript, который взаимодействует с API DOM, и, в свою очередь, обновляет содержание страницы.



Больше сложностей!


Прямое общение с Domo было стандартным подходом к веб-разработке в течение многих лет, особенно когда контент был в основном статичным. Разработчик мог добавить интерактивность к статическим страницам, немного написав на JavaScript.


Но с появлением SPA (Single Page Application), таких как Gmail и Google Maps, пользователи стали ожидать гораздо большего. Вместо статических страниц им уже нужны интерактивные, быстрые и адаптивные приложения.


Код, необходимый для создания приложений, становится всё больше и сложнее. Часто это требует взаимодействия многих членов команды.


Традиционный подход перестал работать: слишком сумбурно и неэффективно всегда напрямую общаться с Domo.

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост

Основные идеи React


Позвольте представить вам супергероя, React:

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост

С React разработчикам больше не нужно разговаривать напрямую с Domo. React действует как посредник между разработчиком и Domo. Он сглаживает углы при общении и ускоряет процесс создания портретов.


React также называют «ReactJS» или «React.js», но «React» — это официальное название.

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост

React состоит из кода JavaScript. Он построен таким образом, что в большинстве случаев нет необходимости непосредственно работать с DOM API. Вместо этого мы пишем более простой код, в то время как React обрабатывает разговор с DOM за кадром.


У React есть несколько суперспособностей для решения постоянно усложняющихся задач веб-разработки:


• Компоненты

• Декларативный интерфейс

• Обновления реактивного DOM’а

Если эти термины звучат пугающе, без паники! Как и обещал, я буду использовать простой язык и картинки, чтобы помочь вам разобраться. Поверье, это не так сложно!


Просто читайте дальше!



Компоненты


Компоненты — это главная особенность React. Основная идея состоит в следующем: разделяй и властвуй. Если задачу целиком трудно понять, мы разбиваем её на более мелкие задачи, решаем их по одной, а затем объединяем результаты.

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост

Построение приложения на React почти всё построено на работе с компонентами: мы разбиваем приложение на компоненты, находим лучшие компоненты для работы, подгоняем их друг под друга, создаем новые компоненты из уже существующих и т.д.


Сегодня такие инструменты для веб-дизайна, как Framer и Figma (и символы в Sketch), также основаны на компонентах. Они очень похожи на React-компоненты, но последние более гибкие и мощные. Фактически, создатели инструментов дизайна вдохновлялись компонентами из разработки ПО. Как только компонент создан, мы можем создать несколько его копий. Мы можем использовать его для создания других компонентов. Если мы изменяем компонент, всё, что включает в себя этот компонент, будет обновляться автоматически.


У компонентов в React есть два важных свойства:


Компоненты компонуемые. Они предназначены для повторного использования. Мы можем сделать новый компонент с помощью других компонентов.

Компоненты независимы друг от друга. Если мы изменим код в одном месте, то другие компоненты не сломаются.


Если вам это кажется абстрактным, не волнуйтесь! Скоро я покажу вам несколько примеров и подробно объясню эти свойства.



Декларативный интерфейс


Декларативное vs. императивное программирование


Работая напрямую с DOM API, нам пришлось бы указывать, какой элемент изменять в нужное время, в нужном порядке. То есть пришлось бы подробно объяснять Domo, как расположить голову, руки и ноги для каждого портрета.

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост

Звучит утомительно и чревато ошибками! Так почему бы просто не сказать Domo, что мы хотим, вместо того, чтобы объяснять, как позировать? На самом деле, именно так строится пользовательский интерфейс на React. Разработчик делает эскиз того, что он хочет, а React объясняет Domo, как позировать.

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост

Поскольку создаваемые нами приложения динамичны, нам часто хочется, чтобы Domo довольно быстро менял позы. Мы рисуем много эскизов и передаем всю эту стопку React. React складывает эти эскизы вместе и получается флипбук — небольшая книжка с картинками, при перелистывании которых создается иллюзия движения. Динамический пользовательский интерфейс выходит в свет!

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост

Говоря техническим языком, если код определяет, как мы хотим, чтобы это было сделано, это императивное программирование; если он определяет, что мы хотим, это декларативное программирование. При прямой работе с DOM API применяется императивное программирование, при работе с React — декларативное.


Императивное программирование возникло, ещё когда компьютеры были примитивны, а людям надо было давать компьютерам подробные инструкции: где хранить числа, как их умножать и т.д. Но в итоге этим стало почти невозможно управлять, тогда люди стали писать умные программы, которые определяли проблемы и преобразовывали их в подробные инструкции. Так появилось декларативное программирование.



Виртуальный DOM


Декларативное программирование на React не только облегчило жизнь разработчика, но и предложило возможности для оптимизации производительности.


Когда у React есть все эскизы заранее, он может их отсортировать, удалить любую копию и убедиться, что Domo и художник делают как можно меньше работы.

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост

Эти эскизы называются виртуальный DOM. Виртуальным DOM’ом управлять гораздо быстрее, чем DOM’ом. Большую часть времени разработчики работают с виртуальным DOM’ом вместо того, чтобы напрямую работать с DOM’ом. React делает всю грязную работу по управлению таким медленным DOM’ом.

Обновления реактивного DOM’а


Что может быть круче? Представьте себе, что вы можете оставить плейсхолдер в эскизах, чтобы они представляли различные вариации одной и той же позы. Таким образом, если кто-то попросит портреты Domo в другой шапке, нам не нужно будет снова общаться с React. Мы можем просто сесть и позволить React изменить портрет за нас.

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост

Шапка — это данные, определяющие динамическое содержимое пользовательского интерфейса. Нам просто нужно связать элементы интерфейса с их соответствующими данными. Когда данные меняются, React автоматически обновляет соответствующие элементы DOM для нас, то есть DOM «реагирует» на любые изменения соответствующих данных. Не нужно больше отслеживать данные. Не нужно беспокоиться о том, когда обновлять DOM. Он просто обновляется автоматически (с помощью React).


Именно так React и получил свое название. Интерфейс, построенный с помощью React, реагирует. Идея такого интерфейса значительно упрощает разработку интерфейса.



Создаем свой первый React-компонент


Теперь давайте рассмотрим на практике то, что мы теперь знаем, и создадим несколько реальных React-компонентов. Чтобы вам было легче понять, я опустил некоторые детали в коде (в частности, JavaScript). Цель состоит в том, чтобы вы поняли суть React, не погрязнув в синтаксисе JS. Если вам удобно читать код на JavaScript, можете проверить реальные исходные тексты.


Итак. Допустим, мы хотим помочь Domo создать онлайн-магазин шапок.



Компоненты компонуемые


Мы можем разделить интерфейс на несколько частей:


• Заголовок: заголовок сверху

• Главная: основная область контента

• Футер: футер в конце страницы

Эта декомпозиция в коде может выглядеть так:

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост

Похоже на HTML, правда? Кроме тегов, которые начинаются с заглавной буквы: <Header>, <Content> и <Footer>. Это не стандартные теги HTML. Они кастомные.


Что это за кастомные теги? Как мы сообщим React, что заголовок состоит из тега заголовка, большого количества элементов списка и поисковой строки?


Давайте создадим компонент Header!
React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост

Теперь компонент Header содержит два кастомных тега: <SearchBar> и <ShoppingCart>. Что внутри?

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост
React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост

Помните первое важное свойство React-компонентов? Они компонуемые. Это означает, что мы можем использовать компоненты для создания других компонентов — именно это мы только что и сделали.


Теперь задание для вас:


Допустим, мы также хотим добавить SearchBar в футер. Что бы вы сделали? Отредактируйте код ниже:

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост

Примечание:


• Убедитесь, что теги находятся внутри <footer>

• Прокрутите вверх, чтобы проверить код Header

• Попробуйте добавить другие теги

У вас получились две строки поиска? Значит вы поняли суть!



Компоненты можно использовать несколько раз


«Составной» означает способность создавать компонент, используя другие компоненты в качестве его составных частей. Это очень похоже на то, как всё происходит в природе, за исключением одного важного момента: когда мы используем компонент в другом компоненте в React, он все равно «прикрепляется» к оригинальному компоненту. Когда исходный компонент изменяется, все его производные меняются вместе с ним.


Измените ниже текст на кнопке в коде SearchBar:

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост

Что-нибудь заметили? Панель SearchBar на обновленных Header и Footer. Так? Это очень похоже на то, как работают компоненты в таких программах дизайна, как Framer и Figma.


React-компоненты созданы для повторного использования. Как только компонент определен, мы можем использовать его как кастомный тег в других компонентах сколько захотим. Если мы изменим компонент, то все компоненты, которые его включают, изменятся соответствующим образом.



Компоненты независимы


Помните? React-компоненты независимы. Это значит, что если мы изменим один компонент, то другие компоненты (которые его не включают) всё равно будут вести себя так же, как и раньше.


При изменении компонента SearchBar меняются только заголовок и футер. Кажется, что это просто (и, возможно, даже очевидно). Но это фундаментальная идея в программной инженерии, и она прошла долгий путь, чтобы сделать разработку ПО управляемой.



Декларативное и императивное программирование


Теперь давайте перейдем к двум другим суперсилам React: декларативному интерфейсу и обновления реактивного DOM’а.


Уже выбрали шапку для Domo? Если нет, просто кликните по одной из шапок на рабочем столе. Шапка на голове Domo меняется, так?


В этом интерфейсе клик по элементу в таблице обновит данные «выбранной шапки». Так как мы связали DomoWithHat с «выбранной шапкой», шапка на Domo автоматически изменится. Помните? Обновления реактивного DOM’а.


Здесь вы видите код для компонента DomoWithHat.

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, React, Pikaweb, Длиннопост

В коде выше нам просто нужно определить, что мы хотим (Domo и шапка в div), и «подключить» данные («type = {hat}»). Когда данные элемента hat меняются (пользователь выбирает шапку), интерфейс обновляется автоматически. Нам не нужно беспокоиться о том, когда и как обновить DOM. Нам даже не нужно следить за данными. Нам нужно только набросать эскиз, т.е. код, приведенный выше. Вот они, две другие суперсилы React: декларативный пользовательский интерфейс и обновления реактивного DOM’а.



Заключение


Поздравляю! Вы закончили урок по React. Он был о том, зачем нам вообще нужен React. Вот три основных плюса, которые делают React таким мощным: компоненты, декларативный интерфейс и обновления реактивного DOM’а.


На самом деле, готов поспорить, что даже некоторые опытные разработчики React (например, я!) не очень хорошо понимают эти понятия.


А вы?

Показать полностью 20
[моё] Программирование IT Javascript Web-программирование Frontend Веб-разработка React Pikaweb Длиннопост
6
27
Web.Study
Web.Study
2 года назад
Web-технологии

28 однострочных решений в Javascript, которые помогут тебе не ломать голову⁠⁠

Дорогу осилит идущий, а код напишет пишущий


У каждого, уважающего себя программиста не раз бывали моменты, когда нужно было решить задачку и упаковать её в код, но в голову тупо ничего не прилетало.

И тут очень важно не терять концентрацию и погрузиться в задачу с головой, перебирая возможные решения. И не редко это решение оказывается настолько простым, что ты думаешь про себя "Какой же я дегенерат, я это не мог решить час".


В этом посте мы собрали для вас (а по большей части для начинающих) 28 однострочных решений самых разных задачек, которые помогут вам не ломать голову.


А еще мы обитаем в телеграме



1. Получите случайное логическое значение

Эта функция вернет логическое значение (true или false), используя метод Math.random(). Вероятность того, что это правда или ложь, составляет 50/50.

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

2. Проверьте, является ли указанная дата рабочим или выходным днем.

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

3. Проверьте, является ли число четным или нечетным

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

4. Удалите все повторяющиеся значения в массиве

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

5. Проверьте, является ли переменная массивом

Чистый и простой способ проверить, является ли переменная массивом.

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

6. Генерация случайного числа между двумя числами

Это примет два числа в качестве параметров и сгенерирует случайное число между этими двумя числами!

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

7.Генерировать случайную строку (уникальный идентификатор)

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

8. Замена двух переменных местами ||

Деструктурирующее присваивание, которое меняет местами значения переменных

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

9. Рассчитать количество дней между двумя датами

Чтобы рассчитать количество дней между двумя датами, мы сначала находим абсолютную величину между двумя датами, а затем делим ее на 24 * 60 * 60 * 1000 = 86400000, что равно миллисекундам за один день, и в конце округляем результат и верни это.

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

🔥 Вы можете использовать Math.round или Math.floor вместо Math.ceil.


10. Различные способы объединения нескольких массивов
28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

13. Использование заглавной буквы в строке

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

14. Проверьте, находится ли текущая вкладка в поле зрения/в фокусе

Этот простой вспомогательный метод возвращает значение true или false в зависимости от того, находится ли вкладка в поле зрения или в фокусе.

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

16. Проверьте, находится ли элемент в данный момент в фокусе

Мы можем проверить, находится ли элемент в данный момент в фокусе, используя свойство document.activeElement.

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

17. Проверьте, поддерживает ли текущий пользователь сенсорные события.

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

18. Прокрутка вверх страницы

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

19. Получить параметры запроса из URL

Чтобы получить параметры запроса, мы должны сначала разделить URL на «?» а затем замените «=» на «:» и «&» на «,».

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

20. Получить значение куки-файла браузераПолучите значение файла cookie, обратившись к нему с помощью document.cookie

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

21. Очистить все файлы cookie

Вы можете легко очистить все файлы cookie, хранящиеся на веб-странице, открыв файл cookie с помощью document.cookie и очистив его.

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

22. Создать случайный шестнадцатеричный код

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

23. Получить минимальное и максимальное значение массива

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

24. Проверьте, состоит ли строка из повторяющейся последовательности символов.

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

25. Удалить ложные значения из массива

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

26. Разделите массив на основе условия

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

27. Объединить массивы

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

28. Поставить таймер

28 однострочных решений в Javascript, которые помогут тебе не ломать голову Программирование, IT, Javascript, Web-программирование, Frontend, Веб-разработка, Длиннопост

О привет, если ты дочитал, то ты зайка

Показать полностью 25
[моё] Программирование IT Javascript Web-программирование Frontend Веб-разработка Длиннопост
11
20
MaxSholts
2 года назад
Информационная безопасность IT

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2)⁠⁠

Началась 3-я неделя наших приключений, организованных разработчиком игр и ютубером NoobGameDev, и мы продвинулись уже очень далеко - на доске детектива почти не осталось места. А это значит, что всего будет 3 статьи по данному мероприятию: "Часть 1", "Часть 2 (эта)", и "Часть 3 - финал". Рекомендую прочитать первую часть, чтобы быть в курсе, потому что я буду довольно часто на неё ссылаться. Так же оставлю ссылку на оригинальную новость от автора. Теперь к делу.

В данный момент доска детектива выглядит следующим образом (зелёным выделены изменения с прошлой статьи)

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

В предыдущей части я говорил, что мы нашли подозрительные теги в аудиозаписи оставленной автором во Вконтакте. Мы поняли намёк на собаку Морти (из "Рик и Морти") по кличке Снафлс (Snuffles). Но после этого некоторые обратили внимание на тег "Other" со значением "Deep Sound".

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

Это была подсказка - существует программа "Deep Sound" для сокрытия информации в аудио файлах. И после недолгого перебора пароль был подобран. Им оказалась кличка пса - "Snuffles". Внутри был .txt документ со ссылкой.

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

Страница по найденной ссылке перевела нас на архив Google Диска. Он оказался без пароля и в нём находилось 25 изображений с именами по типу "00001 11111 00000 10111 11000.png".

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

На первый взгляд всё понятно - нужно собрать из этого QR код. Проблема лишь в том, что для 25 данных кусков существует 25! = 15 511 210 043 330 985 984 000 000 комбинаций. Мягко говоря, многовато! Но из этого числа подавляющее большинство кодов будут не валидными. Это заставило нас немного изучить структуру QR кодов.

Так же мы сразу догадались, что имена изображений это тоже QR. Потому что имя состоит из пяти блоков по пять цифр (нулей, либо единиц), то есть 0 - белый цвет, 1 - чёрный (слева направо и сверху вниз).

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

После того, как были переведены все имена, выяснилось, что углы совпадают (там где была картинка с углом, по цифрам из имени получался такой же рисунок). Стало понятно, что собрав любую из мозаик, вторая соберётся автоматически. В итоге у нас получилось собрать два рисунка (красный из изображений в архиве, зелёный - из имён файлов).

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

Это расположение изображений, в котором точно можно быть уверенным (иначе QR не прочитается). Оставалось 8 изображений, что составляет 8! = 40 320 вариантов комбинаций. Это уже значительно меньше. Ясно, что нужно делать - писать "перебиратор" и считывать полученные результаты. Но для подобного квеста у нас по прежнему маловато людей, поэтому все наши попытки впопыхах написать нечто подобное не увенчались успехом. Однако, один из участников заметил, что все QR коды в квесте очень похожи. И спустя ночь, на утро, он выдал рабочий QR код. Оказалось, что он просто наложил получившуюся мозаику на какой-то из QR кодов, встречавшихся ранее в квесте, и таким образом подобрал рабочий вариант! Организатор квеста, ни много ни мало, был в возмущённом восторге) К тому же мы сразу собирали QR из имён файлов, а не из картинок, миновав тем самым один из проходных этапов.

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

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

Как мы поняли, инструкция для 2022 года, символы читаются, а значит нам необходимо будет эту информацию использовать. И мы уже догадываемся где, но об этом чуть ниже.


Так же был QR код из картинок, который мы проскочили. Он должен был привести нас на веб-страницу, где нас бы похлопали по плечу и намекнули, что мы идём не туда. Однако, если отключить фон страницы, то появляется сообщение с похвалой за преодоление одной из самых ресурсозатратных (по мнению автора) задач в квесте.

Новая ветвь


Основным нашим прорывом стала новая ветвь квеста. Ей оказалась спектрограмма аудиодорожки видео из YouTube.

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

В ней была спрятана строка: 66303638313537322e787370682e7275. Использовав первый же сайт с набором декодеров удалось расшифровать HEX строку, результат - ссылка на новый сайт.

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

В этот раз по ссылке нас ждала игра "Змейка". А в коде страницы был комментарий "Only the best of the best are awarded the truth" (Только лучшие из лучших удостаиваются правды). Мы поняли, что нужно будет поиграть.

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

Спустя несколько "забегов" мы определили, что игра выдаёт некий код каждому, кто займёт первое место в ТОП участников (но о коде позже), а так же если удавалось собрать больше 50 яблок, то из точки столкновения змейки расходился QR код. Но, так как он размером с игровое поле, то врезаться нужно было строго в середине поля (по вертикали). А это не так просто, как кажется.

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

Собрав немного скриншотов, нам удалось слепить из них очередной QR код, который привёл нас к загадочной двери, с забавным замком.

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

При нажатии на замок, он произносил фразу "Ответь мне, мальчик который выжил". Так же браузер запрашивал разрешение на использование микрофона. Поэтому очевидно было, что от нас ждут голосового ответа.

К этому моменту (об этом я рассказывал в первой части) у нас уже была книга о Гарри Поттере и был книжный шифр, который мы расшифровали, и ждали его применения. У нас получилась фраза "Смотри внимательнее, потому что дорога возникает под шагами того, кто идёт". Именно это каждый из нас кричал в микрофон, чтобы его фраза распозналась, и чтобы услышать заветный ответ.

"Теперь дорога свободна". После этой фразы нас перенаправило на страницу с выбором пути. Однако, видимо, наш выбор особой роли не играл (может, это для статистики, а может, как-то повлияет в будущем - пока не ясно).

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

Механизм (котик)


Данная страница представляет из себя металлическую "лямбу" всю в "нажиматорах" и индикаторах, и с "крутилятором" в правом нижнем углу).

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

Механизм имеет 4 дисплея, клавиатуру для ввода (ввод работает и с обычной клавиатуры), а так же тумблер для переключения между дисплеями. Суть в том, что при попытке переключиться на следующую позицию, тумблер отбрасывает обратно. Помимо всего к механизму прикреплена записка с подсказками к каждому дисплею.

DateTime.Now, по всей видимости, указывает на сегодняшнюю дату, а Сейф, как-то связан с сейфом. По остальным подсказкам на данный момент у нас идей особо нет.


Первый дисплей - это зашифрованное при помощи Энигмы сообщение. Коды к шифрам (о них я писал выше) помогают дешифровать только первое слово. И за несколько дней мы поняли, что сообщение меняется каждый день.

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

Исходное сообщение: VJUBALA L EPZB UQE VO NUDFK SZ FBB HWQM
Его расшифровка: DOROTHY R TIVG RHS BC OMKYE FL IRG CIXJ


В данном сообщении, как и во всех, что мы видели, первое слово является женским именем, но после него получается "тарабарщина". Но, как вы могли заметить, минимум один раз нам удалось перейти ко второму дисплею. Один из участников взял сегодняшний код (CROQLWU UGSCRRY PA EKJGMCTCBR WG S HLTEBXK TTLWP), декодировал по примеру выше (ELEANOR HKHEYZM AU XCVALLLUKG CO U ETKNEYB PDIEI) и прогнал результат через BruteForcer. В итоге получилась фраза (пословица): NOTHING IS IMPOSSIBLE TO A WILLING HEART (перевод: "Нет ничего невозможного для желающего сердца"). Это и стало ключом. Однако, завтра фраза сменится и у нас нет уверенности, что данный метод сработает и с ней, так что данный этап нами полностью ещё не покорён.

Сейф (бабки)


На данной странице находится сейф, который похож на сейф из сцены с котом. На нём имеется кодовый замок (5 групп по 7 цифр), лимбовый замок и замочная скважина, которая, при нажатии на неё, требует загрузки файла изображения.

На сейфе так же имеется Памятка, в которой написано "1. Ввести код. 2. Покрутить крутилку. 3. Вставить ключ. 4. Нажать на значок ключа, чтобы открыть". И по всей видимости, основная сложность сейфа в том, что необходимо вводить сразу три ключа. Так как нет никаких сообщений о том какой из ключей был не верным.

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

В предыдущей части я писал о том, что мы нашли реплику игры Flappy Bird, и что счёт в ней шёл не корректно. В конце концов мы добили данную последовательность: "1-2-3-8-9-6-4-1-2-7-5-6-4-9-0-0-7-5-2-2-4-9-1-7-5-9-0-4-6-1-7-5-2-1-0-4-9-3-8" (далее начинался адекватный счёт: 40-41-42-... и т.д). И я бы об этом не упомянул сразу после сейфа, если бы ни одно "но": в сцене с котом, в телевизоре часто появлялся эпизод из фильма "Защитник", в котором речь шла о длинном скучном числе, где каким-то образом расставлены 7-ки и 5-ки, а так же 3-ки и 8-ки. К тому же говорилось, что данное число - шифр от сейфа.

И в найденной нами последовательности данные цифры тоже стоят по каким-то правилам:
"1-2-3-8-9-6-4-1-2-7-5-6-4-9-0-0-7-5-2-2-4-9-1-7-5-9-0-4-6-1-7-5-2-1-0-4-9-3-8". Но как я уже говорил, проверить эту теорию мы сможем только когда найдём остальные 2 ключа.

О менее приятном


Это были наши удачи. А теперь о том, с чем нам повезло немного поменьше и разгадка чего может являться частью пазла.


Ранее мы нашли вордовский документ с множеством непонятных чисел. Они остаются загадкой и сейчас. Но в какой-то момент, один из участников скинул скриншот открытого документа, а другой заметил, что он очень похож на штрих-код. И после небольших преобразований, нам удалось его считать.

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

Штрих-код считался и у нас появилась новая загадка: число из 11 цифр. Мы принялись подставлять его в различные нерешённые задачи, пытаться декодировать и прочее. Но один из новоприбывших участников сразу же спросил, что-то типа "А вы звонили на штрих-код?".


Это число оказалось номером телефона: 8-863-333-94-71. Позвонив по нему, мы услышали автоответчик.


Запись автоответчика


Любители аниме сразу поняли, что это японский. Это же подтвердил и Google переводчик.

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

Исходя из перевода можно точно сказать, что речь об аниме "Shaman King" и, вероятнее всего, о конкретном духе - Амидамару. Но как или чем он нам сможет помочь пока не понятно.

Шрифты из Телеграм


В прошлой части нам кое-как удалось получить набор букв из картинки со шрифтами. Так же мы сумели проявить надпись OurSecret.

Спустя некоторое время нам удалось понять, что надо тщательно гуглить все незнакомые слова. В итоге была найдена очередная программа для стеганографии - OurSecret. Используя её и полученный ключ "BMWFACTHLS", нам удалось вытащить текстовый файл с новой ссылкой.

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

Эта ссылка привела нас к изображению с именем "barber.png", находящимся на Google Диске. Картинка хотела открываться не во всех редакторах, но спустя какое-то время один из участников поиздевался над картинкой и прислал результат. После этого мы поняли, что использовался приём, который называется Наполнением за границами изображения. И после некоторого времени подбора значений в HEX редакторе удалось получить полное изображение.

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

Скрытое сообщение было ссылкой, которая привела нас к странице с точками и полем для ввода.

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

Если ввести неверное значение, то поле ввода пропадает. Но это утка. Так как происходит редирект на страницу http://a0694523.xsph.ru/index.php и если убрать "index.php", то поле ввода появляется снова.
В данным момент мы не знаем, что от нас требуется. Самая правдоподобная версия в том, что перед нами участок карты звёздного неба или набор созвездий. Но пока что это всё, что у нас есть.

Опять Морзе


Буквально в момент написания статьи была обнаружена ещё одна ветка в стартовом видео на YouTube. Ей оказалась Морзянка. То, что все изначально приняли за засвет от светодиода какого-то устройства, оказалось посланием.

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

Это оказалась ссылка на новый сайт, где нас встретил персонаж Коржик из Улицы Сезам

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

На странице так же имеется неприметная форма для ввода. Сам Коржик говорит "OMMM NOM NOM NOM". При неверном вводе фраза немного меняется, но форма ввода остаётся активной. Помимо прочего, так как это похоже на намёк на cookie-файлы, то мы проверили и их. Мы нашли куку с именем "Monster" и значением: 0DF5B38B2D4B4BBEA13D626CA7C6D4A3366EB07F3C594C9179BE0D34F8832B36.

Каким образом зашифровано данное сообщение, и что является ключом, если он нужен, мы пока что не знаем.

Странные имена


И ещё одна вещь, о которой хотелось бы рассказать - это имена файлов и комментарии, которые мы иногда находим. Сначала мы думали, что это рандомный набор букв, но все эти "имена" написаны заглавными буквами и имеют плюс/минус одинаковую длину. Мы не думаем, что это совпадение. На данный момент есть предположение, что это связано с картинкой в видео на YouTube. И помимо прочего, данные записи появились и на доске детектива.

Неплохой ARG квест для IT-шников, в котором ты не участвуешь… (часть 2) Arg, Ctf, Квест, Игры, Головоломка, Загадка, Шифр, Криптография, Стеганография, Информационная безопасность, IT, Логика, Ребус, Программирование, Шифрование, Web, Web-программирование, Гифка, Видео, Длиннопост

Так же эти картинки отображают и некоторые этапы квеста. Например: змея - змейка; лук - Тор; дух - Амидамару; ножницы - обрезанная картинка; печенье - Коржик; Шелдон - клингонский; птица - Flappy Bird; матрёшка - матрёшки; книга - Гарри Поттер...
И на всех этих этапах мы находили странные именования. Возможно, что в итоге это соберётся в некую ссылку или же станет для нас очередной загадкой.

Подытожим


Квест идёт уже 2 недели. Разнообразие впечатляет. Загадок много, очень много. Квест явно был рассчитан на гораздо большее число участников. Впереди ещё есть, что разгадывать. После прошлой статьи число участников выросло, из-за этого мы и смогли так далеко зайти. Поэтому я снова оставлю ссылку на дискорд сервер, где мы бьёмся с квестом. Надеюсь, что и в этот раз к нам присоединятся новые люди, чтобы общими усилиями пройти эту игру)


Напишите как вам задания? Есть ли какие-то идеи, которые смогут нам помочь? И спасибо, что прочитали!)

Показать полностью 24 1
[моё] Arg Ctf Квест Игры Головоломка Загадка Шифр Криптография Стеганография Информационная безопасность IT Логика Ребус Программирование Шифрование Web Web-программирование Гифка Видео Длиннопост
4

Оформить подписку для бизнеса

Перейти
Партнёрский материал Реклама
specials
specials

Ваш бизнес заслуживает большего!⁠⁠

Оформляйте подписку Пикабу+ и получайте максимум возможностей:

Ваш бизнес заслуживает большего! Малый бизнес, Предпринимательство, Бизнес

О ПОДПИСКЕ

Малый бизнес Предпринимательство Бизнес
2
alllhimic
alllhimic
2 года назад
Халява
Серия ЛайфХак

Как получить PluralSight One на 1 год?⁠⁠

Как получить PluralSight One на 1 год? Халява, Бесплатно, Обучение, Дистанционное обучение, Курсы, Онлайн-курсы, Программирование, Web-программирование, Компьютер, IT, Знания, Услуги, Акции, Длиннопост, Технологии, Дизайн, Искусство, Лайфхак, Покупка, Подписки

└ Источник: FREEHUB (спонсор вашей халявы)

➖➖➖➖➖➖➖➖➖➖➖➖
▪️ ПОЛУЧИТЬ | 29 000₽
💁🏻‍♂️ PluralSight — это платформа для онлайн обучения, в основном сфокусированы на сфере IT и разработке программного обеспечения, но платформа также предлагает альтернативы для людей, которые заинтересованы в развитии бизнеса и других более креативных сферах » FREEHUB поможет вам получить PluralSight One на 1 год.
└ Подробнее о компании PluralSight - читайте тут (отзыв пользователя) или на официальном сайте компании.
➖➖➖➖➖➖➖➖➖➖➖➖

🤷🏻‍♂️ ЧТО НУЖНО ДЕЛАТЬ:

1. Включаем » VPN: НЕ Россия.

└ Windscribe или HitVPN (или свой VPN)
2. Открываем » PluralSightOne.

└ Кликаем » Activate Benefit

Как получить PluralSight One на 1 год? Халява, Бесплатно, Обучение, Дистанционное обучение, Курсы, Онлайн-курсы, Программирование, Web-программирование, Компьютер, IT, Знания, Услуги, Акции, Длиннопост, Технологии, Дизайн, Искусство, Лайфхак, Покупка, Подписки

3. Регистрируем » PluralSight.
└ Подтверждаем Email

Как получить PluralSight One на 1 год? Халява, Бесплатно, Обучение, Дистанционное обучение, Курсы, Онлайн-курсы, Программирование, Web-программирование, Компьютер, IT, Знания, Услуги, Акции, Длиннопост, Технологии, Дизайн, Искусство, Лайфхак, Покупка, Подписки

4. Входим в свой профиль.
└ Проверяем подписку на этой странице

Как получить PluralSight One на 1 год? Халява, Бесплатно, Обучение, Дистанционное обучение, Курсы, Онлайн-курсы, Программирование, Web-программирование, Компьютер, IT, Знания, Услуги, Акции, Длиннопост, Технологии, Дизайн, Искусство, Лайфхак, Покупка, Подписки

5. Готово, пользуемся PluralSight One 1 год.
➖➖➖➖➖➖➖➖➖➖➖➖
✅ UPD:
Компании PluralSight удалось поддерживать свой проект продолжительное время, оставаясь актуальным даже по сей день, что говорит много об их целях и рабочем этикете, тем самым однозначно заслуживает вашего внимания.
➖➖➖➖➖➖➖➖➖➖➖➖
🔥Подписывайтесь на Telegram: 👉🏻 FREEHUB 👈🏻
└ Чтобы поблагодарить и поддержать наши труды

Показать полностью 3
[моё] Халява Бесплатно Обучение Дистанционное обучение Курсы Онлайн-курсы Программирование Web-программирование Компьютер IT Знания Услуги Акции Длиннопост Технологии Дизайн Искусство Лайфхак Покупка Подписки
0
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии