Как стать автором
Обновить
8
0
Cosmonaut @Cosmonaut

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

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

Рецепты Nginx: авторизация через ЕСИА

Время на прочтение3 мин
Количество просмотров5.6K
Для приготовления авторизации через ЕСИА нам понадобится сам nginx и его плагины encrypted-session, headers-more, auth_request, uuid4, set-misc, echo, json, sign, jwt. (Я дал ссылки на свои форки, т.к. делал некоторые изменения, которые пока не удалось пропихнуть в оригинальные репозитории. Можно также воспользоваться готовым образом.)
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии6

FAQ по теме интеграции с ЕСИА

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


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

Вот о ней и хотелось бы поговорить. Это ознакомительная статья, можно сказать ликбез. Для знакомства людей, которые еще не знают, что при необходимости можно использовать ЕСИА у себя в проектах и идти в ногу со временем вместе с государством. И так, что же это за зверь и как его рассматривает правительство.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии13

Интеграция с ЕСИА на базе oauth2-client (PHP)

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


Представляем yet another PHP-пакет интеграции с ЕСИА — ekapusta/oauth2-esia. Реализован как адаптер к популярному league/oauth2-client.

Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии15

Word2Vec: классификация текстовых документов

Время на прочтение5 мин
Количество просмотров28K
Известная утилита дистрибутивной семантики Word2Vec демонстрирует удивительные результаты и стабильно обеспечивает использующих её специалистов призовыми местами на конкурсах машинной лингвистики. Преимущество утилиты, как впрочем, и её аналогов – Glove и AdaGram, состоит в дешевизне процесса обучения и подготовки обучающих текстов. Но есть и недостатки – представление слов в виде векторов хорошо работает на словах, удовлетворительно на словосочетаниях, так-себе на фразах и вообще никак – на длинных текстах.

В данной статье предлагается к обсуждению подход, позволяющий представить текст любой длины в виде вектора, позволяющий проводить с текстами операции сравнения (вычисления дистанции), сложения и вычитания.
Читать дальше →
Всего голосов 8: ↑5 и ↓3+2
Комментарии4

English notes #1: Заканчивай с этим «very»

Время на прочтение3 мин
Количество просмотров51K
Прим. ред.: Этой статьёй мы начинаем цикл публикаций, посвящённых английскому языку и подготовленных нашим штатным учителем для инженеров компании (в данном случае — на основе видеоурока engVid, JamesESL English Lessons). С одной стороны — нам нужно изучать язык, с другой — нравится это делать, а с третьей — почему бы не разбавить технические материалы своего блога? Ваши отзывы очень приветствуются!

Слово «very» очень популярно в английском языке, да и не только. Однако, употребляя его слишком часто, вы можете прослыть косноязычным или попросту Эллочкой-людоедочкой.



Как известно, в великом романе-эпопее «Война и Мир» Лев Николаевич не совершает повторов на протяжении каждых трех страниц(!). Не это ли искусство? Однако, не будем долго мечтать — let's get down to business.
Читать дальше →
Всего голосов 98: ↑87 и ↓11+76
Комментарии160

Структура белка: введение для айтишников

Время на прочтение17 мин
Количество просмотров156K
Приятно видеть, что хабравчане регулярно интересуется другими предметными областями – например, биологией (более конкретно – структурой и функцией биологических макромолекул). Однако некоторые посты (например, этот), вызывают у специалиста просто физическую боль из-за обилия совершенно диких фактологических ошибок. В этом посте мне хочется рассказать о структуре и функции белка. О том, что мы знаем и о том, чего не знаем, а так же об имеющихся в этой области вычислительных задачах, требующих решения и интересных IT-специалистам. Постараюсь рассказывать сжато и тезисно, чтобы информации было больше, а воды – меньше. Всех, интересующихся структурой белков, прошу под кат, там очень много букв.
Читать дальше →
Всего голосов 146: ↑145 и ↓1+144
Комментарии72

