Search
Write a publication
Pull to refresh
3
0.7

User

Send message

Как сделать автоматическое обновление клиента онлайн-игры

Reading time5 min
Views13K
В этой статье я расскажу о том, как я сделал систему автообновления клиентской онлайн-игры. Ссылка на исходники (Delphi) в конце статьи. На самом деле такую фичу я реализовал в двух своих играх, и если первый блин вышел немного комом (в игре Spectromancer), то вторая реализация получилась весьма удобной и эффективной. Это моя первая статья на Хабре, так что сильно не бейте, а лучше укажите на недостатки в комментариях :)

Алгоритм обновления игры


  • Проверка версии на необходимость обновления.
  • Скачивание списка файлов актуальной версии.
  • Скачивание новых или изменённых файлов во временную папку.
  • Установка обновления — приведение файлов установленного клиента в соответствие со списком.
  • Запуск обновлённого клиента.
Читать дальше →

Бесплатный курс «Cisco ASA Administrator»

Reading time3 min
Views35K


Нехватка IT-специалистов. Уверен, что многие системные интеграторы, да и обычные компании, сталкиваются с этой проблемой. В данном случае я имею ввиду «сетевиков» и «безопасников». Вроде и ВУЗы уже несколько лет увеличивают набор студентов на профильные специальности, а дефицит не уменьшается и даже растет. Да и скажем прямо, качество специалистов сразу после университета оставляет желать лучшего (конечно есть и исключения). И это вовсе не вина самих студентов, просто наша текущая система образования не дает практические навыки в полной мере. Именно поэтому мы уже несколько лет подряд берем студентов 3-х, 4-х курсов к себе на стажировку. И практически каждый год оставляем себе одного-двух талантливых инженеров. Если интересен формат стажировки, то можно ознакомиться с ним здесь, а сейчас речь не об этом.

Обычно, в качестве первого практического задания мы даем студентам Курс молодого бойца, который неожиданно для меня, стал весьма популярным в рунете. После этого мы переходили к более профильным вещам (мы все же занимаемся security): Check Point, Fortinet, Splunk, Kali-Linux. Однако, вскоре стало понятно, что это слишком резкий переход — от обычных сетей, сразу к таким сложным продуктам информационной безопасности. Скажем прямо, тот же Check Point, не самый лучший вариант для ознакомления с Межсетевыми экранами. Нужно было начинать с чего-нибудь попроще. Именно поэтому мы начали создавать курс “Cisco ASA Administrator”. Мы сразу решили, что сделаем этот курс открытым и запустим на канале NetSkills, просто потому что там больше подписчиков, а значит его увидят большее кол-во людей. Почему именно этот курс и о чём он, мы расскажем ниже.

Курс «Разработка на Java» от Mail.Ru Group на канале Технострим

Reading time4 min
Views20K


Этой весной мы выложили на канале Технострим запись курса по Java. Уже несколько семестров подряд он читается в рамках образовательного проекта Техносфера, реализуемого компанией Mail.Ru Group совместно с МГУ им. М. В. Ломоносова. Курс включает все темы, необходимые начинающему разработчику в мире Java. Авторы не углубляются в детали синтаксиса, а сразу берутся за практические задачи: разработку игры с консольным интерфейсом и функционального чата. В конце курса разбираются частые вопросы из собеседований на позиции junior и middle Java-developer.

Записи лекций и материалы курса бесплатны и доступны всем желающим.

Большинство домашних заданий можно выполнить и проверить в репозитории курса.
Читать дальше →

Анатомия рекомендательных систем. Часть первая

Reading time14 min
Views85K
Я работаю дата-саентистом в компании CleverDATA. Мы занимаемся проектами в области машинного обучения, и один из наиболее частых запросов на разработку основанных на машинном обучении маркетинговых решений — это разработка рекомендательных моделей.

В данной статье я расскажу о рекомендательных системах, постараюсь дать максимально полный обзор существующих подходов и на пальцах объясню принципы работы алгоритмов. Часть материала базируется на неплохом курсе по рекомендательным системам лаборатории MovieLens (которая большинству знакома по одноименному датасету для тестирования рекомендаций), остальное – из личного опыта. Статья состоит из двух частей. В первой описана постановка задачи и дан обзор простых (но популярных) алгоритмов рекомендаций. Во второй статье я расскажу о более продвинутых методах и некоторых практических аспектах реализации.

Источник
Читать дальше →

Deep Learning: Распознавание сцен и достопримечательностей на изображениях

Reading time11 min
Views8.8K
Время пополнять копилку хороших русскоязычных докладов по Machine Learning! Копилка сама не пополнится!

В этот раз мы познакомимся с увлекательным рассказом Андрея Боярова про распознавание сцен. Андрей — программист-исследователь, занимающийся машинным зрением в компании Mail.Ru Group.

Распознавание сцен — одна из активно применяемых областей машинного зрения. Задача эта посложнее, чем изученное распознавание объектов: сцена — более комплексное и менее формализованное понятие, выделить признаки труднее. Из распознавания сцен вытекает задача распознавания достопримечательностей: нужно выделить известные места на фото, обеспечив низкий уровень ложных срабатываний.

