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

Разработка

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

Одна задачка на литкоде

Время на прочтение 2 мин
Количество просмотров 298
Алгоритмы *

Иногда хочется решить задачу просто потому что решение легко проверить, прям сразу для множество вариантов. Взяли список из 25 элементов, отсортировали его, и применили искомую функцию 25 раз, профит. Плюс задачка напоминает обложку тетрадки по арифметике за пятый класс, там где табличка произведений, ну та где находим пятый столбец и седьмой ряд и на пересечений их будет произведение. Там же в табличке видно что 6x6 - это квадрат, а 9x4 это совсем не квадрат (скорее ближе к прямоугольнику) хотя площадь у них равная. Так вот, "литкод" хочет чтобы мы нашли n-ый элемент в данной табличке по возрастанию.

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

Новости

Универсальный Автономный Модуль в Unity

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 60
Unity *C# *
Кейс

Один из секретов быстрой и качественной разработки это унификация. В этой статье мы рассмотрим пример реализации Универсального Автономного Модуля UAM (Universal Autonomous Module). 

В прошлой статье мы уже говорили о концепции модульной архитектуры, если вы еще не знакомы, то переходите по ссылке Модульная архитектура в Unity. Та концепция хоть и имела кучу плюсов, но не подходила ко всем типам проектов/жанрам. Сегодня же мы рассмотрим более распространенный и универсальный подход к реализации модулей. Подобные модули в Unity сообществе иногда называют более обобщенно - ассетами, в статье не будет использоваться такое обобщение. 

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

Цель ясна, осталось расписать задачи и реализовать модуль.

Задачи или же критерии модуля получились следующие:

1) Модуль должен быть универсальным. То есть подходить к любому проекту. 

2) Модуль должен быть автономным. Должен работать не требуя дополнительных пакетов. Он должен самостоятельно функционировать, если его интегрировать в пустой проект.

3) Так как модуль полностью автономный, он имеет свою вьюшку, свой контент: окна, кнопки, звуки итп. Поэтому при необходимости должен легко редактироваться, и не иметь в дальнейшем проблем при обновлении версии модуля.

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

Прогулка по мостам Кёнигсберга с ORtools

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 172
Математика *Машинное обучение *
Кейс

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

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

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

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

Parallel Stream — не панацея или используй с умом (tutorial для начинающих)

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 255
Программирование *Java *Учебный процесс в IT
Из песочницы

Данная статья может быть интересна тем, кто только изучает Stream API, либо набирает практический опыт их использования. В ней раскрывается функционал, плюсы и минусы использования Parallel Stream, но не касаемся использования последовательных Stream API в целом.

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

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

Истории

Простая проверка на компетентность программиста

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 3.1K
Программирование *Управление разработкой *Карьера в IT-индустрии
Аналитика

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

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

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

Читать далее
Всего голосов 21: ↑0 и ↓21 -21
Комментарии 41

RuGPT3. Исследование вариантов циклическим перебором

Время на прочтение 7 мин
Количество просмотров 617
Машинное обучение *Искусственный интеллект Natural Language Processing *

RuGPT3 - коллекция моделей от Сбер
Проводим автоматическое тестирование циклическим перебором вариантов

Работаем в Colab, тестируем Small, Mediub, Large.
Параметры генерации совершенно неоптимизированы - это первый заход, чтобы посмотреть исходную ситуацию и сравнивать по мере улучшения.

Алгоритм тестирования
полный последовательный перебор
10 вопросов
3 модели: Small, Medium, Large
Несколько наборов параметров внутри каждой модели
Реплики сохраняем в гугл-таблице

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

Неравный бой — Tinkoff эквайринг. Рекуррентные платежи

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 1.2K
Платежные системы *Node.JS *TypeScript *
Кейс
Из песочницы

Цель данной статьи:

1. Помочь разработчикам в интеграции

2. Привлечь внимание команды Tinkoff на проблемы связанные с эксплуатацией их API

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 3