От гордыни до отчаяния: четыре ошибки в продуктовом мышлении

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

Хороший продакт всегда думает о проблемах пользователя, интересах компании и о том, что надо сделать, чтобы обе стороны были довольны. Это и есть продуктовое мышление. Оно помогает принимать решения и находить точки роста. Но даже у опытных менеджеров бывают слепые зоны — незаметные ловушки, которые приводят к ошибкам. Спикер курса Product Owner Weekend Алексей Авдей — директор сайта sberbank.ru, ранее — Chief Product Officer «ЦИАН» и руководитель Яндекс.Маркета, перечислил типичные ошибки на каждом из этапов жизни продукта и рассказал, как с ними бороться.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии0

Попытки сделать изучение алгоритмов поиска пути проще

Время на прочтение8 мин
Количество просмотров25K
Алгоритмы поиска пути — неотъемлемая часть разработки игр. А также различных систем навигации, ориентации и много чего ещё. Но мы сосредоточимся на именно игровой индустрии и алгоритмах, которые в ней применяются.

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

image
Читать дальше →
Всего голосов 46: ↑42 и ↓4+38
Комментарии18

Путь лапласиана. Часть 2

Время на прочтение8 мин
Количество просмотров17K
А не замахнуться ли нам на Эдсгера нашего Дейкстру?



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

В общем случае минимизируемая величина — это необязательно расстояние, — весами ребер графа могут быть стоимости, штрафы, убытки, времена, — любые величины, которые можно складывать. Задача является классической, наиболее простой алгоритм поиска кратчайшего пути дал Э. Дейкстра в 1959 году.
Далее...
Всего голосов 21: ↑18 и ↓3+15
Комментарии0

В поисках пути — царь Салтан осваивает лапласиан

Время на прочтение11 мин
Количество просмотров21K
… Молвит он: «Коль жив я буду, чудный остров навещу, у Гвидона погощу».



В царстве Салтана не без изьяна. Принят закон — не лезть за кордон, да тут князь Гвидон.
Опять прислал поклон, да приглашение на угощение,- надо принимать политическое решение.

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

Было однако одна проблема,- нужен был маршрут или схема. Поскольку никто (кроме Врангеля барона) не знал, как добраться до острова Гвидона. Корабельщики дали карту,- пришлось сесть за парту. Над картой склонился Салтан, — где тут остров Буян? Задача была как будто знакома — проложить путь к острову Гвидона. Но как найти дорогу, когда путей слишком много?

До ночи решал Салтан задачку, в итоге свалился в спячку. Снились ему матрицы и точки, да на болоте кочки. На кочку прыгнул Нео с острова Борнео.
— Если хочешь добраться ко сроку — плыви по максимальному потоку.
— Чего? — Салтан почти проснулся. Но Нео уже в зайца обернулся.
Плывем дальше
Всего голосов 36: ↑31 и ↓5+26
Комментарии6

Опыт обучения школьников программированию

Время на прочтение13 мин
Количество просмотров146K
Примерно полтора года назад компания, в которой я работал, приняла решение начать образовательный проект: готовить будущих программистов со студенческой и даже школьной скамьи. Решение было вызвано как нехваткой квалифицированных программистов в нашем регионе, так и тем, что приходящих выпускников приходится очень многому доучивать – получаемое в вузе образование не полностью отвечает современным реалиям индустрии разработки ПО. Проект взаимовыгодный как для студентов, которые получают возможность познакомиться с промышленным программированием на практике, так и для компании, которая получит через несколько лет квалифицированных специалистов.

Но еще интереснее оказалась часть проекта, ориентированная на работу со школьниками. Я принимаю непосредственное участие именно в этой части, поэтому хочу рассказать о ней.
Читать дальше
Всего голосов 106: ↑99 и ↓7+92
Комментарии164

Как Lisp стал языком программирования для Бога

