Перейти к содержимому

Or: how a single attribute, two server roles, and one very helpful accident cost us weeks of confusion.

We recently spent the better part of two weeks chasing a bug that, at every step, looked like it simply could not be ours. Same binaries. Same configuration. Same request. One server returned data, the other returned a 500. In the end, the fix was deleting one attribute from one class — and the journey there taught us more about the ASP.NET Web API + Newtonsoft.Json + Sitecore role plumbing than we ever wanted to know.

This is the write-up we wish we could have googled on day one.

...читать далее "When Switching Server Roles «Fixes» Your Bug — It Doesn’t"

Recently, I took a closer look at my typing habits and realized that a standard keyboard no longer fits my needs or expectations. I was also experiencing some wrist pain, which prompted me to explore alternatives. That’s when I discovered the fascinating world of split keyboards. My goal was to improve comfort during long typing sessions, benefit from a more ergonomic sitting position, and enhance my posture. I’m happy to report that I’ve achieved these goals! Here’s the story of how I made the switch.

First, I searched the internet for solutions to my problems: reducing hand movement, being able to control the mouse without moving my hand to a separate device, and using a split keyboard for a more relaxed posture.

...читать далее "My new keyboard — Charybdis MK2"

SonarQube is awesome tool and it's Community edition (which is free) fulfills almost everything one could dream for in the world of static code analysis. But, you could not analyze PR's with it by default and have to pay for at least Developer edition. Further you could find my attempt to overcome this limitation (it fulfills MY goals and seems to be worth sharing with broader audience).

...читать далее "SonarQube Community edition and PR analysis"

While working with Sitecore deployments based on ARM and PowerShell scripts, developed by Rob Habraken (Rob has covered them in a series of blog posts on his own blog) and slightly optimized by me, I noticed that we are having a problem: these scripts are used on a per-project basis and once implemented, they start aging. Since manually updating scripts for each project is a dull and cumbersome task, it usually is never executed. So I decided to build a VSTS release task, which could be reused in each of our projects and makes it easier to always have the latest version of the ARM and PowerShell scripts for a certain Sitecore version.

...читать далее "Sitecore Deployer"

Since I started working with Azure Web apps I started thinking: how could we optimize budget spending for PaaS? For VMs it is clear, you stop them. VM v1 requires an additional PowerShell command to deprovision them to stop spending money on them, while VM v2 are deprovisioned automatically on stop. But for or Azure SQL databases and Azure Web apps it was not that straightforward.

...читать далее "Saving money with Azure Costs Saver VSTS extension"

Любая доставка веб приложения, хостящегося в IIS и основанного на ASP.NET, как правило, ведёт к рестарту процесса, обслуживающего сайт, что, в свою очередь, разрушительно сказывается на кэшах приложения. С тем, чтобы оптимизировать данную проблему, мои коллеги разработали приложение, которое автоматически узнает у Google Analytics наиболее посещаемые страницы и пробегает по ним

...читать далее "Автоматический разогрев веб-приложения после доставки"

Данная запись посвящена решению следующей задачи: автоматически развернуть веб приложение, основанное на Drupal, с компиляцией фронтэнда, использующей Grunt, при помощи Continuous Deployments фичи Azure Web app (то есть, без выделенного билд сервера), при том, что доступ к серверу должен быть ограничен по IP.

...читать далее "Azure Web apps: автоматическое развертывание Drupal с фронтэнд компиляцией при помощи Grunt"

В этой записи я попробую рассказать, как можно доставить любой файловый контент, включенный (автоматически или вручную) в ваш солюшен автоматически, один и только один раз. Для примера буду использовать Umbraco и платные модули Seochecker и Contour. Причину, по которой это может понадобиться я опишу далее.

...читать далее "MsDeploy: как доставить файловый контент лишь один раз для солюшена"

Последнее время я был очень занят работой по поддержке наших клиентов и поэтому просто не было времени, чтобы писать в блог. Однако, система доставки и интеграции тем временем всё-таки развивается и активно используется нами. Хочу рассказать о сравнительно свежих обновлениях, добавленных в процедуру доставки веб приложений.
...читать далее "Continuous Delivery и анализ производительности приложения"