GitHub: переименование множества файлов в репозитории

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 2.5K
PowerShell *Git *Системы управления версиями *GitHub *
Туториал

В статье я рассказываю, как в репозитории веб-сервиса «GitHub» можно переименовать сразу множество файлов одним коммитом.

У меня небольшой учебный репозиторий, с которым я работаю через веб-интерфейс. Через веб-интерфейс можно переименовывать файлы по одиночке, но иногда появляется необходимость переименовать сразу много файлов по одному и тому же принципу. Операция переименования состоит из нескольких этапов: клонирование репозитория на свой компьютер, написание скрипта для переименования множества файлов и запуск переименования, создание коммита и отправка изменений в оригинальный репозиторий на «GitHub».

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

Читать далее
Всего голосов 32: ↑2 и ↓30 -28
Комментарии 25

Генерация и валидация чисел по алгоритму Луна

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 1.9K
PHP *Алгоритмы *Laravel *
Обзор

Алгоритм Луна (Luhn algorithm) - это процесс вычисления контрольной цифры для числа в соответствии со стандартом ISO/IEC 7812. Процесс предназначен, в первую очередь, для выявления ошибок, вызванных с непреднамеренным искажением данных. Например, при ручном вводе номера карты или любого другого числа.

Разберём как он работает и рассмотрим инструмент для формирования номеров по алгоритму.

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 7

FaceAuth или как с легкостью встроить FaceID в любое .NET приложение

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 893
.NET *
Из песочницы

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

<h2><font color="#9cc2ce">Пару слов обо мне</font></h2>

Меня зовут Салахетдинов Орхан, и я — .NET-разработчик. Люблю изучать что-то новое в сфере программирования (и не только) и хочу внести свою лепту в развитие open-source. Еще хотел бы добавить, что это моя первая статья, я бы хотел написать еще одну (возможно, и несколько) статей про системы распознавания лиц и как они работают на простом языке. Если будет хороший актив и фидбек, то почему бы и нет? Судите, как хотите, так как я рад любому фидбеку, исключение — тотальная аннигиляция поста (опционально) :)

<h2><font color="#9cc2ce">С чего все началось?</font></h2>

Не так давно, буквально несколько месяцев назад, мне стала любопытна тема computer vision и ее часть — face recognition. Мне всегда нравилась функция FaceID от Apple, так как она очень удобная и практичная, и я подумал: есть ли такая библиотека для платформы .NET? К сожалению, после недолгого ресерчинга я так и не нашел чего-то похожего для .NET. В итоге я решил создать свою библиотеку аутентификации лица. Цель данной библиотеки — прежде всего пиар показать .NET- (и не только) разработчикам, как легко можно использовать Face Authentication в своих проектах.

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

Угроза DoS — обсуждаем уязвимости протокола ICMP

Время на прочтение 3 мин
Количество просмотров 2K
Блог компании VAS Experts Информационная безопасность *

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

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

Волновой алгоритм

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 2.3K
Программирование *C++ *Алгоритмы *
Туториал

Волновой алгоритм — алгоритм поиска пути, алгоритм поиска кратчайшего пути. Принадлежит к алгоритмам, основанным на методах поиска в ширину.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 5

Статистика за июнь по QA вакансиям на HeadHunter

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 2K
Тестирование IT-систем *Тестирование веб-сервисов *Тестирование мобильных приложений *Тестирование игр *Карьера в IT-индустрии
Аналитика

Раз в месяц я и команда вручную собираем статистику по вакансиям тестировщиков на HeadHunter.

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

Сегодня статистика за июнь 2023г.

Посмотреть статистику
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 0

Как сделать Telegram-бота для проверки аптайма своего сервиса на Python (ч.2 алертинг)

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 1.2K
Open source *Python *API *Разработка под Linux *
Туториал

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

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

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 6

Общество полной справедливости и неравенства

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 11K
Математика *

