Search
Write a publication
Pull to refresh
1
0
Кондратий Ермолин @Ermolin

User

Send message

.NET-разработка: переключения между DEV и PROD-окружениями. Часть первая

Reading time7 min
Views15K

Введение


Разрабатывая и отлаживая проект в Visual Studio, вы, как правило, делаете это, компилируя код в Debug-конфигурации. На боевой же сервер проект выкладывается, откомпилированный в Release-конфигурации. И каждый проект рано или поздно разрастается настолько, что в нём появляется некий «отладочный» или «релизный» код — то есть, тот код, который должен работать только в одной из конфигураций. И если бы дело ограничивалось только кодом, то директива условной компиляции #if решала бы все проблемы. Но обычно за кодом ещё тянутся настройки, специфичные для каждой из конфигураций, а зачастую и разметка веб-страниц. В самом начале, когда такие проблемы только начинают появляться, и ещё не являются сильной головной болью, обычно используется банальное комментирование ненужных в конкретный момент строк с кодом/разметкой/настройками. Но это — Road To Hell в самом чистом виде. А вот о Stairway To Heaven я и хотел бы рассказать.



Когда я впервые столкнулся с такой проблемой и уже погряз в костылях из комментариев и наборов различных конфигурационных файлов, то в какой-то момент решил поинтересоваться чужим опытом, а также получше изучить возможности среды разработки и используемых инструментов. И внезапно выяснил, что все мои искусственные костыли являются абсолютно избыточными — проблема может быть решена стандартными средствами и без ухудшения читаемости кода. Итоги моего исследования я опишу в небольшом цикле статей, где рассмотрю и примеры проблем с окружением, и механизмы, с помощью которых весь код, настройки и html-разметку автоматически можно привести в нужный вид при публикации проекта. Речь при этом пойдёт о разработке ASP.NET MVC-приложений, как области, в которой я, в основном, и работаю. Однако, всё написанное будет применимо к любой .NET-разработке в Visual Studio.
Читать дальше →

Оптимизация ASP.NET — практические советы по работе с IIS

Reading time12 min
Views102K
В данной публикации речь пойдёт о настройке важных параметров пула ASP.NET-приложений при вызове удалённых веб-сервисов и активной работе с сетью на стороне сервера через стандартные классы .NET.



Введение


Приходилось ли вам когда-нибудь самим настраивать производственные веб-сервера (production servers) под управлением ОС Windows Server 2008 R2/IIS 7.5 и выше? Для системных администраторов, имеющих большой опыт работы с IIS, скорее всего, это тривиальная задача, но вот для веб-разработчиков, которым по различным причинам порой приходится самим участвовать в настройке «боевых» серверов, данная информация может оказаться весьма полезной.

Итак, приступаем. Ускоряем сайт на ASP.NET — экономим деньги предприятия и нервы администратора.
Читать дальше →

Важнейшие изменения в ASP.NET 5 и MVC 6

Reading time8 min
Views64K
Доброе утро, дорогие читатели.

Мы начнем неделю с такого информативного, пусть и несколько тезисного перевода, который поможет нам уточнить, насколько аудитория заинтересована в издании книг по ASP.NET. Практика показала, что книги Питера "Разработка приложений с испоользованием ASP.NET и AJAX" и "Программирование с использованием Microsoft ASP.NET 4" не пользовались бешеным спросом. Однако вполне возможно, что по результатам данного поста мы все-таки решимся замахнуться на ASP.NET 5 и MVC 6.
Читать дальше →

ASP.NET MVC Урок 4. Routing

Reading time5 min
Views145K
Цель урока: Изучить инициализацию маршрутизации. Деление на Areas в приложении. Принципы создания маршрутизации.

Controller и Action.

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

Собственно, у нас есть маршрутизатор, который должен определить, какой метод у какого контроллера вызвать. Поэтому, два основных параметра, которые обязательно должны быть это controller и action. Рассмотрим как задается шаблон маршрутов в App_Start/RouteConfig.cs:
routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );

Таким образом....

Распространённый миф про анкеты для обратной связи

Reading time3 min
Views86K

Примерно половина пунктов — для того чтобы вы получили информацию, а не мы.

Психология – это как программирование, только для wetware.

