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

Разработка

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

Xamarin.Forms: Кастомные пины для xamarin.maps

.NET *C# *Xamarin *
Tutorial

В этой статья мы рассмотри пример реализации кастомных пинов для карты xamarin. Пины будут обладать тем видом, который вам нужен. Так же мы рассмотрим часть кода xamarin.maps, отвечающий за создание, отрисовку и отображение пинов.

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

Новости

Шахматы на C++

C++ *Алгоритмы *Логические игры
Tutorial

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

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

Как написать «Змейку» в четыре переменные?

Блог компании SkillFactory Ненормальное программирование *C++ *C *Игры и игровые консоли
Перевод

Пишем классическую «Змейку», как на КДПВ, в четыре переменные. По словам автора, «Можно написать и с двумя, но зачем осложнять себе жизнь?» К старту курса по разработке на С++ приглашаем под кат.

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

Реальная виртуальная реальность. Контролируемые галлюцинации

Разработка под AR и VR *
Recovery mode

Области виртуальной реальности и метавселенных переживают невероятный хайп, начавшийся в 2021 году. Технологические гиганты пустились в гонку за создание лучшей метавселенной и лучших VR-девайсов. И текущий вид шлемов виртуальной реальности пока вызывает немало вопросов: они громоздкие и неудобные, в них потеет лицо и они вызывают укачивание у некоторых людей и быстрое наступление усталости у большинства. Да и сама виртуальная реальность часто вызывает вопросы, ведь графика в ней значительно уступает обычным видеоиграм и реальность включает в себя не только визуальные образы. А тут еще Илон Маск в Твиттере написал, что ходить с телевизором на лице - не самая лучшая идея. Конечно, он это писал, намекая, что его проект Neuralink сможет перевернуть игру и погружать людей в виртуальную реальность намного более удобным способом. Только вот есть одна проблема - для этого придется вживлять в мозг электроды через отверстие в черепе. По-моему, так себе перспектива. И я начал размышлять об альтернативных возможностях погружения виртуальную реальность, более удобных и безопасных для здоровья. Итак, наш сегодняшний герой - управляемые галлюцинации.

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

Я нанял AI иллюстратора в свой стартап

Машинное обучение *Графический дизайн *Развитие стартапа Искусственный интеллект

Это очередной пост с красивыми картиночками из DALL-E

Мы нашли им применение, использовав в мобильном приложении своего стартапа, вместо найма живого иллюстратора, и это сработало.

К картиночкам
Всего голосов 18: ↑11 и ↓7 +4
Просмотры 3.1K
Комментарии 8

Личный опыт: переезд на собственное хранилище репозиториев в GitLab CE

Информационная безопасность *Разработка веб-сайтов *Разработка под iOS *Разработка под Android *Хранение данных *

На связи Саша Хрущев, технический директор IT-компании WINFOX. Рассказываю, как мы быстренько развернули свое независимое локальное хранилище репозиториев в GitLab CE, сколько времени это заняло и какие особенности вам нужно учитывать при переезде, чтобы все прошло гладко. 

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

Tkinter, раскрытие потенциала. + Игра на рабочем столе

Python *Разработка под Windows *
Из песочницы

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

ВАЖНО! Tkinter - не лучшее решение для создания больших приложений. И по большей части эта статья нацелена на начинающих программистов, которые уже имеют представление о библиотеке и хотят рыть дальше.

Если вы плохо знакомы с Tkinter, вот прекрасный курс, рекомендую >>>

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

Создаём своё объектное хранилище за чаc

Блог компании VK Хранилища данных *Tarantool *


Привет! Меня зовут Артем Гаврилов и я работаю в Tarantool. Сегодня я расскажу, как быстро создать объектное хранилище на основе платформы in-memory вычислений Tarantool и распределённой файловой системы IPFS (InterPlanetary File System).


Мы рассмотрим пример шардирования стороннего приложения с помощью Tarantool и сделаем MVP объектного хранилища с отказоустойчивостью на уровне ЦОДа, в то время как более простые решения отказоустойчивы только на уровне нескольких серверов.


Тем, кто знаком с IPFS, вероятно, будет интересно читать начиная с раздела «С чем мы столкнёмся».

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

«Золотой стандарт» или что умеют современные Deception-решения: развертывание, реалистичность, обнаружение. Часть 2

Блог компании R-Vision Информационная безопасность *Сетевые технологии *
Tutorial

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

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

Python WebAssembly PyScript и хостинг вебсайта на Azure Static с помощью visual studio code

Python *WebAssembly *
Из песочницы

Привет

Сегодня мы создадим небольшое приложение .py и загрузим его в Azure.

Требования: учетная запись Azure + желание узнавать новое и экспериментировать. Также нужен VSCode (бесплатная IDE).

