Pull to refresh
2
0
Send message

Полное руководство по CSS Flex + опыт использования

Reading time6 min
Views56K

Как и CSS Grid, Flex Box довольно сложен, потому что состоит из двух составляющих: контейнера и элементов внутри него.

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

Читать!

Shodan: границы дозволенного или где кончается белая шляпа хакера

Reading time4 min
Views7.1K

О поисковике Shodan немало написано, в том числе на Хабре (здесь, здесь, здесь и еще вот здесь)

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

В этой статье мы попытаемся сформировать принципы легальности/нелегальности использования Shodan, общие для большинства юрисдикций.

Читать далее

Использование проволочных моделей для визуализации научных данных

Reading time6 min
Views4.1K
Что же это такое?

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

Читать дальше →

Как не потеряться в отечественных изданиях «Искусства схемотехники»

Reading time6 min
Views63K

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

Читать далее

Полиморфизм в Python

Reading time4 min
Views90K

В этой статье мы изучим полиморфизм, разные типы полиморфизма и рассмотрим на примерах как мы можем реализовать это в Python.

Что такое полиморфизм?

В буквальном значении полиморфизм означает наличие разных форм.

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

Давайте посмотрим на пример:

Пример 1: полиморфизм оператора сложения

Читать далее

Превращаем клавиатуру в пианино с помощью Python

Reading time5 min
Views20K

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

Читать далее

Полезные консольные Linux утилиты

Reading time13 min
Views128K

В этой подборке представлены полезные малоизвестные консольные Linux утилиты. В списке не представлены Pentest утилиты, так как у них есть своя подборка.


Осторожно много скриншотов. Добавил до ката утилиту binenv.


binenv — cамая интересная утилита для установки новых популярных программ в linux, но которых нет в пакетном менеджере.

Читать дальше →

Оптические иллюзии: Стрелочка, которая всегда права

Reading time2 min
Views35K
image

Kokichi Sugihara — японский математик и художник, мастер по созданию трехмерных оптических иллюзий. Постоянный победитель во всемирном конкурсе оптических иллюзий: первое место — в 2010, 2013, 2018 и 2020 году, второе место — в 2015 и 2016 году.

Его интерес к иллюзиям проистекает из его исследований в 1980-х годах по автоматизации анализа рисования перспективы, которые он опубликовал в книге MIT Press 1986 года «Machine Interpretation of Line Drawings». Когда он попросил свою компьютерную систему интерпретировать невозможные объекты, такие как в картинах Эшера, он обнаружил, что они могут быть интерпретированы как рисунки реальных объектов неожиданной формы.

Канал в телеграм Cognitive Illusions, где я буду делиться самыми вырвиглазными находками, как хакнуть мозг через восприятие.

Под катом — самые интересные работы Kokichi Sugihara, его лекции и файлы для распечатывания на 3д-принтере невозможных объектов.

CSS: работа с текстом на изображениях

Reading time7 min
Views26K

Вы можете встретить компонент пользовательского интерфейса, у которого есть текст над изображением. В некоторых случаях в зависимости от используемого изображения текст будет трудно прочитать. У этой проблемы есть несколько различных решений, таких как добавление градиента или затемнение изображения, наложение тени на текст и другие. Этот прием будет полезен не только frontend и веб-разработчикам, но и ui/ux-дизайнерам. Написать эту статью меня вдохновил твит от Эдди Османи, работающего над Google Chrome.

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

Приятного чтения

Вы уверены, что вам нужен API?

Reading time4 min
Views5.8K


От переводчика: При разработке бэкэнда наличие API для фронт-энда стало практически повсеместным стандартом. Однако можем ли мы называть это "настоящим" API? Предлагаем вашему вниманию интересное пятничное чтение, которое, возможно, повлияет на API, которые мы все разрабатываем.


“Слабая связанность, сильное сцепление”, “сокрытие информации”. Известные принципы дизайна. Тем не менее, к ним очень часто не относятся серьезно при разработке архитектуры ПО, особенно когда это касается взаимодействия между клиентской и серверной частью (фронтом и бэком на жаргоне разработчиков).


Ценность API — в сокрытии информации


Предоставляя API, системы решают, какая информация должна быть доступна из внешнего мира, а какая будет держаться в секрете (“сокрытие информации”).


Почему это важно? Потому что чем объемнее API, тем дороже его поддерживать. Представьте себе крайний случай — открытие каждой детали реализации. Каждое изменение в системе может сломать код, который используют ваши клиенты. Именно по этой причине мы стремимся разрабатывать компактные API. Я писал статью (перевод на хабре) по этой теме в контексте описания шаблона “Регистрация событий”.


Вне зависимости от размера, API не позволяет менять систему так, как нам хочется. Мы всегда вынуждены детально документировать API и всегда думать о том, как бы не сломать клиентский код. Изменения должны быть обратно совместимы, в противном случае придется согласовывать развертывание всех зависимых систем, что быстро превратится в ад поддержки монолитного приложения.

Читать дальше →

Увеличение продаж интернет-магазина в 5 раз: простая механика, которая позволит превратить $100 в $500

Reading time4 min
Views5K

Признайтесь, ведь каждый мечтает знать об универсальном способе, который поможет получить в разы больше продаж, но при этом с минимальными вложениями в рекламу. Звучит утопично, особенно с учетом алгоритмов Facebook и Instagram, которые заставляют дропшиппинг-магазины изощряться, используя разнообразные маркетинговые «фишки», чтобы генерировать солидный трафик и продажи с минимальными затратами.

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