Помните такие скучные анкеты, которые вы заполняете в магазинах для получения дисконтных карт и других штук? Миф в том, что всё это нужно для статистики. Так вот, самая полезная статистическая информация, которую можно получить из них – что у вашего среднего клиента одна грудь и одно яйцо.

На деле, конечно, их можно и нужно использовать для другого.
Читать дальше →

Написание парсера с нуля: так ли страшен черт?

Reading time12 min
Views96K
В прошлом топике я рассказывал о том, как мы с другом решили ради развлечения написать свой встраиваемый язык программирования для платформы .NET. У первой версии был серьезный недостаток — парсер был реализован на F# с помощью сторонней библиотеки. Из-за этого требовалась куча зависимостей, парсер работал медленно, а поддержка его была крайне муторным занятием.

Очевидно, что парсер нужно было переписать на C#, но при мысли о написании парсера с нуля вдруг находилась дюжина других срочных дел. Таким образом таск перекидывался и откладывался практически полгода и казался непосильным, а в итоге был сделан за 4 дня. Под катом я расскажу об удобном способе, позволившим реализовать парсер достаточно сложной грамматики без использования сторонних библиотек и не тронуться умом, а также о том, как это позволило улучшить язык LENS.

Но обо всем по порядку.
Читать дальше →

Зачем разработчику издеваться над собственным кодом

Reading time8 min
Views32K


Проблема решена: 317 кликов исправили ошибку

В 1992 году я считал себя лучшим программистом в мире. В свое оправдание могу сказать лишь, что тогда я только закончил колледж (это было еще до появления Интернета) и жил в Боулдере, штат Колорадо, подрабатывая в мелких компаниях – я почитал за большую удачу возможность просто услышать о других программистах, не говоря уже о том, чтобы повстречаться с ними.

В итоге я познакомился с человеком по имени Билл О’Нил, который нанял меня в качестве программиста, работающего по контракту. Он создал компанию с довольно неоригинальным названием Computer Research & Technologies, и мы стали работать над различными задачами вместе.

Мы занимались разработкой CRUD-приложений [Create, Read, Update, Delete – вариант приложения с базовыми функциями создания, просмотра, обновления и удаления записей в базе данных – прим. перев.] для бизнеса на Visual Basic и FoxPro под Windows 3.1 (и иногда под DOS, так как предчувствовали, что новомодный графический интерфейс останется с нами надолго).

Билл был первым профессиональным программистом, с которым я когда-либо работал. Да что тут говорить, он был первым программистом вообще, с которым я когда-либо работал. Он выдавал мне техзадание, по нему я писал программу на Visual Basic и затем отдавал ее на проверку Биллу. После этого он спокойно объяснял мне, что мой код никуда не годится.
Читать дальше →

Учебное пособие по кэшированию, часть 2

Reading time9 min
Views172K
Вторая часть довольно подробного и интересного изложения материала, касающегося кэша и его использования. Часть 1.

Автор, Mark Nottingham, — признанный эксперт в области HTTP-протокола и веб-кэширования. Является председателем IETF HTTPbis Working Group. Принимал участие в редактировании HTTP/1.1, part. 6: Caching. В настоящий момент участвует в разработке HTTP/2.0.

Текст распространяется под лицензией Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.

От переводчика: об опечатках и неточностях просьба сообщать в личку. Спасибо.
Читать дальше →

Учебное пособие по кэшированию, часть 1

Reading time5 min
Views102K
Довольно подробное и интересное изложение материала, касающегося кэша и его использования. Часть 2.

Автор, Mark Nottingham, — признанный эксперт в области HTTP-протокола и веб-кэширования. Является председателем IETF HTTPbis Working Group. Принимал участие в редактировании HTTP/1.1, part. 6: Caching. В настоящий момент участвует в разработке HTTP/2.0.

Текст распространяется под лицензией Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.

От переводчика: об опечатках и неточностях просьба сообщать в личку. Спасибо.
Читать дальше →

Как нам удалось построить видеохостинг за 1¢/ГБ

Reading time4 min
Views26K

Почему видеохостинг такой дорогой


Из всех видов статических файлов, используемых на веб-сайтах, с видеороликами связаны наиболее жёсткие требования к хостингу:

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

