Как стать автором
Обновить
1
0

Пользователь

Отправить сообщение

Почему сертификация важна, как подготовиться и сдать экзамены AWS, Azure, GCP, etc…

Время на прочтение4 мин
Количество просмотров13K

Сами по себе экзамены и сертификаты не несут в себе ничего отрицательного, негативные моменты будут рассмотрены ниже, начнем с позитивных и очевидных:

Читать про сертификацию
Всего голосов 10: ↑8 и ↓2+7
Комментарии10

Altium 365 — как GitHub, но для разработки железа. Как мы делаем Flipper Zero

Время на прочтение5 мин
Количество просмотров19K

Над железом Flipper Zero работают одновременно несколько инженеров. Коллективная работа над железным проектом — это боль. У программистов есть крутые системы контроля версий и модные сервисы вроде GitHub, но бинарные файлы печатной платы и схем нельзя так просто засунуть в Git. Мы долго и мучительно искали решение этой проблемы и наконец нашли.

Altium 365 — это система контроля версий с веб-интерфейсом для работы над железными проектами. Мы смогли перенести привычный воркфлоу GitHub на железную разработку. В посте я расскажу про наш опыт использования Altium 365 на примере реальной задачи в нашем проекте Flipper Zero.

Читать далее
Всего голосов 40: ↑37 и ↓3+48
Комментарии77

Пять простых шагов для понимания JSON Web Tokens (JWT)

Время на прочтение5 мин
Количество просмотров668K

jwt


Представляю вам мой довольно вольный перевод статьи 5 Easy Steps to Understanding JSON Web Tokens (JWT). В этой статье будет рассказано о том, что из себя представляют JSON Web Tokens (JWT) и с чем их едят. То есть какую роль они играют в проверке подлинности пользователя и обеспечении безопасности данных приложения.

Читать дальше →
Всего голосов 28: ↑24 и ↓4+20
Комментарии60

16 инструментов для создания прототипов

Время на прочтение5 мин
Количество просмотров492K


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

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

16 инструментов со ссылками и их краткое описание
Всего голосов 53: ↑47 и ↓6+41
Комментарии33

Стилизация приложений часть первая

Время на прочтение4 мин
Количество просмотров79K
Coloroid
Все идет хорошо, вы успешно пишете свои великолепные (ну у кого-как) приложения, даже бывает публикуете их на маркете, но возникает проблема: весь интерфейс уж слишком скучен и однообразен, черный фон (в некоторых селениях белый) и стандартные элементы уж слишком приелись…

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

Это статья о том, как можно стилизовать свое приложение под конкретные цвета, а не ограничиваться цветами Андроида
Поехали
Всего голосов 73: ↑64 и ↓9+55
Комментарии38

Используем Twitter API для получения «дерева» пользователей

Время на прочтение2 мин
Количество просмотров7.5K
Доброе утро, хабраюзер. В данном посте я хотел бы поделиться небольшим опытом работы с twitter API, а в частности с парсингом большого числа юзеров и получением информации о каждом пользователе(дата создания аккаунта, имя пользователя, screen_name, web страничка пользователя, количество твиттов, количесво друзей, количество фолловеров, местоположение).
Читать дальше →
Всего голосов 15: ↑5 и ↓10-5
Комментарии8

Безопасность Microsoft Office: форматы документов

Время на прочтение14 мин
Количество просмотров14K
Всем привет!
Этой статьей мы открываем цикл, посвященный исследованию безопасности компонентов Microsoft Office. Речь в материале пойдет о форматах данных, шифровании и получении символов.
Когда в компании Microsoft задумывался и разрабатывался масштабный пакет офисных программ Microsoft Office, вероятно, создатели надеялись на успех. Сложно сказать, могли ли они рассчитывать на его триумфальное шествие по миру впоследствии, на то, что продукт станет фактическим стандартом, а существование его растянется на десятилетия. Однако можно уверенно утверждать, что массивность приложений, количество человеко-часов, затраченных на создание, развитие, поддержку обратной совместимости компонентов продукта способствовали появлению «тяжелого наследия» в виде устаревшего, написанного десятилетия назад программного кода, составляющего ядро приложений даже в последних версиях пакета. Требования, которые предъявлялись к коду двадцать лет назад, изменились. Сегодня во главу угла ставится кроссплатформенность, масштабируемость и безопасность. При этом, расходы на значительные изменения в продукте таковы, что Microsoft предпочитает подход «не сломано – не трогай», и старательно обеспечивает обратную совместимость с самыми древними форматами документов. Не обходится и без определенного давления со стороны коммерческих и государственных структур, которые также медленно и неохотно обновляют свои технологические парки, предпочитая привычные средства в ущерб развитию и безопасности.