Когда мы закончим, мы получим...

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

Динамический импорт модулей в Python

Блог компании Sportmaster Lab Python *Программирование *Системы сборки *

Давайте представим ситуацию, когда вам нужно установить на все виртуальные машины (агенты сервера сборки) определенный пакет Python. Но вы не можете изменить образ агента, а загрузка, к примеру из pypi.org или github.com непроверенных пакетов, ограничена. Как тут не вспомнить последние новости про вредоносные изменения в пакете nmp или более свежую информацию про PyPi.

Python использует подход под названием EAFP — Easier to ask for forgiveness, than permission (легче попросить прощения, чем разрешения). Это значит, что проще предположить, что что-то существует (к примеру, словарь в словаре, или в нашем случае модуль в системе) или получить ошибку в противном случае.

Этот подход, развитый в PEP-0302, позволяет делать хук импорта модулей, что в итоге приводит нас к возможности написания следующего кода:

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

Алгоритм обучения CBOW архитектуры для векторизации слов

Блог компании Unistar Digital | Юнистар Диджитал Семантика *Математика *Машинное обучение *Natural Language Processing *

В этой статье подробно разбирается алгоритм обучения архитектуры CBOW (Continuous Bag of Words), которая появилась в 2013 году и дала сильный толчок в решении задачи векторного представления слов, т.к. в первый раз на практике использовался подход на основе нейронных сетей. Архитектура CBOW не столь требовательна к наличию GPU и вполне может обучаться на ЦП (хотя и более медленно). Большие готовые модели, обученные на википедии или новостных сводках, вполне могут работать на 4-х ядерном процессоре, показывая приемлемое время отклика.

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

Дроны на «Северстали» или как мы цифровизовали маркшейдинг

Блог компании Северсталь Анализ и проектирование систем *Промышленное программирование *Управление продуктом *Инженерные системы *

Когда любишь свою работу, идея по ее улучшению может прийти в голову в любой момент. Так и произошло в 2016 году, когда я увидел обычный бытовой дрон, который соседи по даче купили своему ребенку. Я попробовал поуправлять квадрокоптером на участке, а он в какой-то момент улетел за сарай, где в узком проходе между забором лежали доски. С той точки, где я находился, их было не видно, но дрон их снял на камеру с отличным качеством. И вдруг я понял: коптеры можно использовать для осмотра и съемки труднодоступных конструкций на территории предприятия! 

Меня зовут Горбунов Михаил, я — главный инженер центра «Домнаремонт», который входит в дивизион «Северсталь». Сегодня я расскажу о применении беспилотников для сбора информации и контроля некоторых видов работ на комбинате.

Полетели!
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 1.6K
Комментарии 3

Проверяем, есть ли у нативной JavaScript‑функции манкипатч

JavaScript *
Из песочницы
Перевод

Как можно понять, была ли переопределена нативная JavaScriptфункция? Никак — или не совсем надежно. Способы есть, но полностью доверять им нельзя.

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

OAuth в iOS

Блог компании KTS Разработка под iOS *Разработка мобильных приложений *Swift *
Tutorial

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

В мобильных приложениях используется Authorization Code Flow with Proof Key for Code Exchange (PKCE). Подробнее о выборе flow читайте в нашей предыдущей статье. Эта статья является продолжением.

Сегодня мы рассмотрим вариант реализации OAuth-авторизации с помощью библиотеки AppAuth-iOS. Она одна из самых популярных и довольна проста в использовании. Весь код из статьи доступен в Github.

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

Data Science Pet Projects. FAQ

Блог компании Open Data Science Data Mining *Машинное обучение *Управление проектами *Искусственный интеллект

Привет! Меня зовут Клоков Алексей, сегодня поговорим о пет-проектах по анализу данных. Идея написать эту статью родилась после многочисленных вопросов о личных проектах в сообществе Open Data Science (ODS). Это моя третья статья на Хабре, до этого делал разбор алгоритма SVM и рассказывал о крутом NLP курсе от ребят из DeepPavlov. Итак, дадим определение пет-проекта и разберем частые вопросы:


Data science pet project – это внерабочая активность, целью которой является решение некоторой задачи с помощью обработки данных, улучшающая ваши профессиональные навыки


  1. Зачем делать пет-проекты?
  2. Из каких этапов может состоять разработка пет-проекта?
  3. Как выбрать тему и найти данные?
  4. Где найти вычислительные ресурсы?
  5. Как завернуть работающие алгоритмы в минимальный прод?
  6. Как оформить презентабельный вид проекта?
  7. Как и зачем искать коллабораторов?
  8. Когда проходит ODS pet project хакатон?
  9. Где посмотреть примеры пет-проектов и истории участников ODS?

Читать дальше →
Всего голосов 27: ↑27 и ↓0 +27
Просмотры 2.1K
Комментарии 6