Время на прочтение12 мин
Количество просмотров79K
Когда программисты обсуждают преимущества тех или других языков программирования, они часто рассуждают о них в прозаических терминах, как об инструментах в наборе различных приспособлений – один больше подходит для системного программирования, другой – для склеивания других программ в целях решения текущей задачи. Так и должно быть. У языков разные сильные стороны, и заявлять, что один язык лучше других языков, не указывая конкретных примеров, — значит, лишь вызывать непродуктивные и резкие споры.

Однако есть один язык, который странным образом вызывает всеобщее уважение: Lisp. Крестоносцы клавиатур, готовые атаковать любого, кто посмеет заявить, что какой-либо язык лучше других, сходятся в том, что Лисп находится на другом уровне. Он выходит за пределы утилитарных критериев, по которым судят другие языки, поскольку средний программист никогда не использовал Лисп для создания чего-либо практического, и, вероятно, никогда не будет этого делать, однако же, уважение к Лиспу настолько глубокое, что ему часто приписывают мифические свойства. Всеми любимые комиксы xkcd изображали таким образом Лисп как минимум дважды: в одном комиксе персонаж достигает Лисп-просветления, которое помогает ему познать фундаментальную структуру Вселенной. В другом старый программист в халате передаёт стопку круглых скобок своему падавану, объясняя, что это – «элегантное оружие для более цивилизованных времён», намекая на присущие Лиспу оккультные возможности Силы.
Читать дальше →
Всего голосов 52: ↑46 и ↓6+40
Комментарии58

Бесплатная GPU Tesla K80 для ваших экспериментов с нейросетями

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


Около месяца назад Google сервис Colaboratory, предоставляющий доступ к Jupyter ноутбукам, включил возможность бесплатно использовать GPU Tesla K80 с 13 Гб видеопамяти на борту. Если до сих пор единственным препятствием для погружения в мир нейросетей могло быть отсутствие доступа к GPU, теперь Вы можете смело сказать, “Держись Deep Learning, я иду!”.


Я попробовал использовать Colaboratory для работы над kaggle задачами. Мне больше всего не хватало возможности удобно сохранять натренированные tensorflow модели и использовать tensorboard. В данном посте, я хочу поделиться опытом и рассказать, как эти возможности добавить в colab. А напоследок покажу, как можно получить доступ к контейнеру по ssh и пользоваться привычными удобными инструментами bash, screen, rsync.

Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии29

Графические процессоры в решении современных IT-задач

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


Графические процессоры (graphics processing unit, GPU) — яркий пример того, как технология, спроектированная для задач графической обработки, распространилась на несвязанную область высокопроизводительных вычислений. Современные GPU являются сердцем множества сложнейших проектов в сфере машинного обучения и анализа данных. В нашей обзорной статье мы расскажем, как клиенты Selectel используют оборудование с GPU, и подумаем о будущем науки о данных и вычислительных устройств вместе с преподавателями Школы анализа данных Яндекс.
Читать дальше →
Всего голосов 22: ↑18 и ↓4+14
Комментарии2

Сокеты в Python для начинающих

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

Предисловие


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



Что это


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

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

Читать дальше →
Всего голосов 75: ↑50 и ↓25+25
Комментарии28

Коллизия хэш-функции MAC-адреса

Время на прочтение4 мин
Количество просмотров65K
Доброго времени суток, коллеги.

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

Читать дальше →
Всего голосов 82: ↑77 и ↓5+72
Комментарии34

Конференция DEFCON 22. Эдриан Креншоу. На чём могут «спалиться» пользователи TOR

Время на прочтение13 мин
Количество просмотров32K
Здравствуйте, меня зовут Эдриан Крэншоу. Я сооснователь компании Derbycon, основатель Irongeek.com, интересуюсь информационной безопасностью и работаю старшим консультантом по безопасности в компании Trusted Sec. Я расскажу вам, как люди размещают свои подлинные документы в Darknet и как из-за этого их становится легко поймать.