Американские психологи однажды провели потрясающе простой эксперимент.

Человеку дается сто долларов и говорится, что неплохо было бы поделиться ими еще с одним человеком. Второй участник не присутствует ни до, ни во время, ни после эксперимента, то есть может попросту не существовать. Сто долларов между тем совершенно реальны (святым американцы не шутят). В среднем испытуемый отдает из упавшего с неба стольника 25 долларов. Конечно, встречаются жадины, оставляющие все себе, альтруисты, отдающие все до последнего цента, эгалитаристы, делящие все пополам, но средняя цифра именно такова: три четверти себе, четверть – другому. (Наш фирменный главбух, любезная Анна Анатольевна, ни секунды не думая, сказала, что отдала бы половину. Думаю, в бухгалтерии у нас все в порядке).

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

С этими цифрами удивительно перекликаются другие, из уже личного опыта. У меня есть давний приятель, который сразу после школы подался в таксисты и таксует уже лет 25. Он как-то заехал с проблемой со своим навигатором и рассказал между прочим, как устроена служба такси в наших широтах (дело было как раз перед уберизацией всей страны). Понятно, что никаких таксопарков давно не существует, а все фирмы, предоставляющие такие услуги, – обычные колл-центры, с которыми сотрудничают вольнонаемные водители на своих авто. По словам Андрея, фирмы, которые берут за диспетчерские услуги 25% от цены поездки, жадины и захребетники (там были немного другие слова, я адаптировал), а которые 20% – нормальные ребята и именно с такими он и сотрудничает.

Читать далее
Всего голосов 49: ↑45 и ↓4 +41
Комментарии 117

Аудит пользователей AD с помощью Powershell

Время на прочтение 4 мин
Количество просмотров 1K
Блог компании OTUS Разработка под Windows *

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

Для решения этих задач нам может помочь PowerShell, инструмент, который помимо прочего, позволяет легко проводить аудит учетных записей пользователей Active Directory.  Для этих целей мы будем использовать один из самых популярных командлетов Active Directory PowerShell - Get-ADUser. С помощью этого командлета мы можем получить как указанный пользовательский объект, так и выполнить настраиваемый поиск для получения нескольких пользовательских объектов.

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

Ближайшие бесплатные мероприятия по разработке (5 июля — 6 июля 2023)

Уровень сложности Простой
Время на прочтение 1 мин
Количество просмотров 405
Программирование *Учебный процесс в IT Карьера в IT-индустрии Конференции
Дайджест
Читать описание
Рейтинг 0
Комментарии 0

The Game is On: поиск и закрытие уязвимостей на НТО

Уровень сложности Средний
Время на прочтение 15 мин
Количество просмотров 574
Информационная безопасность *Python *Реверс-инжиниринг *CTF *
Туториал

Привет! В прошлый раз я рассказывал про содержательную форензику на НТО по информационной безопасности. В этот раз хотел бы поговорить о новом и еще более интересном формате, встретившемся на этом соревновании – поиске и закрытии уязвимостей!
Устраивайтесь поудобнее и готовьтесь к путешествию…

Поехали!
Всего голосов 3: ↑2 и ↓1 +1
Комментарии 3

Анонимная сеть в 200 строк кода на Go

Уровень сложности Средний
Время на прочтение 15 мин
Количество просмотров 5.6K
Децентрализованные сети *Информационная безопасность *Криптография *Программирование *Go *
Кейс

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

Вследствие этого, можно сказать just-for-fun, у меня появился вопрос: можно ли реализовать анонимную сеть настолько малую, чтобы её программный код смог понять даже начинающий программист за короткое время?

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

Верификация e-mail по протоколу smtp. Узнаем, что почта есть и ждёт писем при помощи python

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 1.8K
Спам и антиспам Python *Email-маркетинг *
Кейс
Перевод

Пригодится для решения задач по организации рассылок, а также как средство предварительной проверки эл. почты при регистрации.

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

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