• DDIA book (книга с кабанчиком) — сделай level up в понимании баз данных

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

      Наш формат:

      1. Выбираем книгу.
      2. Определяем часть, которую необходимо прочитать за неделю. Выбираем небольшой объем.
      3. В пятницу обсуждаем прочитанное.
      4. Читаем в нерабочее время, обсуждаем в рабочее.
      5. После окончания книги совместно выбираем следующую.

      Что дает:

      1. Мотивация на чтение и дочитывание.
      2. Развитие скиллов (в том числе на будущее).
      3. Выравнивание майндсета и терминологии в команде.
      4. Рост доверия.
      5. Лишний повод пообщаться.

      Одна из недавних книг, которую мы читали — Designing Data-Intensive Applications. Да-да, та самая книга с кабанчиком. И эта книга настолько всем понравилась, что я решил сделать здесь обзор, чтобы большее количество людей ее прочитали.


      Карта в исходном качестве
      Читать дальше →
    • Путь разработчика ASP.NET → PHP

        Так получилось, что в сентябре прошлого года назад я перешел в компанию, где основным языком бэкенд-разработки был PHP 7. До этого технологии с которыми я работал ограничивались C#, ASP.NET, Javascript (JQuery, Angular 1.x, Typescript), MS SQL, IIS и Windows Server. Теперь же предстояло погружение в новый стек. Данная статьи — не очередной наброс на вентилятор для поддержки холивара. Постараюсь отметить, что показалось необычным или непривычным. Статья обращена к .net разработчикам, но, надеюсь, будет интересна и PHP сообществу.
        image

        Начнем с сессии

        Читать дальше →
      • IIS Request filtering против ddos-атаки

          Лежим


          Заказчик, чьи сайты я поддерживал ранее, обратился с тем, что сайт лежит и отдает 500 ошибку. У него стандартный сайт на ASP.NET WebForms, не скажу, что очень нагруженный, но бывали проблемы с производительностью базы данных (MS SQL Server на отдельном сервере). Недавно сервер БД поменяли и перенесли данные.

          Этот сайт не основной бизнес заказчика, поэтому практически не обслуживался. У него не настроено никакого мониторинга  и сбора метрик и вообще за ним особо не следят.

          Данные телеметрии


          Какие аномалии бросились в глаза:

          1. Процесс w3wp использовал более 50% CPU (обычно сильно меньше).
          2. Количество потоков в этом процесс стабильно прирастало (сайт не успевал обслужить клиентов).
          3. Диск на сервере БД использовался на 100% (Active Time).
          4. Длина очереди обращений к диску с базами проекта была большой (обычно в районе нуля-единиц).
          5. Оперативная память на сервер БД использована полностью.
          6. Профайлер показал, что есть один горячий метод, который ходит в БД.
          Читать дальше →
          • +17
          • 10,7k
          • 8
        • Обзор ASP.NET 5

          • Перевод
          ASP.NET 5 привносит значительные изменения в платформу ASP.NET. В этой статье рассматриваются новые концепции ASP.NET 5 и объясняется, как они помогут разрабатывать современные веб-приложения.

          Введение в ASP.NET 5.


          ASP.NET 5 — это лишенный всего избыточного .NET стек для построения современных веб-приложений. Мы построили его с нуля, чтобы обеспечить оптимизированную платформу для разработки приложений, которые будут развернуты в облаке или работать на собственных серверах. Для поддержки гибкости при построении решений данная платформа состоит из модульных компонентов с минимальными накладными расходами.
          ASP.NET 5 включает в себя следующие возможности:

          • Новая гибкая и кроссплатформенная среда выполнения
          • Новый модульный конвейер для HTTP-запросов
          • Конфигурация готовая к использованию в облаке
          • Унифицированная программная модель, которая сочетает в MVC, Web API и Web Pages
          • Возможность увидеть изменения без повторного построения проекта
          • Использование нескольких версий .NET Framework бок о бок
          • Возможность self-hosting или хостинга на IIS
          • Новые инструменты в Visual Studio 2015
          • Открытый исходный код в GitHub

          Изменения, которые мы сделали для ASP.NET 5 были основаны на запросах клиентов и обратной связи. Эти изменения упрощают разработку, хостинг и обслуживание и ориентированы на современные веб-приложения.
          Читать дальше →
        • TDD мертв. Да здравствует тестирование

          • Перевод
          От переводчика. Давид Хейнемейер Ханссон данной статьей поднял острую тему обязательности использования TDD и, даже, возможного вреда от написания тестов перед написанием кода. Именно эта статья послужила лейтмотивом уже пяти встреч на тему жив ли TDD, на которых Давид, Кент Бек и Мартин Фаулер обсуждают достоинства и недостатки TDD, рамки применимости и ограничения. Для тех у кого восприятие устного английского оставляет желать лучшего, SergeyT публикует краткие саммари в своем G+.

          Читать дальше →
        • Автоматизация тестирования Windows-приложений с использованием .Net

            Автоматизация тестирования.


            Тестирование – деятельность, выполняемая для оценки и улучшения качества программного обеспечения. Эта деятельность, в общем случае, базируется на обнаружении дефектов и проблем в программных системах.
            Тестирование программных систем состоит из динамической верификации поведения программ на конечном (ограниченном) наборе тестов, выбранных соответствующим образом из обычно выполняемых действий прикладной области и обеспечивающих проверку соответствия ожидаемому поведению системы.
            Основным подходом при тестировании программного обеспечения является тестирование «черного ящика». При данном подходе тестировщику неизвестно внутреннее устройство программы. Тестировщик взаимодействует с программой: вводит данные, нажимает кнопки, манипулирует другими визуальными компонентами и оценивает результаты.
            Читать дальше →
          • StreamTorrent — смотрим потоковое видео

              Интернет телевидение


              В связи с улучшением тарифов наших провайдеров (сейчас 2,5 мбита за 450 р.) я заинтересовался Интернет телевидением. Меня привлекает два момента: возможность смотреть спортивные трансляции, которых у нас нет или есть только на спутнике (НТВ+), возможность смотреть англоязычные каналы, так как есть желание научиться понимать английскую речь.
              Читать дальше →
            • Проблемы с гарантийным ремонтом ноутбука Dell

                Предыстория



                Необходимо было купить директору ноутбук, основным требованием был относительно маленький размер. Начали выбирать среди 12-13 дюймов. Мониторинг наших магазинов дал немного информации, в наличии было три модели разных марок, которые нас устроили — Dell, Samsung и вроде Acer. По разным причинам остановилсь на Dell, модель XPS m1330. Оплатили безналом, получили документы и технику. Все шло хорошо. Покупка была сделана в магазине сети Санрайз в ноябре 2008. Тем временем кризис сделал свое дело с не страдающим от наплыва покупателей магазином, и тольяттинский магазин закрылся. Ближайший в Самаре (примерно 100 км).

                Поломка



                Где-то в октябре ноут начал ломаться — проблемы с видеокартой — экран во время работы становился темным, появлялись слегка заметные темно-зеленые вертикальные полосы. Бук еще на гарантии — не проблема, подумал я и начал общаться с сервисом Санрайза. Те сначала говорят, чтобы я вез в официальный СЦ. Далее по непонятным причинам сгорел винт.

                Читать дальше →
              • HUD и нотсы для участников дорожного движения

                  Периодически играю в покер онлайн. Во всех румах есть возможность написать нотс (заметку) на другого игрока. Данные нотсы помогают при следующих встречах с данным игроком за столом. Я пишу туда какие-то безумные действия, что-то типа all-in с мусором или кол с мусором, либо наоборот хитрые, не очевидные действия, например слоуплей карманных тузов.

                  Есть еще такая вещь как HUD — вывод статистики на экран во время игры, таких программ несколько, например покертрекер или холдемменеджер. Они собирают инфу по игрокам во время моей игры и предостовляют мне информацию о стиле игры оппонентов, а я уже могу скорректировать свою игру.

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

                  Так к чему это все я.

                  Сегодня переходил улицу и в очередной раз заметил, что водятел не включил поворотник. Я посмотрел на номер и мне захотелось сделать нотс: «Не включает поворотник». Как было б здорово ездить и ходить по улицам, если б у нас была инфа по стилю вождения значимого количества участников дорожного движения. Может в будущем можно будет на бортовой комп поставить специальное ПО, которое распознает номер и ищет по базе нотсы и какую-нить статистику (частота перестроения, количество обгонов etc) на других водителей, делая ваше движение легче и безопасней.

                  Удачи на дорогах!
                • Лайфхак: покупка валюты в Сбербанке без комиссии

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

                    Гибкий курс


                    У сбера гибкий курс. до 1000 один курс, от 1001 другой (лучше для клиента) поэтому получается, что дешевле купить 1001 евро, чем 1000 (меньше платим, больше получаем)

                    Безналичная конвертация


                    В итоге я выяснил, что при операциях с валютой у них есть комиссия. До 1000 уе — 30 рублей, после 1000 — 70 рублей. Что расставляет на место все проблемы с гибким курсом, так как за счет разницы в комиссионных курс почти выравнивается.
                    Но не в моем случае! Так как я проводил безналичную конвертацию — я был освобожден от комиссии.

                    Таким образом, если вам жалко платить комиссию, но у вас есть чуть лишнего времени, можно не покупать валюту за наличку, а положить деньги на депозит в нужной вам валюте и сразу снять. Может быть в других банках есть что-то подобное.
                  • Программирование по контракту в .NET Framework 4

                      Столкнувшись с проблемой смены работы и желания работать разработчиком в хорошей конторе, понял, что мне не хватает знаний в области архитектуры, проектирования, ООП и прочих, не специфичных для платформы или языка вещах. Источники получения информации, кроме личного опыта, стандартные – книги и Интернет.

                      К тому времени были прочитаны книги Фаулера о рефакторинге и книга GoF. Эти книги многое мне дали и были очень полезными, но хотелось чего-то более основополагающего об ООП. Поискав по форумам, я нашел несколько книг, которые меня заинтересовали:
                      Бертран Мейер «Объектно-ориентированное конструирование программных систем»
                      Гради Буч, Объектно-ориентированный анализ и проектирование
                      Барбара Лисков. Использование абстракций и спецификаций при разработке программ

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

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