Search
Write a publication
Pull to refresh
0
0

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

Send message

12 инструментов для отладки .NET-приложений по производительности и по памяти

Reading time7 min
Views22K
В недавнем интервью с Джоном Скитом мы пришли к выводу, что профессиональная работа с любой технологией подразумевает умение диагностировать проблемы и понимать, как ваши приложения работают под капотом. Вдогонку к тому разговору, я узнал у Саши goldshtn Гольдштейна, одного из лучших в мире экспертов по производительности .NET, автора книги «Pro .NET Performance», на какие инструменты следует обратить внимание .NET-разработчикам.

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


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

Оценка стоимости ПО: Дэн Гэлорат и SEER-SEM

Reading time7 min
Views6.6K


Дэниэль Д. Гэлорат — президент и исполнительный директор Galorath Incorporated и главный разработчик SEER-SEM, программного продукта по алгоритмическому управлению проектами.

Он считается экспертом в области оценки программного обеспечения и автор книги «Программное обеспечение, оценка и риск-менеджмент» («Software Sizing, Estimation, and Risk Management»).

«Книга помогает определить лучший способ инвестировать в улучшение производительности программного обеспечения.»
— Берри Боэм, автор спиральной модели и COCOMO
Читать дальше →

Функциональный TypeScript

Reading time5 min
Views13K

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


Примечание от переводчика: весь код для удобства я оформил в репозитории.


Для этого мы будем использовать три техники:


  • функции вместо примитивов
  • трансформация данных через pipeline
  • выделение общих (generic) функций

Начнём же!

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

Как мы построили инфраструктуру для своего финансового сервиса

Reading time8 min
Views6K
В этом материале мы в команде платежной системы для интернет-магазинов Fondy расскажем, с какими проблемами мы сталкивались при разработке нашего проекта и как их решали.

image

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

  • 35 сотрудников обеспечивают работу офисов в России, Украине, Латвии, Чехии, Великобритании, Словакии и Казахстане, покрывая тем самым две больших юрисдикции: EC и СНГ.
  • Более 30 серверов обеспечивают гарантированную работоспособность (Service Level) системы на уровне 99,95% (не более 20 минут запланированного, а также непредвиденного простоя в месяц) и готовы к многократному росту нагрузки.
  • Разработка выполняется по методологии Continuous Integration с применением автоматизированного тестирования, что позволяет устанавливать обновления на production систему по несколько раз в день, не боясь получить большое количество ошибок.
  • Бизнес-процессы построены так, что каждая новая функциональность проходит этап от идеи до реализации за 2-3 недели, а запуск нового проекта не более 3-4 месяцев.

Но так было не сразу.
Читать дальше →

В поисках быстрого локального хранилища

Reading time7 min
Views25K
Текст этой статьи также доступен на английском.

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

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

Вы знаете, что такое трансдьюсеры

Reading time6 min
Views45K

Трансдьюсеры были анонсированы еще в далеком 2014, с тех пор по ним было написано немалое количество статей (раз, два), но ни после одной статьи я не мог сказать, что понимаю трансдьюсеры кристально ясно. После каждой статьи у меня возникало ощущение, что я приблизительно понимаю что-то сложное, но оно все равно оставалось сложным. А потом однажды в голове что-то щелкнуло: "я ведь уже видел этот паттерн, только он назывался иначе!"

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

Еще про внедрение таймзон в долгоживущий проект

Reading time5 min
Views9.2K
Некоторое время назад начали адаптировать систему под требования нового рынка, где поддержка таймзон обязательна. Начальные изыскания описывал в предыдущей статье. Сейчас подход немного эволюционировал под влиянием реалий. Под катом описание проблем, с которыми пришлось столкнуться в ходе обсуждений, и окончательное решение, которое воплощается в жизнь.
Читать дальше →

Поиск по регулярным выражениям с помощью суффиксного массива

Reading time7 min
Views11K
image

Еще в январе 2012 Расс Кокс опубликовал замечательный блог-пост, объясняющий работу Google Code Search с помощью триграммного индекса.

К этому времени уже вышли первые версии моей собственной системы поиска по исходному коду под названием livegrep, с другим метод индексации; я писал эту систему независимо от Google, с помощью нескольких друзей. В этой статье я хотел бы представить немного запоздалое объяснение механизма ее работы.
Читать дальше →

25 интересных книг для дизайнеров в открытом доступе

Reading time5 min
Views32K
Предлагаем вниманию читателей свежий список англо- и русскоязычных книг для дизайнеров, с которыми можно ознакомиться в Сети. В эту подборку вошли как издания из библиотек крупных компаний, так и работы независимых авторов.

Библиотека UX Pin



«Web Design Trends 2017»
Очередной выпуск из серии изданий о современных трендах. Описываются и препарируются практики от таких ведущих компаний, как Paypal, Adidas, Starbucks, Facebook, Spotify, Fitbit, Google и Dropbox – всего 61 пример, с подробным разбором для каждого.

Скачать

«Interaction Design Best Practices»
Шесть глав о том, как создавать отзывчивый дизайн, с которым пользователю легко взаимодействовать. В качестве иллюстраций к теоретическому материалу приводятся кейсы от крупных IT-компаний (MailChimp, Mint, Apple, KickStarter, Google, AirBnB, Netflix).