Нагрузочное тестирование: что? где? когда?

Блог компании ITSumma Высокая производительность *Системное администрирование *Серверное администрирование *DevOps *

После весны 2020 года слово “тестирование” приобрело некоторые неожиданные значения и неоднозначные коннотации — пожалуй, везде, кроме IT. В нашей сфере без него никуда — и так было всегда.

Видов тестирования ПО — множество: модульное, функциональное, А/В-тестирование, интеграционное, нагрузочное и т д. И на наш взгляд, как раз последнее является как самым важным, так и наиболее сложным. Ведь если ошибки, которые могут быть выявлены с помощью A/B-тестов, модульных, функциональных и интеграционных тестов, проявляются практически сразу после “выкатки” новой версии приложения, то проблемы, на выявление которых нацелено нагрузочное тестирование, — “спящие”. И обнаруживаются они только тогда, когда на новую версию вашего сайта или приложения придет реальный пользовательский трафик, с которым не справится “софтверная” часть проекта (база данных, application-сервер) или “железно-инфраструктурная” (нехватка оперативной памяти в кластере, большая нагрузка на дисковую подсистему при операциях чтения-записи).

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

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

Эскалация привилегий при помощи polkit: как заполучить root-доступ в Linux, воспользовавшись семилетним багом

Блог компании Timeweb Cloud Информационная безопасность *Open source *GitHub *Разработка под Linux *
Перевод

polkit – это системный сервис, по умолчанию устанавливаемый во многих дистрибутивах Linux. Он используется демоном systemd, поэтому в любом дистрибутиве Linux, где применяется system, также используется polkit. Автор этой статьи, входя в состав a GitHub Security Lab, работает над улучшением безопасности опенсорсного софта; он ищет уязвимости и докладывает о них. Именно он однажды нашел уязвимость в polkit, позволяющую злоумышленнику увеличить его привилегии. Раскрытие уязвимости было скоординировано с командой по поддержке polkit, а также с командой по обеспечению безопасности в компании Red Hat. О раскрытии этой уязвимости было объявлено публично, патч для нее был выпущен 3 июня 2021 года, и ей был присвоен код CVE-2021-3560.

Эта уязвимость позволяет непривилегированному пользователю, работающему на локальном ПК, получить root-доступ к командной оболочке системы. Такой эксплойт несложно осуществить при помощи нескольких стандартных инструментов командной строки, как показано в этом коротком видео. В данном посте будет объяснено, как устроен этот эксплойт, а также показано, где именно в исходном коде находится этот баг.

История уязвимости CVE-2021-3560 и какие дистрибутивы она затронула

Рассматриваемый баг достаточно старый. Он вкрался в код более восьми лет назад в коммите bfa5036 и впервые мог использоваться в версии 0.113 программы polkit. Однако, во многих популярных дистрибутивах Linux эта уязвимая версия не использовалась до относительно недавнего времени.

Немного специфической историей этот баг обладает в Debian и его производных (например, в Ubuntu), так как Debian использует форк polkit, в котором есть своя особенная схема нумерации версий. В форке Debian этот баг появился в коммите f81d021 и впервые попал в дистрибутив в версии 0.105-26. В стабильном релизе Debian 10 (“buster”) используется версия 0.105-25, таким образом, уязвимости в нем нет. Но некоторые производные Debian, в том числе, Ubuntu, основаны на нестабильной версии Debian, а она уязвима.

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

CVE 2022-0847: Исследование уязвимости Dirty Pipe

Блог компании T.Hunter Информационная безопасность *
Перевод

Предисловие

Данная статья является переводом англоязычного исследования, посвященного
разбору уязвимости Dirty Pipe и непосредственно эксплоита, позволяющего ею
воспользоваться для локального повышения привилегий.

Оригинал

Введение

Уязвимость Dirty Pipe была обнаружена в ядре Linux исследователем Максом
Келлерманном(Max Kellermann) и описана им здесь. Несмотря на то, что статья
Келлерманна - отличный ресурс, содержащий всю необходимую информацию для
понимания ошибки ядра, все таки она предполагает некоторое знакомство с ядром
Linux.

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

Проблема с использованием тега img и picture в Safari

Разработка веб-сайтов *Программирование *Safari Браузеры ReactJS *
Из песочницы

Данная статья описывает баг и его решения в контексте ReactJS + Server-Side Rendering, но это также актуально для всех фреймворков большой тройки так и для чистого JS.

При разработке сайта мы столкнулись с проблемой, что при использовании тега <img> на некоторых страницах Safari загружал изображение несколько раз вместо одного. Для отображения картинок мы использовали тег <img> с атрибутом srcset, что бы показывать картинки разного разрешения для экранов с высоким ppi.

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