Покопавшись в дебрях обработчиков файлов Microsoft Office, мы готовы представить вам это небольшое исследование.
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии12

Планетарный ландшафт

Время на прочтение51 мин
Количество просмотров21K
Трудно поспорить, что ландшафт — неотъемлемая часть большинства компьютерных игр на открытых пространствах. Традиционный метод реализации изменения рельефа окружающей игрока поверхности следующий — берем сетку (Mesh), представляющую из себя плоскость и для каждого примитива в этой сетке производим смещение по нормали к этой плоскости на значение, конкретное для данного примитива. Говоря простыми словами, у нас есть одноканальная текстура размером 256 на 256 пикселей и сетка плоскости. Для каждого примитива по его координатам на плоскости берем значение из текстуры. Теперь просто смещаем по нормали к плоскости координаты примитива на полученное значение(рис.1)


Рис.1 карта высот + плоскость = ландшафт

Почему это работает? Если представить, что игрок находится на поверхности сферы, и радиус этой сферы чрезвычайно велик по отношению к размеру игрока, то искривлением поверхности можно пренебречь и использовать плоскость. Но что если не пренебрегать тем фактом, что мы находимся на сфере? Своим опытом построения такого рода ландшафтов я хочу поделиться с читателем в данной статье.
Читать дальше →
Всего голосов 82: ↑82 и ↓0+82
Комментарии16

Социальная инженерия и доверие, как человеческий фактор

Время на прочтение4 мин
Количество просмотров57K
Это моя первая публикация на Хабре и пока сложно предугадать реакцию местной публики на мои действия. Дело вот в чем.

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

Это были две жертвы, которые обладали нужной мне информацией. Оба — мужчины. Узнать эту информацию я мог только от них, но с одним я почти не знаком, а второй был моим заклятым врагом. Их частая активность в социальных сетях давала надежды, что с кем-то в переписке они обсуждали то, что мне было нужно.
Читать дальше →
Всего голосов 126: ↑102 и ↓24+78
Комментарии40

Асинхронность: назад в будущее

Время на прочтение22 мин
Количество просмотров113K

Асинхронность… Услышав это слово, у программистов начинают блестеть глаза, дыхание становится поверхностным, руки начинают трястись, голос — заикаться, мозг начинает рисовать многочисленные уровни абстракции… У менеджеров округляются глаза, звуки становятся нечленораздельными, руки сжимаются в кулаки, а голос переходит на обертона… Единственное, что их объединяет — это учащенный пульс. Только причины этого различны: программисты рвутся в бой, а менеджеры пытаются заглянуть в хрустальный шар и осознать риски, начинают судорожно придумывать причины увеличения сроков в разы… И уже потом, когда большая часть кода написана, программисты начинают осознавать и познавать всю горечь асинхронности, проводя бесконечные ночи в дебаггере, отчаянно пытаясь понять, что же все-таки происходит…

Именно такую картину рисует мое воспаленное воображение при слове “асинхронность”. Конечно, все это слишком эмоционально и не всегда правда. Ведь так?.. Возможны варианты. Некоторые скажут, что “при правильном подходе все будет работать хорошо”. Однако это можно сказать всегда и везде при всяком удобном и не удобном случае. Но лучше от этого не становится, баги не исправляются, а бессонница не проходит.

Так что же такое асинхронность? Почему она так привлекательна? А главное: что с ней не так?
Назад в будущее...
Всего голосов 130: ↑124 и ↓6+118
Комментарии42

Как я шашки писал

Время на прочтение6 мин
Количество просмотров81K

Предыстория


Так уж получилось, что моим первым более-менее серьёзным проектом, связанным с программированием, была реализация шашек для «Шага в будущее». К несчастью, доделать его до конца у меня так и не получилось, так как через некоторое время концепция проекта резко поменялась. Несмотря на это, программа была практически готова и с ней даже можно было играть, к тому же сам процесс её написания оказался весьма интересным, поэтому я решил поделиться теми идеями и алгоритмами, которые сумел придумать.