Аренда серверов для видеохостинга в США значительно дешевле (за исходящий гигабайт), чем во многих других странах. Однако доставка видео с американских серверов на другие континенты редко бывает достаточно быстрой, чтобы фильм можно было смотреть без перерывов на буферизацию, и чтобы время ожидания перед началом воспроизведения было приемлемым. Поэтому хозяевам сайтов с видеороликами, выходящих на международную аудиторию, приходится арендовать местные сервера в разных частях света поближе к своим пользователям. Показ ролика пользователю из России, например, обходится типичному видеосайту в несколько раз дороже, чем показ того же ролика американцу. Приходится или дороже платить, или снижать качество видео для зарубежных зрителей. Вот и выходи после этого на международный рынок.

Чтобы решить эту проблему, нам пришлось сделать софт умнее.


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

Хроники ремонта: как мы делали новый умный офис Madrobots. Часть вторая, умная

Reading time17 min
Views44K
У нас в компании есть отличная традиция. Раз в полгода мы собираемся вместе и что-нибудь строим. Год назад это была горбушка, полгода назад — мега. А в этот раз мы сделали наш новый офис!
Под катом вас ожидает большое количество картинок, 5 заключительных глав про то, как из склада женских сапог мы сделали высокотехнологичный офис в стиле «лофт», описание того, как мы делали этот офис умным и некоторое количество смешных картинок. Не переключайтесь!

Часть первая

Часть вторая

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

[кейс] Как вернуть долг от бывших работодателей или про хитрые переговорные стратегии

Reading time5 min
Views76K
Года 4 назад довелось побывать на конференции по рекрутингу. Я там делал небольшой доклад про найм инженеров, но несравнимо большее удовольствие получил, слушая доклады опытных хедхантеров.

Это реально детектив! Агата Кристи, Ян Флеминг и Джон Гришем! Люди разрабатывают схемы с внедрением своих людей в чужие компании, продумывают стратегии на три хода вперед… И это работает.

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

image

Кейс “Переговоры стоимостью в 3 зарплаты”


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

Инструменты поисковиков для продвижения сайтов

Reading time4 min
Views9.2K
В предыдущих статьях мы рассказали про базовые принципы поисковой оптимизации, при выполнении которых можно достаточно хорошо улучшить позиции своего сайта в результатах поиска.

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

Данный обзор инструментов идет в продолжение первых двух статей (см часть 1 и часть 2)

Сейчас мы разберем такие важные вопросы как:
  • Присвоение региона сайту
  • Формирование особых сниппетов
  • Обзор самых важных слов сайта
  • Анализ мета-описаний страниц сайта
  • Проблемы индексации
Эти инструменты хорошо известны профессионалам, но далеко не все, кто самостоятельно занимается продвижением своего сайта, знает о них. Эта статья именно для них.
Читать дальше →

SEO для интернет-магазинов

Reading time6 min
Views75K
Интернет-магазин, который не использует SEO — нонсенс, и вряд ли вообще найдутся примеры успешных проектов, не использующих этот канал привлечения клиентов.

Трафик должен быть большим, целевым и максимально дешевым. Грамотная стратегия поискового продвижения гарантирует минимальную цену посетителя.

В битве за клиента каждый крупный интернет-магазин старается нанять «гуру» поискового маркетинга.

В битве за клиенты каждый крупный интернет-магазин старается нанять «гуру» поискового маркетинга. Уровень зарплат людей с реальными достижениями в этой сфере очень высок. Если бюджет продвижения — n миллионов рублей в месяц, лучше сразу нанять дорогого и опытного человека, нежели позволять новичку выбросить несколько этих самых миллионов на получение опыта. Однако SEO — не rocket science, а комплекс стандартных приемов, которые может научиться применять на практике любой нормальный человек. Продвигать OZON сложно, продвигать небольшой интернет-магазин — достаточно просто, особенно используя правильные инструменты.

В этой статье мы не будем подробно описывать выделение бюджета, определение целевой аудитории, вычисление максимально выгодной цены клика, системы аналитики и т.п. маркетинговые моменты, а постараемся сосредоточиться на технических аспектах SEO для e-commerce.

Особенности

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

Пример: если выйти в десятку «Яндекса» по запросу «утюги», можно получать 1000 переходов и 15 покупок. Если примерно за те же деньги стоять в топе по сотне более специфических и дешевых в продвижении запросов типа «утюг Tefal fv5378», можно получать 5000 переходов и 50 покупок. Цифры условные, но логика понятна.

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

Как начать SEO-продвижение по принципу «Бережливого стартапа»

