Search
Write a publication
Pull to refresh
2
0
Павел Осадчий @atri24

.Net разработчик

Send message

Как вычислить (город пользователя) по IP

Reading time8 min
Views134K
Зная местоположение человека, можно сделать тысячу полезных и не очень вещей: предложить правильный товар и заранее назвать цену доставки, показать ареал обитания покемонов, вывести локальные новости или посоветовать кафе неподалеку.

Местоположение — это важно.


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

Архитектуры ReactNative, Xamarin, PhoneGap и Qt. Часть 2

Reading time7 min
Views12K
Продолжаем анализ архитектуры мобильных кроссплатформенных инструментов. Сегодня на повестке дня фреймворки Xamarin и Qt. Напомним, что в первой части мы рассмотрели общие архитектурные паттерны кроссплатформенных фреймворков, а также архитектуры PhoneGap и ReactNative.


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

Шпаргалка для предпринимателя по IT-миру

Reading time19 min
Views36K
Бизнес в России учится делать не только скучные проекты по автоматизации бизнес-процессов, но и создавать IT-решения, способные помочь в борьбе с конкурентами. Например, проекты по предсказанию спроса, real-time offer management, оптимизации логистики, микротаргетированию. Такие сложные задачи отличаются от типовых внедрений CRM или выбора CMS. Надо иначе искать разработчиков, иначе мотивировать, думать об IT-архитектуре и методологии управления.

Шпаргалка — навигация по темам, которые стоит знать руководителю компании и топ-менеджеру, чтобы грамотно реализовать IT-проекты нового уровня сложности. По каждой теме будет много ссылок на статьи, интервью, обзоры и видео.
Читать дальше →

О смарт-контрактах простыми словами

Reading time5 min
Views16K
Добрый день! Ранее у нас в блоге были посты на блокчейн темы, в которых нередко возникали дискуссии о распределенных вычислениях в блокчейне. По мотивам этих дискуссий и возник этот пост.

Итак давайте попробуем сегодня разобраться, что такое смарт-контракты (умные контракты). Сначала мы достаточно общо обсудим сам концепт, а потом немного копнем в реализацию смарт-контрактов на примере блокчейна Ethereum.
Читать дальше →

Погружение в F#. Пособие для C#-разработчиков

Reading time12 min
Views84K

Этот пост будет не о том, как «перевести» код с C# на F#: различные парадигмы делают каждый из этих языков лучшим для своего круга задач. Однако вы сможете оценить все достоинства функционального программирования быстрее, если не будете думать о переводе кода из одной парадигмы в другую. Настало время любопытных, пытливых и готовых изучать совершенно новые вещи. Давайте начнем!



Все материалы из серии переводов русскоязычного сообщества F#-разработчиков вы сможете найти по тегу #fsharplangru.
Читать дальше →

Где наша бизнес-логика, сынок?

Reading time18 min
Views84K
Спасибо небу за то, что в субботу шел дождь, и я это прочитал (а вы скажите спасибо за то, что перевел). В воскресенье, однако, светило солнце и форматирование текста было отложено.

Отдельное спасибо автору, за разрешение отдельной публикации.

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

не поддайся темной стороне силы usernаme

Погружение в разработку на Ethereum. Часть 1

Reading time11 min
Views98K
Технология блокчейна завладела умами. Покупаются фермы, ICO собирают миллионы долларов. Наша компания тоже захотела приобщиться. Решили начать с малого. В серии статей будет описан наш путь от новичков в сфере блокчейна до общепризнанных гуру. На момент написания этих слов мы все еще на этапе новичков, предлагаем следить за нашим развитием и развиваться с нами.

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

Секвенирование ДНК в домашних условиях: как на коленке собрать прибор за 10 миллионов

Reading time9 min
Views154K
Всем привет, меня зовут Александр Соколов, и я хочу рассказать, как сделал дома секвенатор – прибор для расшифровки ДНК. Рыночная цена такого прибора составляет около 10 миллионов рублей.

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

Тюнинг SQL Server 2012 под SharePoint 2013/2016. Часть 2

Reading time24 min
Views11K
Здравствуйте! Сегодня с вами снова я — Любовь Волкова, системный архитектор департамента разработки бизнес-решений. В предыдущей статье мы начали обсуждение темы тюнинга SQL-серверов для работы с базами данных SharePoint 2013/2016. В материале были подробно рассмотрены вопросы выбора между физическим и виртуальным сервером, планирование размера, размещения баз данных, подготовка дисковой подсистемы и оптимизация передачи данных по сети.

Сегодня мы продолжаем рассказ, останавливая свое внимание на особенностях настройки параметров SQL-сервера в ходе процесса инсталляции с учетом последующей работы с базами данных SharePoint, а также настройках перед развертыванием SharePoint и в процессе обслуживания баз данных корпоративного портала.