Это 30 минут видео с конференции Smart Data 2017. Видео удобно смотреть дома и в дороге. Для тех же, кто не готов столько сидеть у экрана, или кому удобней воспринимать информацию в текстовом виде, мы прикладываем полную текстовую расшифровку, оформленную в виде хабростатьи.


Перейти к текстовой версии

Добавляем шифрование и push в обычный SIP

Reading time4 min
Views16K


Привет Хабр! В этой статье мы хотели бы осветить несколько проблем SIP при использовании на мобильном устройстве, о которых как правило не знают или не догадываются пользователи.

Одна из главных проблем — если вы пользуетесь каким-либо SIP провайдером ( или собственной IP АТС ) на смартфоне, то с уверенностью в 99% можно сказать что ваши данные незашифрованы.

Наверное многие делали простую вещь — снифили трафик от SIP устройств, чтобы найти причину какой-либо неработоспособности VOIP соединения.

На практике это означает что и все ваши переговоры по SIP могут быть также легко заснифены, восстановлены и прослушаны на стороне мобильного клиента и сделать это довольно легко.
Читать дальше →

Ричард Хэмминг: Глава 10. Теория кодирования — I

Reading time11 min
Views15K
«Цель этого курса — подготовить вас к вашему техническому будущему.»

imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2442 в закладки, 394k прочтений)?

Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Мы ее переводим, ведь мужик дело говорит.

Это книга не просто про ИТ, это книга про стиль мышления невероятно крутых людей. «Это не просто заряд положительного мышления; в ней описаны условия, которые увеличивают шансы сделать великую работу.»

Мы уже перевели 28 (из 30) глав. И ведем работу над изданием «в бумаге».

Теория кодирования — I


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

Для упрощения проблемы представления информации рассмотрим проблему передачи информации от точки к точке. Этот вопрос связан с вопросом сохранения информация. Проблемы передачи информации во времени и в пространстве идентичны. На рисунке 10.1 представлена стандартная модель передачи информации.

image

Рисунок 10.1
Читать дальше →

Пишем свой протокол поверх UDP

Reading time24 min
Views44K
Первые прямые трансляции с места событий появились в России почти 70 лет назад и вели их из передвижной телевизионной станции (ПТС), которая внешне походила на «троллейбус» и позволяла вести эфиры не из студии. А всего лишь три года назад Periscope позволил вместо «троллейбуса» использовать мобильный телефон.

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


Еще через полгода, летом 2016, Одноклассники запустили свое мобильное приложение OK Live для стриминга, в котором постарались решить эти проблемы.

Александр Тоболь отвечает за техническую часть видео в Одноклассниках и на Highload++ 2017 рассказал про то, как писать свой UDP протокол, и зачем это может потребоваться.

Из расшифровки его доклада вы узнаете все про другие протоколы стриминга видео, какие есть нюансы, и про то, какие уловки иногда требуются.


Говорят, что надо всегда начинать с архитектуры и ТЗ — якобы без этого нельзя! Так и сделаем.

Выпуск#20: ITренировка — актуальные вопросы и задачи от ведущих компаний

Reading time4 min
Views8.3K
Продолжаем публиковать интересные задачи и вопросы с собеседований в различные IT-компании мира.

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

Теговые файловые менеджеры. Сравнительный обзор

Reading time20 min
Views60K

Где же была эта чертова картинка?! Я сто раз натыкался на нее, пока она была не нужна!

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

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

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

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

Какие удобства предлагают нам наиболее известные файловые менеджеры с поддержкой тегов?
Читать дальше →

Использование libpam при настройке SOCKS сервера Dante

Reading time2 min
Views12K
Всем доброго дня. Столкнувшись с необходимостью настроить SOCKS5 я обнаружил, что в интернетах и в частности на Хабре при настройке авторизации для dante-server используется метод «username».

Этот метод отнюдь не является безопасным. Об этом не раз писалось ( например ) и приводилось множество сравнений с 3proxy который для авторизации использует отдельный файл паролей. Кого интересует реализация данной возможности в Dante прошу под кат.
Читать дальше →

Чем новый год нам грозит. Хронология отважной борьбы правительства и ФТС с зарубежными интернет-покупками

Reading time8 min
Views36K


Кому чем запомнится 2017 год, а у нас в Pochtoy.com он навсегда будет связан со странными решениями в области онлайн-покупок. Каждые пару месяцев выходил новый закон, к которому мы были вынуждены адаптироваться. Начиная от ограничения VPN и заканчивая налогом на всю ввозимую электронику, храбрые борцы и запретители без передышки выдавали новые и новые законы, вынуждая нас адаптироваться на бегу. Мы решили посмотреть на самые резонансные идеи из недавнего прошлого, и дать свой прогноз на будущее.

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

Двенадцать советов по повышению безопасности Linux

Reading time8 min
Views55K
imageМы живём в опасное время: едва ли не каждый день обнаруживаются новые уязвимости, на их основе создают эксплойты, под ударом может оказаться и обычный домашний компьютер на Linux, и сервер, от которого зависит огромная организация.