Читать далее

Декомпиляция node.js в Ghidra

Reading time10 min
Views8.2K


Приветствую,


Вам когда-нибудь хотелось узнать, как же именно работает программа, которой вы так активно пользуетесь, игра, в которую часто играете, прошивка какого-нибудь устройства, которое что-то делает по расписанию? Если да, то для этого вам потребуется дизассемблер. А лучше — декомпилятор. И если с x86-x64, Java, Python ситуация известная: этих ваших дизассемблеров и декомпиляторов полным-полно, то с другими языками всё обстоит немного сложнее: поисковые машины уверенно утверждают — «It's impossible».



Что ж, мы решили оспорить данное утверждение и произвести декомпиляцию NodeJS, а именно выхлоп, который выдаёт npm-пакет bytenode. Об этом подробнее мы и расскажем по ходу статьи. Заметим, что это уже вторая статья в серии о нашем плагине для Ghidra (первый материал был также опубликован в нашем блоге на Хабре). Поехали.

Читать дальше →

Есть ли жизнь после жизни?

Reading time4 min
Views33K

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

Читать далее

Микрофронтенды: разделяй и властвуй

Reading time6 min
Views26K


Всем привет! Меня зовут Аня, я фронтенд-разработчик в Delivery Club. Хочу рассказать про использование микрофронтендов. Поговорим о том, что же это за зверь такой — микрофронтенд, почему мы решили использовать этот подход в своих проектах и с какими проблемами столкнулись при внедрении.
Читать дальше →

Организация разработки веб-приложений

Reading time10 min
Views7.4K

Привет! Хочу поделится наработками по налаживанию процесса разработки. Вместе пройти путь от найма сотрудников до тестирования ПО.

Допустим вы проснулись утром лидером стартапа после первого раунда инвестиций. Выпили кофе и неотлагательно приступили к работе.

Читать далее

Трудности и «глюки», возникающие у новичков в программе Blender, и как их преодолеть

Reading time3 min
Views74K

Blender это замечательный бесплатный 3d пакет , который делает возможным и доступным осуществление гигантского количества проектов ,и ,как человек прошедший путь от абсолютного новичка в 3d до преподавателя данной программы в учебном центре "Специалист" в Москве , я могу поделиться несколькими типами , которые помогут преодолеть несколько несложных , но каверзных моментов , которые хоть и очень просты , но далеко не очевидны , и могут заставить просидеть несколько часов в поиске решения проблемы.

Читать далее

Как устроены волны

Reading time54 min
Views31K
Волны — это самое распространённое явление. Физические колебания, звук, свет, радио и рентген, волны вероятности в квантовой механике, гравитационные волны в теории относительности — физика практически состоит из волн. Каждое явление можно изучать отдельно, но есть что-то общее в волнах, универсальное.

Чтобы ухватить это общее предлагаю разбираться в волнах последовательно.

Начнём с вопроса, на первый взгляд не связанного с темой, но ответ на который сразу много прояснит.

image
Рис. 1. «Две параллельные линии». Канва, браш. Рама.

Перед вами две параллельные линии, с ограниченной областью их просмотра, квадратным окном. Для различия они раскрашены. Вопрос простой: если красная линия это сдвинутая зелёная, то в какую сторону произошел сдвиг?
Конечно, вправо-вверх, зачем ещё пять вариантов ответа?

Развертывание приложений Django

Reading time3 min
Views18K

После того, как мы закончили разработку веб-приложения, оно должно быть размещено на хосте, чтобы общественность могла получить доступ к нему из любого места. Мы посмотрим, как развернуть и разместить приложение на экземпляре AWS EC2, используя Nginx в качестве веб-сервера и Gunicorn в качестве WSGI.

Читать далее

Получение питьевой воды для городской квартиры: опыт использования кувшинных фильтров

Reading time5 min
Views19K

Мой опыт использования кувшинных фильтров для получения питьевой воды в условиях городской квартиры

Читать далее

Как мы обошли bytenode и декомпилировали байткод Node.js (V8) в Ghidra

Reading time19 min
Views8.2K

«Да я роботов по приколу изобретаю!» Рик Санчес

Многим известно, что в 2019 году АНБ решило предоставить открытый доступ к своей утилите для дизассемблирования (реверс-инжиниринга) под названием Ghidra. Эта утилита стала популярной в среде исследователей благодаря высокой «всеядности». Данный материал открывает цикл статей, посвященных плагину ghidra_nodejs для Ghidra, разработанному нашей командой (https://github.com/PositiveTechnologies/ghidra_nodejs). Задача плагина — десериализовать содержимое jsc-файлов, дизассемблировать байткод функций и декомпилировать их. В первой статье мы обсудим сущности и байткод движка V8, а также тезисно опишем сам плагин, про который подробно расскажем в последующих статьях.

Рано или поздно все сталкиваются с программами на языке JavaScript, их так и называют скриптами. JavaScript — это полноценный язык со своим стандартом ECMA Script, скрипты которого выполняются не только в браузере, но и на сервере.

Скрипты исполняются с помощью специальной программы, которую называют движком (engine) JavaScript. За годы движкостроения их понапридумывали предостаточно: V8, SpiderMonkey, Chakra, Rhino, KJS, Nashorn и т. д.

Читать далее

Information

Rating
6,115-th
Registered
Activity