Основная цель статьи – помочь системным администраторам, администраторам баз данных выполнить грамотную подготовку серверов, развертывание, настройку и обслуживание SQL-сервера с учетом лучших практик оптимизации производительности корпоративных порталов SharePoint.

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

Почему большие БД работают не как хочется, или про несбыточные мечты SQL-запросов

Reading time11 min
Views25K

image


В команде эксплуатации подумали, что наш опыт с Microsoft SQL в нагруженной среде больше нельзя скрывать, и потому родилась эта статья. В ней я расскажу о нюансах работы с этой СУБД из практики.


Microsoft SQL Server давно нашел свое место в семействе продуктов Яндекс.Денег и успешно решает задачу сбора разрозненной информации обо всех операциях из множества отдельных сервисов. Без такой сборки воедино нельзя было бы отследить платеж, собрать статистику или решить проблему.


Все сказанное далее будет полезно администраторам крупных БД – тем, кто заботится о быстрой и точной работе аналитики Microsoft SQL Server 2012-2014.


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

Итак, чем занимается MS SQL в Яндекс.Деньгах

Мониторинг акторов в Akka.Net, но на F#

Reading time15 min
Views6.4K
Сразу скажу, хаба для F# на хабре нет, поэтому пишу в C#.

Для тех кто не знаком с F#, но знаком с C#, рекомендую наисвежайшую статью от Microsoft.
Она поможет Вам испытывать меньше WTF моментов при прочтении, т.к. моя статья не туториал к синтаксису.


Контекст задачи


Есть сервис, написанный на Akka.NET, он вываливает в разные текстовые логи кучу инфы. Отдел эксплуатации грепает эти логи, жарит по ним регекспами, чтобы узнать о кол-ве ошибок (бизнесовых и не очень), о кол-ве входящих в сервис сообщений и кол-ве исходящих. Далее эта информация заливается в ElasticDB, InfluxDB и показывается в Grafana и Kibana в разных срезах и агрегациях.

Звучит сложно, да и парсить текстовые логи сервиса, который генерит несколько десятков ГБ текстового мусора в день — занятие неблагодарное. Поэтому встала задача — сервис должен быть способен поднять ендпоинт, который можно дёрнуть и получить сразу всю инфу о нём.

Решать задачу будем так:

  1. Напишем доменную модель для метрик
  2. Замапим доменную модель метрик на реализацию App.Metrics и поднимем апишечку
  3. Сделаем структурированный доменный логгер, который натянем на внутренний логгер Akka
  4. Сделаем обёртку для функциональных акторов, которая спрячет работу с метриками и логгером
  5. Соберём всё вместе и запустим
Читать дальше →

«Ультимативный» блокчейн-дайджест: полезные материалы на Хабре и другие источники по теме

Reading time6 min
Views19K
Вчера мы представили открытый фреймворк для разработки блокчейнов Exonum. Он позволит компаниям и правительственным организациям воплощать в жизнь безопасные блокчейн-решения.

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

Миллион WebSocket и Go

Reading time11 min
Views102K

image


Привет всем! Меня зовут Сергей Камардин, я программист команды Почты Mail.Ru.


Это статья о том, как мы разработали высоконагруженный WebSocket-сервер на Go.


Если тема WebSocket вам близка, но Go — не совсем, надеюсь, статья все равно покажется вам интересной с точки зрения идей и приемов оптимизации.

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

Типичные распределения вероятности: шпаргалка data scientist-а

Reading time11 min
Views141K

У data scientist-ов сотни распределений вероятности на любой вкус. С чего начать?


Data science, чем бы она там не была – та ещё штука. От какого-нибудь гуру на ваших сходках или хакатонах можно услышать:«Data scientist разбирается в статистике лучше, чем любой программист». Прикладные математики так мстят за то, что статистика уже не так на слуху, как в золотые 20е. У них даже по этому поводу есть своя несмешная диаграмма Венна. И вот, значит, внезапно вы, программист, оказываетесь совершенно не у дел в беседе о доверительных интервалах, вместо того, чтобы привычно ворчать на аналитиков, которые никогда не слышали о проекте Apache Bikeshed, чтобы распределённо форматировать комментарии. Для такой ситуации, чтобы быть в струе и снова стать душой компании – вам нужен экспресс-курс по статистике. Может, не достаточно глубокий, чтобы вы всё понимали, но вполне достаточный, чтобы так могло показаться на первый взгляд.
Читать дальше →

Разработка web API

Reading time9 min
Views291K

Интро