Reading time9 min
Views17K
Вы помните свой самый первый день в офисе? Тот самый момент, когда вы, новичок, в первый раз приходите на работу? Это именно то, что, как я вспоминаю, делал совсем недвано тут в Distilled. Помимо приветственных улыбок коллег, там был мой рабочий стол, оборудованный лэптопом, монитором и Kindle. На Kindle была загружена библиотека рекомендованных для чтения материалов, включая The Lean Startup (Бережливый стартап).



Читая книгу The Lean Startup (Бережливый стартап) я спросил себя, зачем Distilled рекомендовала мне эту книгу и какое отношение она имеет к SEO?
Читать дальше →

Что такое Мастер-Данные и зачем они нужны

Reading time8 min
Views188K

Введение



(клик по картинке ведёт внутрь публикации)

Развиваясь, организации внедряют всё больше и больше информационных систем совершенно различных направлений: бухгалтерский учет, управление персоналом, управление складом etc. Системы живут и развиваются независимо друг от друга до того самого момента, как компании не потребуется взглянуть на свои данные целиком. Объемы данных уже достигают критической точки и выясняется, что сопоставить и сравнить данные вручную становится просто невозможно. Решения основанные на противоречивых и невыверенных данных ведут к управленческим ошибкам, а дубли и неактуальность данных к неверным бизнес решениям.

Конечно же проблема описанная выше не нова и сегодня мы обсудим классический способ решения — систему управления мастер-данными.

Оглавление
  1. Введение
  2. Что такое MDM
  3. Типы корпоративных данных: что такое справочные и транзакционные данные
  4. Зачем оно нужно?
  5. Методы решения
  6. Типы MDM-систем
  7. Индикаторы необходимости внедрения СУ НСИ
  8. Выводы
Читать дальше →

12 уроков из управления проектами и запуска стартапов

Reading time9 min
Views126K
Я разработал около сотни проектов, в том числе — стартапов. Многие из них достигали пика и умирали, некоторые работают до сих пор. Делал как B2C, так и B2B.

В последнее время наблюдается поток вопросов от знакомых и друзей, которые делают одни и те же ошибки. Я хотел бы рассказать о своем опыте в посте тезисов. И если он будет успешен — продолжить серию.

Если лень читать — ролик, выражающий основной дух и главный смысл, находится внизу. Ролик вызовет восхищение — отлично, идите делать очередной релиз. Ролик вызовет отторжение — читайте пост до другой реакции сколько угодно :)



1. Важнее всего — желание

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

Психология ценообразования: 10 стратегий и 29 тактик

Reading time30 min
Views65K


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

Неважно, запускаете ли вы новый продукт, продаете что-либо на eBay или же заключаете сделку о продаже дома – вы научитесь устанавливать цены, которые максимизируют вашу прибыль.
Читать дальше →

Поиск работы для программиста в Лондоне

Reading time11 min
Views53K

Дисклеймер


Все написанное ниже основано на моем личном опыте и не претендует на истину. Там, где возможно, я даю ссылки на источники, читайте, проверяйте. Если ссылки на источник нет, значит это просто мое личное мнение, вы можете с ним не соглашаться, только не пытайтесь изменить мое.

Мы переехали в Лондон (Великобритания) из Хабаровска (Россия) в конце 2014. Мой муж senior php developer, с серьезным опытом работы c linux и вообще большой умница. Мой профессиональный багаж включает всякую ерунду типа FoxPro, но на последнем месте работы я занималась разработкой под интеграционную шину и JavaEE.

Шаг 1. Виза


Очевидно, чтобы приехать в Великобританию требуется виза, в контексте работы, пожалуй, наиболее реальный вариант Tier2 General.
Читать дальше →

Контент-маркетинг: как мультиканальный подход увеличил органический трафик на 97%

Reading time8 min
Views7.6K

Резюме


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

В данном случае, речь идет о том, как европейский разработчик CRM системы SuperOffice, использовала контент – маркетинг во всех своих инструментах продвижения. При этом, выдерживая конкуренцию с такими монстрами рынка как Saleforce и Microsoft.

image

Узнайте, как SuperOffice применила тактику сфокусированную на контенте, в SEO, социальных медиа и е-mail маркетинге. В результате чего, органический трафик возрос на 97%, а количество лидов увеличилось на 43%.
Читать дальше →

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity