Как я библиотеку для сервиса «Яндекс.Музыка» писал

Автор: admin от 5-08-2019, 20:20, посмотрело: 61

Введение



Обо мне



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



Предыстория



Уж не помню точно, из-за чего я решил поискать официальную документацию API данного сервиса, вроде бота хотел для Telegram написать, но столкнулся с тем, что её нет… Спустя некоторое время наткнулся на issue в репозитории yandex/audio-js. Там ребятки задают точно такой же вопрос, как и я: "А где API?". Не многие горят желанием слушать музыку через браузер, они хотят приложение, но приложения под Linux тоже нет! Интегрировать к своему любимому плееру невозможно!



Тут я загорелся идеей сделать это. Естественно, мне нужно как-то работать с сервисом, городить костыли вокруг веб-приложения не вариант. Я понимал, что имея такой сервис, имея мобильные приложения и приложения под Windows (из Microsoft Store) просто невозможно не иметь своё внутреннее API для взаимодействия. Я оказался прав!



Обязательно к прочтению перед основной частью



Я отдаю себе отчёт в том, что, изучая их непубличное API я роюсь в чужих грязных вещах. Ниже будут описаны различные спорные моменты, решения разработчиков и в целом то, как это написали, как они этим пользуются. Местами я был просто шокирован, но я уверен, что если они так сделали, то на это были свои причины! Не будем забывать, что это никто не должен был видеть. Так же хочу сказать, что всё написанное ниже моё мнение. Вы можете с ним согласить или нет.

Категория: Яндекс

 

Не морочьте мне голову со своим функциональным программированием

Автор: admin от 5-08-2019, 15:00, посмотрело: 68

Адепты функционального программирования любят завлекать новичков обещаниями идеальной выразительности кода, 100% корректностью, лёгкостью поддержки и простотой рефакторинга, а иногда даже пророчат высочайшую производительность. Однако, опытные разработчики знают, что такого не бывает. Программирование — это тяжёлый труд, а «волшебных таблеток» не существует. 



С другой стороны, элементы функционального стиля программирования уже проникли в промышленные языки программирования, такие как Swift и Kotlin. Разработчики этих языков прекрасно знакомы с функциональным программированием, поэтому смогли применить его «в малом», предусмотрев многие, хотя и не все, необходимые компоненты. Чем дальше — тем больше части ФП внедряются в промышленные ЯП, и тем качественнее и полнее реализуется поддержка.



Уметь программировать в функциональном стиле полезно, чтобы упрощать себе работу, и сейчас мы посмотрим, как этим воспользоваться!





Виталий Брагилевский — преподаватель ФП, теории алгоритмов и вычислений, автор книги «Haskell in Depth» и участник комитетов Haskell 2020 и наблюдательного комитета компилятора GHC.

Категория: Программирование

 

4 релиза Maltego. Принципы работы и возможности

Автор: admin от 5-08-2019, 14:25, посмотрело: 47

При просмотре профилей пользователей соцсетей, невольно задаешься вопросом, а сколько информации лежит в открытых источниках? Понятно, что много. Но как это посчитать? И у кого еще, кроме спецслужб и корпораций уровня Google или Microsoft, есть ресурсы и механизмы, чтобы это систематизировать? Создатели ПО Maltego уверяют — у любого. В этой статье я разберу практические примеры, пробегусь по функционалу и принципам работы этого инструмента.



4 релиза Maltego. Принципы работы и возможности


Рассматривать мы будем именно коммерческий релиз. Потому что Free версия — это хорошо, но посмотреть возможности, которые можно получить только за немалую копеечку от сторонних компаний, вроде Social Links, гораздо интереснее.



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



Итак, дамы и господа, приступим.

Категория: Информационная безопасность

 

Телега для датасайентиста

Автор: admin от 5-08-2019, 13:45, посмотрело: 58

How to deploy Python Telegram bot using Webhooks on Google Cloud Platform



Вместо предисловия



Телега для датасайентиста

— Напиши телеграм-бота. Сейчас даже школьники пишут, — сказала она.

— А почему бы и нет, — подумал я тогда ( — Ну, ну, — сказал бы я сейчас).



Мы сидели в Бине и за чашкой кофе обсуждали возможности тестирования идей с моделями искусственного интеллекта на близком и не очень круге друзей. Лена, моя бывшая коллега, и во всех отношениях не блондинка, только что закончившая магистратуру, рассуждала так. Создав бота, можно сэкономить силы и время на интерфейсе, сосредоточившись на ядре с машинным обучением. Согласитесь, что устоять против такой логики “спортсменки, комсомолки и просто красавицы” в то прекрасное воскресное утро было невозможно. Решено. Телеграм-бот, значит телеграм-бот.



Первым делом я залез в гугл и нашел большое число ссылок “как сделать бот за 30 минут”. Это меня настолько воодушевило, что дальше названий я не пошел и занялся созданием ядра. В самом первом приближении мне предстояло написать систему обработки поисковых запросов с использованием NLP (natural language processing). Написание ядра заняло некоторое, вполне разумное, время (все же опыт кока-колой не пропить). И через несколько дней я был готов к тому, чтобы за пару часов обернуть первую тестовую версию ядра в пару другую команд send-receive, запустив все это в Телеграме на благо моим друзьям. Но не тут-то было.



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

Категория: Веб-разработка, Google

 

Как обучение стойке на руках связано с внутренними стандартами Amazon и как оно повлияло на мировоззрение компании?

Автор: admin от 5-08-2019, 12:00, посмотрело: 51

Джеф Безос, гендиректор Amazon ежегодно пишет письмо акционерам, а волонтеры школы стартапов RUSSOL переводят их, чтобы ответить на эти вопросы, вдохновить читателей на создание своего Amazon. Читаем перевод письма акционерам, опубликованного Безосом 20 лет спустя. Оно большое



Как обучение стойке на руках связано с внутренними стандартами Amazon и как оно повлияло на мировоззрение компании?

Джеф Безос, гендиректор Amazon, на открытии Сфер. Источник фото: heraldnet.com

Категория: Информационная безопасность

 

Решение задания с pwnable.kr 16 — uaf. Уязвимость использование после освобождения (use after free)

Автор: admin от 5-08-2019, 12:00, посмотрело: 42

Решение задания с pwnable.kr 16 — uaf. Уязвимость использование после освобождения (use after free)


В данной статье рассмотрим, что такое UAF, а также решим 16-е задание с сайта pwnable.kr.



Категория: Информационная безопасность

 

Книга «Микросервисы. Паттерны разработки и рефакторинга»

Автор: admin от 5-08-2019, 11:55, посмотрело: 65

Книга «Микросервисы. Паттерны разработки и рефакторинга»
Привет, Хаброжители! Если вам давно кажется, что вся разработка и развертывание в вашей компании донельзя замедлились — переходите на микросервисную архитектуру. Она обеспечивает непрерывную разработку, доставку и развертывание приложений любой сложности.



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



Предлагаем ознакомиться с отрывком «Управление транзакциями в микросервисной архитектуре»

Категория: Программирование