Это краткий перевод основных тезисов из брошюры «Web API Design. Crafting Interfaces that Developers Love» Брайана Маллоя из компании Apigee Labs. Apigee занимается разработкой различных API-сервисов и консталтингом. Кстати, среди клиентов этой компании засветились такие гиганты, как Best Buy, Cisco, Dell и Ebay.

В тексте попадаются комментарии переводчика, они выделены курсивом.

Собираем API-интерфейсы, которые понравятся другим разработчикам


Понятные URL для вызовов API

Первый принцип хорошего REST-дизайна — делать вещи понятно и просто. Начинать стоит с основных URL адресов для ваших вызовов API.

Ваши адреса вызовов должны быть понятными даже без документации. Для этого возьмите себе за правило описывать любую сущность с помощью коротких и ясных базовых URL адресов, содержащих максимум 2 параметра. Вот отличный пример:
/dogs для работы со списком собак
/dogs/12345 для работы с отдельной собакой
Дальше

Лучшие доклады на Google I/O 2017: Архитектура и не только

Reading time5 min
Views12K
Привет! Меня зовут Михаил Баранников, я — Android-разработчик в e-Legion. Недавно вернулся с Google I/O и решил поделиться впечатлениями и ссылками на интересные выступления. Всего на конференции было 14 параллельных треков, а значит — огромное количество докладов. Статья полезна для тех, кто планирует посмотреть видеозаписи докладов по Android-разработке, но не знает с чего начать.


ТОП-11 бесплатных ресурсов для изучения английской грамматики

Reading time3 min
Views330K
Мы уже говорили о том, как быстро и эффективно учить английские слова. Время узнать о подводных камнях английской грамматики. Опираясь на свой опыт, мы собрали список сайтов, на которых классно ее практиковать.

/* здесь могла быть картинка про грамматику, но мы решили не нагружать ваш браузер */
Читать дальше →

29 докладов DotNext 2017 Piter: От .NET Standard и контейнеров до безопасности и перфоманса

Reading time14 min
Views9K
Когда мы начинали делать DotNext, мы пошли по пути технического хардкора и мозголомной сложности, ровно так же, как делали это в Java-мире с Joker и JPoint. Шли годы, конференция росла, мы получали фидбеки и делали конференцию лучше, меняли программу, доклады, спикеров… И вот недавно, общаясь с людьми на DotNext и JPoint, я пришел для себя к интересному выводу — .NET разработчики не хотят упоротого хардкора:

  • Здесь нет безумного зоопарка фреймворков, работу которых надо в обязательном порядке знать на уровне исходников;
  • нет 5 GC, каждый из которых обладает своими особенностями;
  • качество документации стандартной библиотеки и развитых фреймворков в среднем выше;
  • большинство инструментов работают четко и счетчики производительности обычно не врут (это я в основном про .NET Framework говорю, с Core не все так радужно пока);
  • сам язык, в конце концов приятен и понятен (хотя под JVM можно пользоваться тем же Kotlin).

Зато есть много чего другого интересного:

  • Если вы работаете на низком уровне, модели памяти никуда не деваются;
  • Работа над улучшением производительности и оптимизации по памяти по прежнему с нами;
  • Сама платформа развивается огромными темпами — надо оставаться в курсе;
  • С кроссплатформенностью приходят новые инструменты и новые проблемы.

Поэтому новую программу конференции мы решили строить немного по-другому. Получается, что DotNext 2017 Piter — уже не только хардкор. А если не хардкор, то кто? Подробности смотрите под катом.


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

Введение в криптографию и шифрование, часть первая. Лекция в Яндексе

Reading time20 min
Views261K
Чтобы сходу понимать материалы об инфраструктуре открытых ключей, сетевой безопасности и HTTPS, нужно знать основы криптографической теории. Один из самых быстрых способов изучить их — посмотреть или прочитать лекцию Владимира ivlad Иванова. Владимир — известный специалист по сетям и системам их защиты. Он долгое время работал в Яндексе, был одним из руководителей нашего департамента эксплуатации.


Мы впервые публикуем эту лекцию вместе с расшифровкой. Начнём с первой части. Под катом вы найдёте текст и часть слайдов.

Авторизация в ASP.NET Core MVC

Reading time14 min
Views92K

Logo designed by Pablo Iglesias.


В статье описаны паттерны и приемы авторизации в ASP.NET Core MVC. Подчеркну, что рассматривается только авторизация (проверка прав пользователя) а не аутентификация, поэтому в статье не будет использования ASP.NET Identity, протоколов аутентификации и т.п. Будет много примеров серверного кода, небольшой экскурс вглубь исходников Core MVC, и тестовый проект (ссылка в конце статьи). Приглашаю интересующихся под кат.


Содержание:



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

Information

Rating
Does not participate
Location
Челябинск, Челябинская обл., Россия
Date of birth
Registered
Activity