Pull to refresh
0

Разработчик Node.js, Go

Send message

Тащим музыку из ВК без публичного music API

Reading time6 min
Views91K

Как все начиналось


Дело было вечером, делать было нечего… Точнее, я просто хотел загрузить аудиокнигу перед парами и тут меня ждал сюрприз. Кэш в кейт мобайле отключили. Как так? Что делать? Конечно же писать свое приложение с кэшем и аудиозаписями. Но для начала нужно понять, как вк превращает ссылки вида audio%user_id%_%track_id% в прямые ссылки на mp3. Что из этого вышло приложения я не написал и как скачать определенный плейлист можно прочитать под катом.
Читать дальше →

Выжимаем максимум из DDMS

Reading time6 min
Views36K
DDMS (Dalvik Debug Monitor Server) — безумно полезный инструмент для отладки приложений, который идет в комплекте с Android SDK, о котором почему-то особо и не сказано на хабре, впрочем как и в примерах google он представлен в очень скромном виде. Я бы хотел раскрыть его возможности и показать на что он способен. Вкратце:
  • изучать информацию о работающих потоках;
  • анализировать heap на количество свободной и занятой памяти;
  • анализировать какие объекты чаще создаются, их размер и другое (Allocation tracker);
  • находить проблемные участки кода, которые долго работают и требуют оптимизации (Method profiling). Это я советую знать всем.

Об этих вещах будет рассказано в рамках данной статьи. И для справки, менее интересное, что довольно тривиально и о чем НЕ будет рассказано в рамках данной статьи:
  • работать с файловой системой эмулятора или устройства;
  • находить информацию об ошибках (привет LogCat);
  • эмулировать звонки/смс/местоположение;
  • использовать инструмент Network Statistics.


Если заинтересовались, прошу под кат.

Аттракцион невиданной щедрости: 52 000 рублей от государства каждому на покупку акций

Reading time5 min
Views27K
Как накопить на свою квартиру, если у тебя на зарплатной карте с каждым днем таят деньги не только потому, что ты их тратишь, но и потому, что процент по вкладу ниже даже официальной инфляции?! В такой ситуации приходится искать новые способы защиты капитала, а так же дополнительные источники заработка.

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

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

Из маркетолога в тестировщицу ПО — смена профессии после 40? Почему бы и нет

Reading time6 min
Views28K


У нас в стране всё ещё бытует мнение, что человек должен овладеть какой-то профессией, и кормиться ею всю жизнь. Но эта самая жизнь сегодня меняется так быстро, что веками действующая схема работает всё хуже. Экономика оцифровывается, профессии исчезают, людей заменяют роботы и чат-боты. Поэтому сегодня всё труднее построить себе безбедное будущее, выбрав в молодости какое-то направление. Увы, но у нас пока не принято радикально менять профессию. И чем старше человек, тем труднее для него принять саму мысль, не то что решиться на это: «Как так, я уже 20 лет этим занимаюсь, опыт наработал, репутацию, а тут опять учиться, как школяру, и начинать с низов?». Да, решение непростое. Но чем сильнее экономико-технологические перемены будут влиять на занятость, тем актуальнее будет стоять вопрос смены профессии для всё большего количества людей. Но если человек сам хочет заняться чем-то новым, по желанию, а не из-за давления обстоятельств, то ему уже ничто не помешает.

Один из успешных примеров — история нашей коллеги Елены, которая после 40 лет из маркетолога переквалифицировалась в тестировщика программного обеспечения. Ей слово.
Читать дальше →

Самая нужная программа на свете

Reading time20 min
Views168K
image
Какими программами постоянно пользуются люди? Если подумать над этим вопросом, то окажется, что список этот не такой уж большой. К постоянно используемым программам можно отнести: саму операционную систему, файловый менеджер, текстовый редактор, браузер, мессенджер. Это именно тот базовый набор, которым пользуется на компьютере практически каждый человек. Требования к таким программам должны быть высокими: безотказная работа, быстрое выполнение всех функций, понятный и удобный интерфейс.

