Pull to refresh
26
0
olegi @olegi

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

Send message

Про открытые данные, проектах на их основе и о том что происходит с открытыми государственными данными в России

Reading time5 min
Views17K


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

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

Начну с саммита.

Саммит по открытым данным

На фоне всех остальных мероприятий по открытым данным за последние годы — это одно из первых организованных на довольно хорошем уровне. Даже на «совете по открытым данным» в Яндексе в июне 2015 года было очень много непрофильных выступлений, подробнее в заметке "Приоткрытые данные" в этот же раз все не отходили от темы открытых данных и это главный и важный плюс всего произошедшего.

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

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

Подробнее и отдельно я напишу ещё про эти круглые столы, но суть общая что данные будут и что ведомства — готовы к диалогу с потребителями.

Плюс у меня просто руки не доходят рассказать про все проходящие мероприятия связанные с открытыми данными — встречи с разработчиками, заседания общественных советов и так далее. Я обязательно всё напишу, материалы копятся и тексты пишутся.

А теперь о том что у нас происходит с открытыми данными.
Читать дальше →

Нейросеть на Python, часть 2: градиентный спуск

Reading time16 min
Views60K
Часть 1

Давай сразу код!


import numpy as np
X = np.array([ [0,0,1],[0,1,1],[1,0,1],[1,1,1] ])
y = np.array([[0,1,1,0]]).T
alpha,hidden_dim = (0.5,4)
synapse_0 = 2*np.random.random((3,hidden_dim)) - 1
synapse_1 = 2*np.random.random((hidden_dim,1)) - 1
for j in xrange(60000):
    layer_1 = 1/(1+np.exp(-(np.dot(X,synapse_0))))
    layer_2 = 1/(1+np.exp(-(np.dot(layer_1,synapse_1))))
    layer_2_delta = (layer_2 - y)*(layer_2*(1-layer_2))
    layer_1_delta = layer_2_delta.dot(synapse_1.T) * (layer_1 * (1-layer_1))
    synapse_1 -= (alpha * layer_1.T.dot(layer_2_delta))
    synapse_0 -= (alpha * X.T.dot(layer_1_delta))

Часть 1: Оптимизация


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

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

OutOfMemoryError. Боремся с утечками памяти в Android

Reading time2 min
Views15K
В данной заметке мы рассмотрим несколько примеров утечек памяти в Android приложении. Также мы рассмотрим исправления этих утечек. Я хочу показать, что с утечками памяти можно и нужно бороться. Я не буду рассказывать про инструменты для анализа памяти, только лишь приведу ссылки на самые важные из них.
Осторожно много картинок.

SQLi по прежнему в строю

Reading time7 min
Views13K
Для взлома TalkTalk, который привел к краже личных данных порядка 150 000 пользователей, была использована уязвимость, обнаруженная еще до его рождения. Этим методом атаки была SQL инъекция (SQLi). В данном виде атак хакеры обычно вводят вредоносные команды в формы на веб-сайте, чтобы заставит базу сайта выдать нужные данные.



Такой метод использовался для воровства персональных данных сотрудников Всемирной организации здравоохранения, похищения данных Wall Street Journal и взлома сайтов американских федеральных агентств.
Это самый простой способ взломать сайт
Это выражение одного из хакеров, известного под псевдонимом w0rm и ответственного за взлом Wall Street Journal. Вторжение тогда заняло всего несколько часов.
Читать дальше →

Строим сервисы на базе Nginx и Tarantool

Reading time6 min
Views25K
Вам знакома такая архитектура? Хоровод демонов, пляшущих между web-server, cache и storage.



Какие минусы такой архитектуры можно отметить? Решая задачи в рамках такой архитектуры, мы сталкиваемся с кучей вопросов: какой язык(и?) взять, какой I/O framework выбрать, как синхронизировать cache и storage? Куча инфраструктурных вопросов. А зачем решать инфраструктурные вопросы, когда надо решить задачу? Безусловно, можно сказать, что нам нравятся некие технологии X и Y, и перевести эти минусы в рамки идеологических. Но нельзя отрицать тот факт, что данные располагаются на неком расстоянии от кода (картинка выше), что добавляет latency, что может уменьшить RPS.

Цель данной статьи — рассказать об альтернативе, которая построена на базе Nginx как web-server, bаlancer и Tarantool как App Server, Cache, Storage.
Читать дальше →

Apple опубликовала исходный код Swift

Reading time1 min
Views33K
image

Язык Swift был представлен сообществу чуть больше года назад, что вызвало достаточно большой резонанс в среде разработчиков, при том не только iOS и OS X.

Но еще больший резонанс вызвал тот факт, что Apple пообещала открыть код компилятора и анонсировала возможность поддержки языка для операционных систем на базе linux.
Читать дальше →

Постулаты Go