Это всем известные истории о людях, которые использовали TOR или другие анонимайзеры и попались в основном из-за пренебрежения правилами OPSEC.

История, которой я присвоил номер 0 – это бомбы, будто бы заложенные в Гарвардском университете в прошлом году. Один парень отправил электронное письмо в разные отделы руководства университета, в том числе службе безопасности и студенческой газете, с указанием мест, в которых находились бомбы: научный центр, Sever холл, Emerson холл, Thayler холл. Он писал, чтобы они действовали быстро, потому что бомбы скоро взорвутся. Сообщение об этом было опубликовано в СМИ 16 декабря 2013 года.

Итак, кем был этот парень? Он использовал «партизанский» почтовый сервис для разовой отправки электронных писем Guerilla Mail и отправил своё письмо через TOR.



Но он не учёл то, что Guerilla Mail помещает оригинальный IP-адрес отправителя в заголовок письма. Например, если вы отправляете письмо из дома, то на нём будет указан IP-адрес вашего домашнего компьютера. На слайде показан пример, где я использовал свой почтовый ящик на irongeek.com, чтобы показать, как это работает. Этот парень подумал об анонимности и использовал TOR, поэтому в его письме был указан IP-адрес сервера TOR. Однако он не учёл, что все узлы TOR, за исключением «мостов», известны и находятся в открытом доступе – они приведены, например, на этом сайте torstatus.blutmagie.de, и легко можно определить, относится ли конкретный компьютер к сети TOR или нет. Если вы не используете «мост», очень легко отследить, кто и откуда присоединился к локальной сети Гарварда и использовал TOR в то время, когда было отправлено письмо с угрозами.
Всего голосов 30: ↑30 и ↓0+30
Комментарии20

Лекции по биоинформатике: анализ данных, нейросети, и их применение в биологии и медицине

Время на прочтение10 мин
Количество просмотров17K
Почти год назад, летом 2017 года, на базе МФТИ состоялась традиционная летняя школа от Института биоинформатики. Основной темой школы в этом году стал интеллектуальный анализ данных. Почему? Количество получаемых данных в биологии и медицине растет с невероятной скоростью. В то же время обнаружить ранее неизвестные вещи в таком объеме информации вручную физически невозможно (да и классическими алгоритмами уже тоже сложновато), поэтому приходится использовать статистику и дополнять естественный интеллект искусственным.

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

image
Хочу всё знать
Всего голосов 14: ↑14 и ↓0+14
Комментарии4

ConstraintLayout 101 и новый редактор компоновок в Android Studio

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

Данная статья является переводом поста из блога Android-разработчицы из ЮАР Ребекки Фрэнкс riggaroo.co.za, подготовленным Android-отделом компании Лайв Тайпинг. Оригинальная статья доступна здесь.


Недавно мне посчастливилось принять участие в конференции Google I/O, где я познакомилась с ConstraintLayout. Я была так потрясена его возможностями, что не могла дождаться, когда приеду домой и попробую всё сама.

Что же такое ConstraintLayout?
Всего голосов 11: ↑10 и ↓1+9
Комментарии14

Как программно управлять WiFi маршрутизатором TP-Link с помощью Python requests

Время на прочтение11 мин
Количество просмотров35K
Однажды передо мной встала задача реализации программного управления одним из распространенных домашних Wi-Fi маршрутизаторов TP-Link TL-WR841N, у которого, к сожалению, нет интерфейса управления через командную строку (telnet, SSH). Я хотел, чтобы мой Telegram бот, реализованный на Python на базе SBC в локальной домашней сети, на основе моих команд выполнял следующие функции управления маршрутизатором:

  • Перезагрузка маршрутизатора
  • Открытие/закрытие NAT Port Forwarding к внутренним WEB-сервисам
  • Открытие/закрытие удаленного доступа к маршрутизатору из WAN (интернет)
  • Определение устройств, зарегистрированных в локальной WiFi сети маршрутизатора
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии20

Информация

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