Можно сказать, что вышеперечисленный набор программ — это самые нужные программы, которыми пользуется человек в цифровую эпоху. Этот список покрывает все базовые потребности человека-пользователя. Или не все? Есть ли еще одна базовая потребность, которая не учтена в вышеприведенном списке самых необходимых программ? Является ли эта потребность самой важной из тех, что должен автоматизировать компьютер? Для меня такая потребность есть, но в списке самых используемых программ ей места не нашлось. Что же это за потребность?
Ранее компьютер считался устройством для проведения вычислений...

Забавные нюансы Win10 и что с этим делать

Reading time3 min
Views71K
Случайно обнаружил несколько забавных нюансов работы Win10, которые сильно могут потрепать нервы пользователям. Но кто предупрежден — тот вооружен.

1. Safe-mode & Win10
2. Циклическая перезагрузка при установке обновлений.
Читать дальше →

AsyncIO для практикующего python-разработчика

Reading time16 min
Views393K
Я помню тот момент, когда подумал «Как же медленно всё работает, что если я распараллелю вызовы?», а спустя 3 дня, взглянув на код, ничего не мог понять в жуткой каше из потоков, синхронизаторов и функций обратного вызова.

Тогда я познакомился с asyncio, и всё изменилось.
Читать дальше →

Микросервисы: опыт использования в нагруженном проекте

Reading time17 min
Views69K


На конференции HighLoad++ 2016 руководитель разработки «М-Тех» Вадим Мадисон рассказал о росте от системы, для которой сотня микросервисов казалась огромным числом, до нагруженного проекта, где пара тысяч микросервисов — обыденность.

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

Если коротко, то мы занимаемся видеоотдачей — отдаём видео в реальном времени. Мы являемся видеоплатформой для «НТВ-Плюс» и «Матч ТВ». Это 300 тысяч одновременных пользователей, которые прибегают за 5 минут. Это 300 терабайт контента, который мы отдаем в час. Это такая интересная задача. Как это всё обслужить?

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

Разработка веб-скрапера для извлечения данных с портала открытых данных России data.gov.ru

Reading time7 min
Views53K
Иногда возникает необходимость получить данные c веб-страниц и сохранить их в структурированном виде.

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

С помощью LAMP я создал SaaS-сервис приносящий $3700 в месяц. Моя история

Reading time11 min
Views70K
В этой статье я хотел бы поделиться своим опытом создания SaaS-сервиса на базе LAMP стека, Postio и доведения сервиса до состояния, когда он стал приносить 3 700 долларов ежемесячно (до обрушения рубля было почти 7 000). Сразу надо сказать, что эта история не имеет ничего общего с инвесторами, с золотой лихорадкой Кремниевой долины и с какой-то сверхсовременной технологией. Просто незамысловатая история от независимого разработчика о создании прибыльного SaaS-сервиса, который может сделать любой. Этот веб-сервис был сделан для внутреннего рынка России, поэтому я перевёл всё на английский и в доллары для удобства (пожалуйста, обратите внимание, что это перевод моей статьи, которая изначально была написана для англоязычной аудитории). Но, с другой стороны, этот опыт является довольно универсальным и может быть применён везде. По сути, это инструкция по созданию проектов такого рода.

Три года назад я решил заняться SMM, и самым простым способом сделать это показалось запустить свою собственную группу в какой-нибудь нише и попытаться развить её. Facebook был уже, мягко говоря, довольно конкурентным на тот момент, поэтому я запустил свою тестовую группу на базе «ВКонтакте». Я выбрал очень популярную нишу, потому что всё, что я хотел, — это научиться, а не доминировать на рынке.

Наверное, я должен немного отвлечься и сказать, что VK.com имел и до сих пор имеет процветающую «экосистему» таких групп, которая приносит прибыль их владельцам. Это — своеобразный рынок, который Facebook прикрыл уже давно. И этот базар является прекрасной средой для обучения и экспериментов.

Создание сцены из Star Wars в Unreal Engine 4

Reading time13 min
Views29K

Все изображения в статье кликабельны

Введение


Привет, меня зовут Джейсон Льюис (Jason Lewis). Думаю, что меня можно назвать руководителем этого группового проекта. Я главный художник по окружениям в Obsidian Entertainment. Другие художники, работавшие со мной над этим проектом, тоже работают в Obsidian. Это помощники главного художника, художники среднего класса и джуниоры. Даже люди из отдела QA дополнили сцену своими художественными навыками. Всего в работу в разной степени внесли свой вклад 17 человек. Это был наш личный проект, мы создавали его только потому, что все мы - большие фанаты «Звёздных войн». Глядя на современные работы по Star Wars, мы решили, что настало время поучаствовать и создать качественный фанатский арт-проект. Кроме того, что мы поклонники Star Wars, некоторые из нас хотели под хорошим предлогом изучить Unreal 4.

Методы удаленного доступа к Linux GUI

Reading time11 min
Views361K
В службу технической поддержки RUVDS регулярно обращаются по поводу GUI и удаленного доступа к нему на виртуальных серверах с Linux, несмотря на то что в интернете достаточно много материалов освещающих эту проблему. Поэтому, для наших пользователей мы решили собрать всё по этой теме в одну статью.


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

Crossover: высокооплачиваемая дистанционная фуллтайм работа для ИТ-профессионалов

Reading time6 min
Views70K
Привет, Хабр! Мы давно читаем ресурс и сейчас приняли решение не только читать, но и начать, наконец, писать. Сразу представимся. Мы, компания Crossover, занимаемся трудоустройством ИТ-специалистов по всему миру. Специалистов трудоустраиваем к нашим клиентам, в компании Versata, Aurea, 3seventy, Ignite, Ride Austin. Когда им нужны лучшие профессионалы, они обращаются к нам по направлениям разработки ПО, пользовательских интерфейсов, веб-дизайна.

Мы не фриланс-биржа, хотя нас иногда сравнивают с такими. Наша компания предлагает соискателям работу только с полной занятостью, долгосрочную, с высокими часовыми ставками оплаты труда. Это связано с тем, что мы отбираем и трудоустраиваем лучших специалистов по каждому из направлений.
Читать дальше →

Открываем набор на бесплатные курсы по программированию и разработке под FPGA

Reading time4 min
Views18K
Всем привет! Одно из видений нашей компании звучит следующим образом: Мы создаём знания и делимся ими

Делимся знаниями мы не только в своих статьях на замечательном Хабре, но и обучая студентов программированию.

И я с радостью спешу сообщить, что с 1 ноября мы начинаем курсы по следующим направлениям:

  • Разработка под FPGA
  • Программирование микроконтроллеров
  • Системное программирование в Linux
  • Измерение качества телекоммуникационных каналов
  • Основы программной инженерии

Количество мест ограничено, поэтому естественно присутствует входное тестирование.

Прочитать подробности и записаться на курсы можно тут.

А под катом история появления курсов и более подробная информация о направлениях, учебных планах и входном тестировании. Добро пожаловать!
Читать дальше →

«Обучаем специалистов всех уровней»: EPAM о Java-разработке и конференциях

Reading time9 min
Views18K


Название EPAM известно практически всем. Но не все знают о том, что компания среди прочего занимается биоинформатикой, что в ней ценят full-stack разработчиков, а её внутренняя система обучения/переквалификации рассчитана не только на джуниоров, и в качестве менторов там порой выступают архитекторы.

В преддверии конференции Joker, на которой EPAM будет активно присутствовать, мы задали сотрудникам компании вопросы о Java-разработке и всём, что вокруг неё. Нашими собеседниками стали:

  • Марианна Округина, директор офиса в Санкт-Петербурге
  • Алексей Зиновьев, тренер по Java/Big Data (спикер Joker 2016 и не только)
  • Вячеслав Лапин, senior developer (спикер Joker 2015 и не только)
  • Полина Панюкова, специалист по маркетингу

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

Дешевые авиабилеты… Или сеть мошеннических сайтов, ворующих деньги с карт. Мое расследование

Reading time20 min
Views187K
В этой публикации речь пойдет о целой сети мошеннических сайтов, которые на протяжении долгого времени работают с единственной целью — похитить данные банковских карт и увести все доступные денежные средства с этих карт. В этой схеме используются на разных этапах сервисы известных компаний и банков. Таких как Яндекс (Поиск, Директ, YandexMoney, Карты), Промсвязьбанк, Банк Тинькофф и, вероятно, других.



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

Итак, что же случилось?

Мой знакомый захотел купить авиабилеты и решил, что самый простой для этого способ — задать вопрос Яндексу. На простой запрос типа «самые дешевые билеты в Анапу» Яндекс одну из первых ссылок выдал на некий сайт, который служит для поиска и покупки дешевых билетов без комиссии. Ссылка эта, вероятно, была в верхнем рекламном блоке. Перейдя по ссылке, мой знакомый нашел себе подходящие билеты, оформил заказ, и попал на страницу оплаты с помощью банковской карты…
Читать дальше →

Что будет, если объединить фоторедактор и нейросеть

Reading time3 min
Views22K

Пример работы нейронного фоторедактора Neural Photo Editor. По центру — оригинальное изображение. Красными и синими квадратами показаны области скрытого пространства, сгенерированного после обучения нейросети. Ими можно манипулировать и напрямую (как обычно это делается) и косвенно, посредством «контекстной кисти»

Вы думаете, что «Фотошоп» творит чудеса в искажении реальности? Да, он может бесследно удалить человека с фотографии или нарастить волосы на голове, как у Илона Маска, с помощью «контекстной кисти». Но это и рядом не стоит с тем, на что способна нейросеть, если разрешить ей редактирование с контекстным анализом. Это совершенно другая реальность. Нейросеть способна заставить человека на фотографии улыбаться, придать вашей девушке черты Анджелины Джоли и так далее. Возможности безграничны.
Читать дальше →

Как мы написали фриланс-биржу для Telegram

Reading time12 min
Views26K


Добрый день, дорогие Хабравчане! Сегодня решил рассказать вам о нашем опыте создания бота для Telegram на Node.js практически без опыта серверной разработки и на добровольных началах. Сразу оговорюсь: у меня за спиной чуть больше четырех лет разработки под iOS, у остальных членов команды тоже был опыт разработки от одного до шести лет в смежных областях. Для большинства из нас это был первый случай использования Node.js в сравнительно большом проекте. Как мы это сделали, зачем мы это сделали, почему фриланс-биржа и как она отличается от классических моделей, какие у нас были проблемы и как мы с ними боролись – под катом!
Читать дальше →

Web scraping при помощи Node.js

Reading time10 min
Views146K

Это первая статья в цикле про создание и использование скриптов для веб-скрейпинга при помощи Node.js.


  1. Web scraping при помощи Node.js
  2. Web scraping на Node.js и проблемные сайты
  3. Web scraping на Node.js и защита от ботов
  4. Web scraping обновляющихся данных при помощи Node.js

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


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


Цель этой статьи – показать весь процесс создания и использования такого скрипта от постановки задачи и до получения конечного результата. В качестве примера я рассмотрю реальную задачу вроде тех, какие часто можно найти, например, на биржах фриланса, ну, а в качестве инструмента для веб-скрейпинга будем использовать Node.js.

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

React.js: собираем с нуля изоморфное / универсальное приложение. Часть 2: добавляем bootstrap, страницы и роутинг

Reading time21 min
Views84K

Разработка изоморфного приложения глазами моей жены


Это продолжение статьи про разработку изоморфного приложения с нуля на React.js. В этой части мы добавим несколько страниц, bootstrap, роутинг, концепцию Flux и ее популярную реализацию Redux.

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

Information

Rating
Does not participate
Location
Россия
Registered
Activity