Возможно, вы уделяете внимание безопасности и периодически обновляете систему, но обычно этого недостаточно. Поэтому сегодня мы поделимся двенадцатью советами по повышению безопасности Linux-систем на примере CentOS 7.
Читать дальше →

Краткий курс машинного обучения или как создать нейронную сеть для решения скоринг задачи

Reading time28 min
Views225K
image

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

Если тебе интересно машинное обучение, то приглашаю в «Мишин Лернинг» — мой субъективный телеграм-канал об искусстве глубокого обучения, нейронных сетях и новостях из мира искусственного интеллекта.

Вопросы, которые разобраны в статье:

• Как собрать и подготовить данные для построения модели?
• Что такое нейронная сеть и как она устроена?
• Как написать свою нейронную сеть с нуля?
• Как правильно обучить нейронную сеть на имеющихся данных?
• Как интерпретировать модель и ее результаты?
• Как корректно оценить качество модели?
Поехали!

Как написать свой первый Linux device driver. Часть 2

Reading time10 min
Views14K
Привет хаброчитателям!

В предыдущей части мы рассмотрели базовые структуры, а также написали инициализацию и удаление устройства.

В данной статье мы добавим в наш драйвер функции открытия scull_open, чтения/записи scull_read/scull_write и получим первый рабочий драйвер устройства.



Хочу выразить благодарность всем пользователям, которые прочитали, лайкнули и прокомментировали мою предыдущую статью. Отдельное спасибо за уточнения Kolyuchkin и dlinyj.



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

Сразу к делу!
Читать дальше →

Настраиваем интернет шлюз с прозрачным обходом блокировок (а рекламу таки будем блокировать)

Reading time9 min
Views109K


У вас есть старенький (или не очень) компьютер с двумя сетевыми картами? Вам надоела реклама и лишние телодвижения для обхода блокировок? Вы не хотите с этим мириться? Тогда добро пожаловать под кат.
Читать дальше →

Десктопные GUI-тесты на Python. Лекция в Яндексе

Reading time13 min
Views29K
Василий Рябов vasily-v-ryabov из компании Aquantia объясняет, как с помощью Python можно наладить тестирование десктопных интерфейсов. Из лекции вы узнаете об инструментах open source и поддержке accessibility-технологий в библиотеке pywinauto. Видео и расшифровка в основном предназначены для тех, кто занимается тестированием софта для Windows, но про Linux и macOS автор тоже немного рассказывает.


Пробуем бесплатный ProtonVPN на iOS

Reading time3 min
Views35K

Что такое ProtonVPN


ProtonVPN


ProtonVPN – это сервис Virtual Private Network от разработчиков ProtonMail. ProtonMail — популярный сервис веб-почты с шифрованием, созданный в 2013 году сотрудниками ЦЕРН (Европейская организация по ядерным исследованиям). Серверы и штаб-квартира находятся в Швейцарии.


Самым большим и известным плюсом команды разработчиков является их фокус на конфиденциальности и безопасности. ProtonMail отличается от многих сервисов возможностью end-to-end шифрования писем (по аналогии как в современных мессенджерах). Переписка между пользователями ProtonMail шифруется автоматически всегда. В целом, в интернете у команды очень хорошая репутация.


Поэтому, когда весной 2017 года было объявлено о запуске VPN сервиса от этой же компании, это была значимая новость, обошедшая все IT порталы. Сам сервис запустился летом. Помимо платных аккаунтов, по аналогии с ProtonMail, у сервиса также был заявлен бесплатный tier, но с ограниченной регистрацией. Необходимо было подавать заявку на инвайт. Уже давно присматривался к опции использования VPN (особенно на мобильных устройствах и в условиях риска блокировки любимого мессенджера). Заявку подал в июле. И вот вчера 24 августа пришел инвайт, по которому сразу же зарегистрировался. В сухом остатке, между заявкой на инвайт и его получением прошло примерно чуть больше 1 месяца.

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

Что намазать на зубы, чтобы они не выпали

Reading time8 min
Views194K


Хорошо зафиксированный пациент в анестезии не нуждается

По многочисленным просьбам трудящихся сегодня мы будем заниматься очень важными вопросами:


  • Как правильно мазать зубы пальцем?
  • Хорошо ли растворяются пломбы в кислоте?
  • Почему больно, когда сверлят зубы дрелью без анестезии?
  • Зачем мазать зубы зеленкой?
  • Лечение кариеса на дому
  • Глубокое микрофторирование эмали

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

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

Настраиваем VPN связь посредством l2tp + ipsec c использованием в качестве сервера OpenVZ контейнер

Reading time5 min
Views89K
Здравствуйте,

не так давно командой OpenVZ было выпущено новое ядро с поддержкой ipsec внутри контейнера. Давно хотелось отказаться от стороннего ПО на локальной Windows машине и использовать возможность настройки защищенного VPN канала силами самой системы. В качестве сервера будем использовать Debian 7 контейнер на OpenVZ. В качестве клиента — стандартный VPN клиент Windows. В качестве авторизации — авторизацию по PSK ( по ключу ).
Подробности

Information

Rating
2,062-nd
Registered
Activity