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

Разработка

Сначала показывать
Порог рейтинга

Дайджест интересных материалов для мобильного разработчика #453 (15 — 21 августа)

Блог компании Productivity Inside Разработка мобильных приложений *Разработка под Android *Разработка под iOS *
В новом дайджесте чиним баги и анализируем Now in Android, тестируем и понимаем React Native, улучшаем монетизацию, дизайним слайдер оплаты, запускаем Dev Box-ы и и многое другое.

Подключайтесь к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.

Читать дальше →
Рейтинг 0
Просмотры 66
Комментарии 0

Новости

Босяцкий кластер высокой доступности

Высокая производительность *Системное администрирование *Nginx *Сетевые технологии *
Перевод
Tutorial

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

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 296
Комментарии 0

Подходы к декомпозиции бэкендов информационных систем

Совершенный код *Проектирование и рефакторинг *ООП *

Количество классов в реализации даже небольшой программы на один человеко-месяц исчисляется десятками. В средних программах на несколько человеко-лет счёт идёт уже на тысячи. А человек может одновременно оперировать 7-ю +/- 2 объектами. Поэтому все нетривиальные программы требуют декомпозиции своей реализации на более крупные блоки, чем классы - я буду называть такие блоки пакетами.

Сейчас наиболее распространены два основных подхода к декомпозиции систем: пакетирование по слоям и техническим аспектам (далее просто "по слоям" для краткости) и пакетирование на основе предметной области (представленное группой вариантов: пакетирование по фичам, пакетирование по компонентам, ограниченные контексты и пакетирование по агрегатам из предметно-ориентированного дизайна (DDD))

Однако ни один из этих подходов мне не подошёл в полной мере и я изобрёл…​ объектно-ориентированный подход к декомпозиции систем. Точнее, я изобрёл простую методику выполнения декомпозиции, а потом понял, что на выходе она даёт штуки обладающие свойствами объекта.

Но обо всём по порядку - сначала я рассмотрю критерии оценки подходов, распространённые подходы и почему они мне не подошли. А закончу пост представлением методики выполнения объектно-ориентированной декомпозиции.

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 214
Комментарии 0

Как я стал пентестером за 4 месяца без опыта работы в IT cфере

Информационная безопасность *Карьера в IT-индустрии CTF *
Из песочницы

Привет, Хабр! Меня зовут Кошевой Данила и мне 22 года. На данный момент живу и работаю в Москве. В июне 2022 года я получил работу в сфере ИБ в качестве Junior Pentester. Интересным является то, что за 4 месяца до выхода на работу я даже не знал о том, что из себя представляет сфера информационной безопасности, какие знания требуются на рынке, какие технологии используются, а также понятия не имел о том, кто такой “Pentester” и чем он занимается.

У вас наверно возникает вопрос: “Как же у тебя получилось вкатиться в IT сферу с 0 знаниями за 4 месяца???”. Именно на этот вопрос я отвечу в этой статье, дам полезные советы и поделюсь обучающими ресурсами с людьми, которые хотят заполучить свою первую работу в сфере ИБ, не имея при этом 10 лет опыта работы за плечами.

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 1K
Комментарии 1

Postgresso #7 (44)

Блог компании Postgres Professional PostgreSQL *

ИТ-инфраструктура — это как водопровод, без неё жизнь уже почти невозможна. И мы продолжаем выпускать Postgresso.



Релизы и коммитфесты Postgres


PostgreSQL 15 Beta 3


Третья бета закрывает неожиданно обнаруженную дыру в безопасности. Ситуация объяснена в пресс-релизе и вот в этой статье Дэна Гарсии (Dan Garcia, EDB), но на наш взгляд яснее всего суть изложил Том Лейн (Tom Lane) в рассылке pgsql-committers (перевод с некоторыми вольностями):

Раньше, если скрипт расширения отрабатывал CREATE OR REPLACE, и такой объект уже существовал, но принадлежал расширению, то оно переписывало объект как часть расширения. При этом права на объект не переписывались, а наследовались. Это могло случаться и неумышленно, что тоже плохо, но злостный пользователь мог заранее создать объект с нужным именем, ожидая, что кто-то установит расширение, и тогда у атакующего будут права на переписанный объект, который можно будет модифицировать для атаки. Поэтому следует запретить операции CREATE OR REPLACE с объектами, не принадлежащими расширению. По этой же причине и CREATE IF NOT EXISTS не должна работать, когда уже есть объект с таким именем, не принадлежащий расширению.

Также исправлено ещё 40 багов. Обновлены PostgreSQL 14.5, 13.8, 12.12, 11.17, 10.22. Ветка 10.x скоро будет выведена из оборота. Общедоступная версия (general availability) намечена на конец 3-го квартала. Вся функциональность 15-й версии по сравнению с предыдущими перечислена здесь.

Читать дальше →
Рейтинг 0
Просмотры 360
Комментарии 1

Необычный Python в обычных библиотеках

Блог компании SkillFactory Python *Программирование *Django *
Перевод


Специалист в Data Science из Amazon буквально прочитал код самых распространённых библиотек Python. В этом материале он делится секретами работы с Python, о которых узнал из этих библиотек. За подробностями приглашаем под кат к старту нашего флагманского курса по Data Science:

Узнать больше
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1K
Комментарии 0

Восстановление Биткоин Кошелька через короткие подписи ECDSA

Децентрализованные сети *Криптография *Python *GitHub *Разработка для интернета вещей *
Recovery mode

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

Почему же эти подписи ECDSA называются короткими?

Ответ на этот вопрос вы можете получить из обсуждаемой темы: "Самая короткая подпись ECDSA" [The shortest ECDSA signature]

В прошлой нашей статье: "Уменьшение приватного ключа через скалярное умножение используем библиотеку ECPy + Google Colab" мы создали Python-скрипт: maxwell.py который сгенерировал для нас довольно интересный публичный ключ

(0x3b78ce563f89a0ed9414f5aa28ad0d96d6795f9c63 , 0xc0c686408d517dfd67c2367651380d00d126e4229631fd03f8ff35eef1a61e3c)

Как мы знаем значение сигнатуры "R" это и есть публичный ключ от секретного ключа (Nonce)

Взгляните на Blockchain транзакцию: 11e6b169701a9047f3ddbb9bc4d4ab1a148c430ba4a5929764e97e76031f4ee3

RawTX:

0100000001afddd5c9f05bd937b24a761606581c0cddd6696e05a25871279f75b7f6cf891f250000005f3c303902153b78ce563f89a0ed9414f5aa28ad0d96d6795f9c6302200a963d693c008f0f8016cfc7861c7f5d8c4e11e11725f8be747bb77d8755f1b8012103151033d660dc0ef657f379065cab49932ce4fb626d92e50d4194e026328af853ffffffff010000000000000000016a00000000

Размер этой транзакции всего лишь: 156 байт

Как можно восстановить Биткоин Кошелек через короткие подписи ECDSA?

В криптоанализе блокчейна криптовалюты Bitcoin мы используем собственный Bash-скрипт: btcrecover.sh

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 618
Комментарии 1

Очередной заход на Гипотезу Коллатца. Простая арифметика, ориентированные графы и прямая генерация нечётных чисел

Программирование *Математика *
Из песочницы

Нельзя просто так взять и пройти мимо мемных математических проблем.

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

Продолжать
Всего голосов 8: ↑4 и ↓4 0
Просмотры 1.3K
Комментарии 7

Как создать dApp за три шага

Solidity *Распределённые системы *Криптовалюты
Перевод

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

В этом техническом руководстве вы узнаете как создать простой dApp, который позволяет пользователю получать и хранить текущую цену Ethereum в смарт-контракте. Готовую демонстрационную версию можно найти на GitHub.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 733
Комментарии 0

IndexDict — как получить значение из dict по индексу?

Python *
Recovery mode

Пропустим прелюдия, и не будем объяснять зачем это нужно. Будем прям как математики - сразу перейдем к делу.

Вам нужна структура данных которая и в словарь может и в индексы тоже ? Так вот же она:

(Её плюс - Обращение к элементу по индексу и ключу O(1), Нет большого оверхеда на хранение значений в словаре и в списке, так как это одни и те же объекты)

Читать далее
Всего голосов 8: ↑0 и ↓8 -8
Просмотры 974
Комментарии 6

Как связать Rstudio с Github: актуально для пользователей Mac OS

R *GitHub *
Tutorial

В данной заметке рассмотрим, как связать Rstudio с вашим аккаунтом на Github. Отмечу сразу, данная заметка подойдет тем, кто работает через операционную систему mac os.

Мы будем исходить из трех ограничений.

Читать далее
Всего голосов 7: ↑4 и ↓3 +1
Просмотры 563
Комментарии 0

Работа для гейм-дизайнера: как составить резюме и портфолио, чтобы устроиться в игровую студию

Блог компании MY.GAMES Разработка игр *Дизайн игр *Игры и игровые консоли

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

В этом тексте сотрудники MY.GAMES рассказали, на что они обращают внимание при просмотре резюме, а также дали несколько советов, как произвести хорошее впечатление на потенциального работодателя.

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 1.1K
Комментарии 0