Скачать
Читать дальше →

Геймдев для чайников или как в одиночку сделать игру

Reading time4 min
Views49K
Привет, будущий геймдевелопер! Я думаю, что многих интересует, а можно ли создать игру одному, а тем более без вложений. Вот именно об этом и пойдет речь. Я столкнулся с этим не понаслышке. Все, что написано ниже, основано на собственном опыте геймдева с нуля за 3 месяца.
Читать дальше →

А вы знаете скорость загрузки вашего сайта с мобильных устройств? Самое время разобраться

Reading time4 min
Views20K


Выясните, сколько времени потребуется для загрузки страницы на мобильных устройствах из разных регионов.
Читать дальше →

+500 бесплатных инструментов для запуска вашего стартапа в 2017 году

Reading time40 min
Views156K


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

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

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

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

Reading time12 min
Views14K
В силу своей профессии я выступаю и присутствую на конференциях, семинарах, заседаниях рабочих групп, лекциях и пр. Очень часто, практически всегда, заметно достаточно низкое качество представления презентаций, даже несмотря на безукоризненное понимание излагаемого материала самим докладчиком. Возможно, это связано с тем, что у нас нет уроков, лекций и курсов, включенных в стандартный образовательный процесс. Поэтому, каждый делает доклады кто во что горазд в меру своего понимания прекрасного. Тем не менее, какие-то базовые знания о создании доклада быть должны. И их можно обнаружить, например, в руководстве для $\LaTeX$ пакета BEAMER, созданного как раз для подготовки презентаций. Но речь не о данном конкретном пакете и не о $\TeX$-е, а о разделе 5 части I этого руководства, в котором содержатся общие рекомендации по подготовке докладов. И, поскольку, в большей своей части они полностью соответствуют моим представлениям, я решил сделать перевод для ознакомления широкой аудиторией, по возможности сохранив стилистику и форматирование.

Сразу пару замечаний:

1) пакет BEAMER оперирует другими, отличными от PowerPoint понятиями slide и frame (презентация состоит из серии фреймов, каждый фрейм, в свою очередь, состоит из нескольких слайдов), но на восприятии текста это не сказывается;
2) несколько раз в тексте встретятся команды TeX, но, в контексте они не потребуют объяснений.
Читать дальше →

Зачем нужен Refresh Token, если есть Access Token?

Reading time4 min
Views266K
Недавно мы в Voximplant улучшали авторизацию в SDK. Посмотрев на результаты, я несколько опечалился, что вместо простого и понятного токена их стало две штуки: access token и refresh token. Которые мало того что надо регулярно обновлять, так еще документировать и объяснять в обучающих материалах. Помня, что в OAuth два токена нужны в основном из-за разных сервисов, на которых они используются (даже вопрос на stackoverflow есть), а у нас такой сервис один, я несколько офигел и пошел на второй этаж вытрясать души из разработчиков. Ответ получился неожиданным. Его нет на stackoverflow. Зато он есть под катом.
Читать дальше →

Построение кэша с эффективным многопоточным доступом

Reading time14 min
Views14K


Привет! Меня зовут Паша Матлашов. Я Director of Game Server Development Department в игровой компании Plarium.

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

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

Reading time14 min
Views92K

Logo designed by Pablo Iglesias.


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


Содержание:



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

Интернационализация (i18n) в Angular 2

Reading time5 min
Views33K
Для создания мультиязычных интерфейсов Ангулар предлагает использовать механизм разметки HTML шаблонов специальным маркером i18n который после компиляции удаляется из финального кода. Для этого достаточно указать этот маркер как атрибут тега окружающего текст.
Читать дальше →

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

Reading time8 min
Views39K
Представьте, что вы могли бы ускорить свой процесс обучения и улучшить запоминание основ, техник и команд программирования.

Сегодня я расскажу вам, как это сделать с помощью интервального запоминания и бесплатного open-source инструмента под названием Anki.


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

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

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

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

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

Как основать стартап и не сломать собственную жизнь

Reading time16 min
Views73K
Участие в стартапе по эмоциям напоминает езду по американским горкам, когда в какой-то момент вы чувствуете, что владеете миром, а через секунду — что всё рушится. Это руководство может помочь в запуске стартапа.

Данная статья является обновлением моей предыдущей статьи, написанной в 2014 году. Прошло уже почти три года с той поры, и я хотел бы дать улучшенную информацию посвежее.

В течение 6 лет я работал исключительно в стартапах. Я был «программистом» — специалистом, которого нанимали для преобразования идей в «реальный» бизнес. У меня никогда не было желания запустить моё собственное дело: стоит ли рисковать комфортной жизнью ради идеи, которая может не сработать?

Затем 4 года назад я взялся за трудное дело, основав стартап — 5-дневные курсы обучения программированию в Лондоне под названием Steer. Через два года я оставил Steer, запустив SuperHi.

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

Information

Rating
Does not participate
Location
Хмельницкий, Хмельницкая обл., Украина
Date of birth
Registered
Activity