Reading time7 min
Views30K
В игре Go очень простые правила, но стать мастером в ней непросто, нужно научиться думать паттернами, территориями и прочими стратегическими концепциями. Язык Go не совсем случайно назван аналогично названию этой игры. В своем выступлении на недавнем митапе в Сан-Франциско, Роб Пайк упомянул книгу «Постулаты Go» (Go Proverbs), которые описывают сложные стратегии простыми поэтичными фразами. Эти постулаты несут глубинный смысл для тех, кто знаком с игрой Go, и могут казаться пустыми фразами тем, кто не знаком. И в этом нетехническом докладе он предложил придумать аналогичным способом «постулаты» и для языка Go.

Вот некоторые из них:
  • Don't communicate by sharing memory, share memory by communicating.
  • Concurrency is not parallelism.
  • Channels orchestrate; mutexes serialize.
  • The bigger the interface, the weaker the abstraction.
  • interface{} says nothing.
  • Gofmt's style is no one's favorite, yet gofmt is everyone's favorite.
  • A little copying is better than a little dependency.
  • Cgo is not Go.
  • Clear is better than clever.
  • Reflection is never clear.
  • Errors are values.


Это чем-то похоже на Zen of Python. Вы можете не соглашаться с ними, но эти постулаты отражают идиоматичность и подход в Go. Давайте разберем подробнее каждый из них по мотивам доклада (видео в конце поста).
Читать дальше →

12 советов для тех, кто хочет получить сертификат PMP (Project Management Professional)

Reading time2 min
Views9.8K
Советы для получения сертификата PMP

Мы опросили 50 последний пользователей inpmi.ru, сдавших экзамен по Управлению Проектами PMP (Project Management Professional) за последние пол года, какие советы они могли бы дать тем, кто только собирается сдавать экзамен. Вот 12 самых популярных советов:

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

Swift! Protocol Oriented

Reading time6 min
Views24K
Всем привет!
Нет, это не очередной пост в стиле «встречайте Swift и его возможности», а скорее краткий экскурс по практическому применению и тонкостях, где протоколо-ориентированность нового языка от Apple позволяет делать симпатичные и удобные вещи.
image
Читать дальше →

Перевод: Инструкция по проведению code review

Reading time3 min
Views37K
Не так давно мой коллега переводил интересную статью о code review, перевод хабражителям понравился. А сегодня утром запутанный граф кроссылок вывел eyeofhell на еще более крутую статью. Вашему вниманию предлагается перевод краткой, но емкой инструкции о том, как делать review чужого кода и пережить review собственного. В отличие от упомянутой выше статьи, эта больше фокусируется на практических аспектах code review и содержит множество полезных рекомендаций как и что делать, чтобы не было мучительно больно. Хинт: чтобы почитать оригинал, кликните на имени автора в плашке под переводом.

осторожно, под катом - много англицизмов!

Легко ли распознать информацию на банковской карточке?

Reading time7 min
Views28K


Когда мы общаемся с нашими заказчиками, то, будучи специалистами в этой области, активно используем соответствующую терминологию, в частности слово «распознавание». При этом слушающая аудитория, воспитанная на Cuneiform и FineReader, часто вкладывает в этот термин именно задачу сопоставления вырезанного участка изображения некоторому числу (коду символа), которая в наши дни решается нейросетевым подходом и является далеко не первым этапом в задаче распознавания информации. В начале необходимо локализовать карточку на изображении, найти информационные поля, выполнить сегментацию на символы. Каждая перечисленная подзадача с формальной точки зрения является самостоятельной задачей распознавания. И если для обучения нейронных сетей существуют зарекомендовавшие себя подходы и инструменты, то в задачах ориентации и сегментации каждый раз требуется индивидуальный подход. Если вам интересно узнать про подходы, которые мы использовали при решении задачи распознавания банковской карточки, тогда добро пожаловать под кат!
Читать дальше →

Полезные сниппеты для Nginx конфигов

Reading time5 min
Views123K


Доброго времени суток, уважаемые хабравчане! В Elasticweb мы негласно ратуем за Nginx и, наверное, мы одни из немногих хостингов, которые не поддерживают Apache и .htaccess соответственно. В связи с этим, большое количество обращений в тех. поддержку связано с оказанием помощи в написании конфигурационного файла для Nginx. Поэтому мы решили собрать коллекцию полезных сниппетов и коллекцию готовых Nging конфигов для наиболее популярных CMS/CMF/Фреймворков на PHP.

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

Let's Encrypt выходит в публичную бету: HTTPS всюду, каждому, отныне и навсегда бесплатно

Reading time3 min
Views67K
Let's Encrypt

Let's Encrypt — это некоммерческая инициатива, предоставляющая бесплатный, автоматизированный и открытый CA (certificate authority — центр сертификации), созданный ISRG на благо общества:

  • бесплатно: владелец всякого доменного имени может воспользоваться Let's Encrypt и получить доверенный (читать как «признаётся любым современным браузером») TLS-сертификат (TLS — наследник SSL) совершенно бесплатно;
  • автоматизированно: Let's Encrypt предоставляет бесплатное и свободное программное обеспечение (клиент), которое, будучи настроенным на веб-сервере, может полностью автоматически запрашивать безвозмездно предоставляемые сертификаты Let’s Encrypt, автоматически конфигурировать и обновлять их;
  • безопасно: Let’s Encrypt строится как платформа для продвижения наилучших практик безопасности TLS как на стороне центра сертификации (CA), так и на стороне веб-сайтов, помогая администраторам должным образом настраивать веб-серверы;
  • прозрачно: информация о выпуске и отзыве каждого сертификата Let's Encrypt доступна вполне и публично так, что любой желающий изучить её сможет это сделать;
  • свободно: протоколы взаимодействия со CA, позволяющие автоматизировать процессы выпуска и обновления сертификатов, будут опубликованы как открытый стандарт для максимального внедрения;
  • кооперативно: как и любой протокол, лежащий в основе Интернета и Всемирной паутины, Let’s Encrypt является совместным, неподконтрольным какой-либо конкретной организации некоммерческим проектом созданным исключительно для того, чтобы принести пользу обществу.

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

Теория звука. Что нужно знать о звуке, чтобы с ним работать. Опыт Яндекс.Музыки

Reading time14 min
Views219K
Звук, как и цвет, люди воспринимают по-разному. Например, то, что кажется слишком громким или некачественным одним, может быть нормальным для других.

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



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

Поводом для этого поста можете считать то, что мы добавили в приложения Яндекс.Музыки возможность слушать треки в высоком качестве (320kbps). А можете не считать. Итак.
Читать дальше →

Профессиональный тест на знание реалий рынка заказной разработки и digital-коммуникаций

Reading time1 min
Views6.2K
Привет, Хабр! Мы разработали вторую версию профессионального теста на знание реалий агентского рынка digital-коммуникаций в России (первая версия была опубликована 2 года назад и получила массу положительных откликов).

Мы потратили почти 200 часов чистой работы по контенту теста — и сделали комплексный инструмент, который показывает, насколько респондент разбирается в рынке, технологиях и обладает необходимыми (менеджерскими, прежде всего) навыками для работы в отрасли. Тест состоит из 32 вопросов, разбитых на 8 смысловых блоков:

  1. Логическое мышление
  2. Аналитика, digital-арифметика
  3. Управленческие навыки
  4. Использование разных digital-каналов
  5. Коммуникации, урегулирование конфликтов
  6. Знание технологических аспектов
  7. Знание ситуации на рынке, истории
  8. Знание терминологии

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

1 год в ABBYY: Часть 2 — База рекламаций, тапочки и ABBYY Road

Reading time8 min
Views8.5K
Добрый день всем.

Продолжаю трилогию о «плюсах, минусах и подводных камнях» работы в ABBYY. В первой части я рассказывал, как трудоустраивался, теперь перейдём собственно к тому, как устроены процессы и с чем может столкнуться продукт-менеджер мобилок за первые полгода работы в компании.
Поехали!

Power Query: стероиды для MS Excel и Power BI

Reading time7 min
Views218K
image

В данной статье я хочу рассказать о некоторых возможностях бесплатной и крайне полезной, но пока еще мало известной надстройки над MS Excel под названием Power Query.

Power Query позволяет забирать данные из самых разных источников (таких как csv, xls, json, текстовых файлов, папок с этими файлами, самых разных баз данных, различных api вроде Facebook opengraph, Google Analytics, Яндекс.Метрика, CallTouch и много чего еще), создавать повторяемые последовательности обработки этих данных и загружать их внутрь таблиц Excel или самого data model.

И вот под катом вы можете найти подробности всего этого великолепия возможностей.
Читать дальше →

Пишем собственный интерфейс управления корпоративными FMC SIM-картами

Reading time4 min
Views7.9K
Какой современный облачный сервис обходится без личного кабинета и API платформы, на которой этот сервис крутится? Пожалуй, только сервис, работающий на мобильных устройствах, да и то, далеко не каждый. У нашей компании был непродолжительный, но бурный роман с простеньким софтфоном собственной разработки для Андроид и даже в таком, казалось бы, незатейливом проекте мы долгое время “запиливали” бэкенд и веб-интерфейс админа.

С тех пор у наших разработчиков сложился определенный подход: когда продуктологи придумывают очередной мега-продукт, утверждают его на самом высоком уровне и отдают в разработку, то первое чем интересуется Главный Разработчик — “Будет ли личный кабинет?”. “Да”, — отвечают продуктологи. “Личный кабинет будет. Даже два.” По вполне понятным причинам, был написан личный кабинет и для нашего проекта со специальными сим-картами AltegroSIM. Написан для того, чтобы клиенты могли управлять своими симками. Надеемся не останавливаться и со временем “навесить” на личный кабинет и API, чтобы сторонние сервисы, те, которым это может быть интересно, делали интеграции и собственные ЛК.


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

Ценовая эластичность в ритейле

Reading time5 min
Views21K
В экономической теории многие разделы посвящены процессу ценообразования в торговле.

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

Например, когда ритейлер снижает цену, потребительский спрос растет, но прибыли нет. Увеличивает цену товара — спрос падает.



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

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

400 потрясающих бесплатных сервисов

Reading time16 min
Views726K

Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные веб-сайты

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly: Конструктор веб-сайтов.
  • Layers: Создание сайтов на WordPress (new).
  • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
  • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
Читать дальше →

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Registered
Activity