Читать дальше →
Всего голосов 51: ↑31 и ↓20+11
Комментарии26

Информационная безопасность в АСУ ТП: вектор атаки преобразователи интерфейсов

Время на прочтение9 мин
Количество просмотров11K

Размышление


Некоторое время назад я посетил одну конференцию, посвящённую информационной безопасности, там обсуждали вопросы все различной безопасности в различных системах. Я по своей основной специальности не имею прямого отношения к безопасности и у меня возникло много вопросов и мыслей по данной теме, что и послужило началом изучения вопросов ИБ в АСУ.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии7

Игры для программистов

Время на прочтение3 мин
Количество просмотров134K
Должен признаться, что я плохой программист. Я не люблю настраивать Maven и писать конфигурации для Spring Framework. Я не знаю в деталях, как работает JVM (да и в общих чертах представляю это себе довольно смутно). Я плохо понимаю паттерны проектирования, а любая новая технология вводит меня в уныние. И тем не менее, я люблю программировать.

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

Минуточку внимания.

Я не стану говорить о Robot Battle и тому подобных вещах. Вот не стану и всё. Возможно, я странный человек, но мне не нравится иметь дело с чем-то, хоть отдалённо напоминающим реальную физику. Интересующиеся могут почитать об этой игре здесь, а статья немного о другом.

Так о чём же статья?
Всего голосов 120: ↑102 и ↓18+84
Комментарии89

Игры для программистов, часть вторая

Время на прочтение5 мин
Количество просмотров82K
Прошло четыре с половиной года с тех пор, как я, пользуясь свежеполученным инвайтом, написал предыдущий хабрапост с подобным заголовком. Большой срок для игровой индустрии. Успело появиться много новых хороших игр, и недавно я ощутил настоятельную необходимость поделиться знанием о них с широкой общественностью.

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

Infinifactory


image
И что же это за майнкрафт такой?
Всего голосов 58: ↑57 и ↓1+56
Комментарии74

Современные методы исследования безопасности веб-приложений: инструментарий

Время на прочтение3 мин
Количество просмотров19K
image

В данной статье я расскажу об инструментарии для тестирования безопасности веб-приложений. Основные этапы и чек-лист работ представлены в предыдущей статье.
Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Комментарии3

Будущее веб-технологий: создаём интеллектуального чат-бота, который может слышать и говорить

Время на прочтение10 мин
Количество просмотров20K
Голосовые интерфейсы в наши дни вездесущи. Во-первых — всё больше пользователей мобильных телефонов используют голосовых помощников, таких как Siri и Cortana. Во-вторых — устройства, вроде Amazon Echo и Google Home, становятся привычным элементом интерьера. Эти системы построены на базе программного обеспечения для распознавания речи, которое позволяет пользователям общаться с машинами с помощью голосовых команд. Теперь же эстафета, в обличье Web Speech API, переходит к браузерам.

image
Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии3

Уязвимости публичных терминалов: как взломать велопрокат и поликлинику

Время на прочтение6 мин
Количество просмотров96K
В этом году Москву охватила настоящая велосипедная лихорадка. Количество станций велопроката было увеличено с 79 до 150, а услугами аренды воспользовались 90 тыс. человек. Пока двухколесные друзья отдыхают на зимних каникулах, расскажем об уязвимостях терминалов для оплаты аренды велосипедов, которые поставили под угрозу безопасность персональных данных и электронных кошельков пользователей, а также заставили задуматься о новой парадигме атак на корпоративные сети.

image

Платежные и информационные терминалы сегодня функционируют на улицах, в торговых центрах, в аэропортах, в поликлиниках, в метро. Большинство таких устройств работает на базе Windows, в режиме так называемого киоска, который позволяет запускать на компьютере одно основное полноэкранное приложение, заданное администратором. Функциональность терминала существенно расширяется, если выйти из режима киоска в операционную систему.
Читать дальше →
Всего голосов 101: ↑95 и ↓6+89
Комментарии47

Информация

В рейтинге
Не участвует
Откуда
Херсон, Херсонская обл., Украина
Дата рождения
Зарегистрирован
Активность