Массажер для головы на базе платформы Стюарта

Блог компании RUVDS.com Программирование микроконтроллеров *3D-принтеры DIY или Сделай сам
Перевод
Tutorial

Целью этого проекта было превратить массажер головы в автоматизированное устройство, которое бы само делало мне массаж. Изначальной задумкой было просто использовать линейный привод или один шаговый двигатель с резьбовой шпилькой для реализации движения вверх/вниз. Однако меня понесло, и я решил сделать так, чтобы устройство могло осуществлять движение во всех направлениях, для чего и была выбрана платформа Гью-Стюарта, обеспечивающая 6 степеней свободы.

  • Не слишком ли это мудрено? Да!
  • Оказалось ли это дорого? Да!
  • Я ненормальный? Да!

Все программные и аппаратные файлы доступны на GitHub
Читать дальше →
Всего голосов 20: ↑20 и ↓0 +20
Просмотры 2.3K
Комментарии 6

От Шёлкового Пути — to the Road to Silicon: в Средней Азии есть RTL-дизайнеры

Высокая производительность *FPGA *Программирование микроконтроллеров *Производство и разработка электроники *Процессоры

Оказывается, в Кыргызстане, который в 11 веке стоял аккурат посередине Великого шёлкового пути, спустя тысячу лет появились проектировщики цифровых схем на уровне регистровых передач. Во время семинара «Модели бизнеса и основы технологий микроэлектроники для Центральной Азии» мы встретились с инженерами Азаматом Бексадаевым и Бахтияром Кукановым, которые принимали участие в разработке двух блоков на верилоге для международного проекта Parallella. Этот проект был инициирован американской компанией Adapteva, которая сейчас превратилась в Zero ASIC.

Основой технологии Adapteva была решетка из большого количества процессорных ядер внутри одной микросхемы. Ядра имели собственную архитектуру под названием Epiphany и были оптимизированы под энергоэффективные вычисления с плавающей точкой. По микроархитектуре каждое ядро было суперскаляром с внеочередными выполнением инструкций (out-of-order – OoO).

Читать далее
Всего голосов 13: ↑10 и ↓3 +7
Просмотры 1.7K
Комментарии 14

Все, что вам нужно знать об Airflow DAGs, ч.3 — Проектирование DAG

Python *PostgreSQL *Apache *Хранилища данных *Data Engineering *

Поскольку Airflow — это на 100% код, знание основ Python - это все, что нужно, чтобы начать писать DAG. Однако написание эффективных, безопасных и масштабируемых DAG требует учета некоторых моментов, специфичных для Airflow. В этом разделе мы рассмотрим некоторые передовые методы разработки DAG, которые максимально используют возможности Airflow.

В целом, большинство лучших практик, которые мы здесь рассматриваем, относятся к одной из двух категорий:

Читать далее
Всего голосов 2: ↑0 и ↓2 -2
Просмотры 1.1K
Комментарии 3

Во что обернулась пересылка MQTT-сообщений в Telegram?

Программирование *Java *API *

Периодически возникает желание получать уведомления, иметь возможность настраивать источник и фильтровать сообщения по темам, и писать как можно меньше кода. Например, присылать себе картинку/цитату/слово дня или дельту по изменениям ордеров на бирже. В результате получился универсальный инструмент - бот и персональное АПИ для отправки сообщений в Telegram.

Читать далее
Всего голосов 16: ↑9 и ↓7 +2
Просмотры 12K
Комментарии 12

PowerShell, HTML Agility Pack: разбор классов CSS на узле HTML-дерева

CSS *Программирование *PowerShell *HTML *Разработка под Windows *
Tutorial

Я развиваю скрипт на языке PowerShell для обхода и визуализации HTML-дерева из файла на языке HTML для анализа кода HTML на ошибки. В частности, для поиска ошибок при именовании классов CSS. Для этого сначала нужно получить набор классов из атрибута class HTML-элементов, а затем перебрать эти названия классов в цикле. Для разбора HTML я использую библиотеку «HTML Agility Pack». Также я разбираю, как можно обработать ссылки на символы (их еще называют по-английски «HTML-entities») средствами указанной библиотеки.

Читать далее
Рейтинг 0
Просмотры 656
Комментарии 0

Даня снова в «Хакере»! Выясняем у Дани Шеповалова, где он пропадал 20 лет и при чем тут гуси

Блог компании Журнал Хакер Информационная безопасность *Читальный зал

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

Читать интервью
Всего голосов 53: ↑52 и ↓1 +51
Просмотры 12K
Комментарии 16