• Исследуем базы данных с помощью T-SQL

    • Translation
    Как dba и консультант по оптимизации производительности SQL Server в Ambient Consulting, я часто сталкиваюсь с необходимостью анализа узких мест производительности на экземплярах SQL Server, которые вижу первый раз в жизни. Это может быть сложной задачей. Как правило, у большинства компаний нет документации по их базам данных. А если есть, то она устарела, или же её поиск занимает несколько дней.

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

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

    Как и с любыми скриптами, сначала проверьте их в тестовом окружении, прежде чем запускать в продакшене. Я бы рекомендовал вам погонять их на тестовых базах MS, таких как AdventureWorks или pubs.

    Ну, хватит слов, давайте я покажу скрипты!
    Читать дальше →
  • Задачник.NET

      Этот пост предназначается всем любителям платформы .NET и языка C#. Думаю, многие встречали на просторах сети разнообразные задачки на понимание тех или иных особенностей платформы или языка. Я большой любитель подобных задачек и головоломок. Они помогают глубже понять определённые области и повысить собственные программистские навыки. Однажды я решил сделать подборку подобных задачек, чтобы можно было показывать другим людям и обсуждать нюансы работы с .NET/C#. Когда задачек накопилось достаточное количество, появилась новая мысль — оформить мою подборку в виде книжки. Вашему вниманию предоставляется текущий вариант этого сочинения под названием «Задачник.NET».

      Cover
      Читать online
      Скачать PDF-версию
      Исходные коды на GitHub
      Читать дальше →
    • Станут ли роботы причиной глобальной безработицы?



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

        Однако в последние годы нарастающее внедрение роботов заставляет переосмыслить знак этого явления. «Вкалывают роботы, а не человек.» И вот в этом-то как раз корень назревающей масштабной драмы. А человек-то что? Не вкалывает и — не зарабатывает. Всё чаще раздаются голоса, что развитие и удешевление роботов вскоре сделает невыгодным труд людей во многих профессиях. И можете не сомневаться, бизнесмены сделают однозначный выбор в пользу роботов. А значит, множеству людей придётся искать новую работу, переучиваться на другие профессии, падение уровня благосостояния, социальная напряжённость, рост преступности и далее по списку.

        Действительно ли нас ожидает столь безрадостное роботизированное будущее? Давайте обсудим.
        Читать дальше →
      • Управленческие инструменты: Почему заказчики требуют дурацкие отчеты?

          На одной из конференций произошел комичный случай. Подходит слушательница:

          — Александр, есть такой вопрос: Как нам повысить уровень доверия в отношениях с заказчиком?

          — А что сейчас не так с уровнем доверия?

          — Ну, у нас есть команда, есть менеджер. И мы хотим, чтобы заказчик доверял команде и общался только с менеджером. А он лезет напрямую к инженерам…

          — А чем это плохо? Человек сразу получает ответы на свои вопросы, быстрые коммуникации и все такое.

          — Понимаете… Мы ему джуниор инженеров продаем как синьор инженеров… И нам не хотелось бы, чтобы он обнаружил этот факт.


          Напомню изначальную постановку вопроса: “Как нам повысить уровень доверия в отношениях с заказчиком?”

          Вот о заказчиках сегодня и поговорим. А точнее, о простом инструменте, который:
          • Поможет осознать, где находятся ваши отношения с заказчиком
          • Покажет, почему формы отчетов иногда бывают такие идиотские
          • Возможно, поможет понять причины “неадекватного” поведения заказчика


          Читать дальше →
        • Как правильно лгать с помощью статистики


            Существуют три вида лжи: ложь, наглая ложь и статистика (источник)

            Есть такой замечательный жанр — "вредные советы", в котором детям дают советы, а дети, как известно, всё делают наоборот и получается всё как раз правильно. Может быть и со всем остальным так получится?

            Статистика, инфографика, big data, анализ данных и data science — этим сейчас кто только не занят. Все знают как правильно всем этим заниматься, осталось только кому-то написать как НЕ нужно этого делать. В данной статье мы именно этим и займемся.


            Hazen Robert "Curve fitting". 1978, Science.

            Структура статьи:
            1. Введение
            2. Предвзятая выборка (Sampling bias)
            3. Правильно выбираем среднее (Well-chosen average)
            4. И еще 10 неудачных экспериментов, про которые мы не написали
            5. Играем со шкалой
            6. Выбираем 100%
            7. Скрываем нужные числа
            8. Визуальная метафора
            9. Пример качественной визуализации
            10. Заключение и дальнейшее чтение

            Читать дальше →
          • Кадры решают все



              Учиться или не учиться? — вот в чем вопрос.
              Как ни странно, ответ на него зависит от вашего личного взгляда на экономику. Не претендую на истину в последней инстанции, просто хотелось разобраться и внести некоторую ясность.
              Читать дальше →
            • Пути более эффективного использования PostgreSQL

              Прочитав статью Базы данных в онлайн играх и особенно комменты к ней, я в очередной расстроился от мысли, что многие разработчики меняют БД в своём проекте, пытаясь этой сменой решить свои проблемы, не исчерпав, однако, всех возможностей, предоставляемой заменяемой БД. Я принимаю участие в работе над проектом, БД которого характеризуется:
              • Количеством транзакций порядка 5'000 — 10'000 в секунду
              • Объемом примерно в 100ГБ (который бодро растёт)
              • Примерно равным количеством операций на чтение/запись
              • Преимущественно мелкими транзакциями

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

              Я опишу некоторые проблемы, с которыми мы сталкиваемся, и применённые решения. Если кто-то сочтёт это полезным — ради Бога. Если кто-то поправит — я буду только рад обнаружить уязвимость в используемых подходах и увеличить эффективность работы БД. Описанное может быть применено без вмешательства в логику приложения, исключительно путём модификации схемы БД.
              Читать дальше →
            • Анализ популярных теорий игровой зависимости

                Просмотрев пару другую статей на этом сайте по игровой зависимости, я решил их показать специалисту с 30 летним практическим опытом лечения разного рода зависимостей психотерапевту наркологу А.Г. Данилину.
                Из его беседы мы решили подготовить статью.




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

                В качестве лечения предлагается запрет на компьютерные игры и «заместительная терапия» психотропными препаратами.
                Второй взгляд – трактовка зависимости от виртуальных игр через примитивную биологическую систему. Создатели компьютерных игр… играют на человеческих слабостях и формируют у игрока рефлекторное поведение. В этой логике геймер – нечто вроде «собаки Павлова» за компьютером.
                Читать дальше →
              • C#. Сортировка членов типа с помощью ReSharper


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

                • Translation
                Сегодня я хочу поделиться с вами моим вольным переводом статьи, написанной Сергеем Повзнером (Sergey Povzner). Сергей ведёт блог bongizmo.com и занимается разработкой туристических гидов под общим названием Citybot.

                В то время как Android продолжает свой невероятный рост, всё больше и больше программистов начинают разрабатывать приложения на этой платформе. Если ты начинаешь свой путь сегодня, то ты определенно — счастливчик. За последние годы Android значительно повзрослел и избавился от множества детских болезней. Информации по платформе более чем достаточно. Я же расскажу о самых важных ресурсах.

                Статья будет полезна как новичкам, так и опытным разработчикам. Это гид по миру Android-разработки.
                Читать дальше →
              • Параллельные и распределенные вычисления. Лекции от Яндекса для тех, кто хочет провести праздники с пользой

                • Tutorial
                Праздничная неделя подходит к концу, но мы продолжаем публиковать лекции от Школы анализа данных Яндекса для тех, кто хочет провести время с пользой. Сегодня очередь курса, важность которого в наше время сложно переоценить – «Параллельные и распределенные вычисления».

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



                Лекции читает Олег Викторович Сухорослов, старший научный сотрудник Центра грид-технологий и распределенных вычислений ИСА РАН. Доцент кафедры распределенных вычислений ФИВТ МФТИ. Кандидат технических наук.
                Содержание и тезисы лекций
              • Руководство по разработке модулей расширений на C# для Visual Studio 2005-2012 и Atmel Studio

                  Плагины для C#

                  Аннотация


                  Около года назад мы опубликовали в блоге цикл статей о разработке плагинов для Visual Studio на языке C#. Сейчас мы переработали эти материалы, добавили новые разделы и предлагаем вашему вниманию новый вариант руководства.
                  Читать дальше →
                  • +45
                  • 35.6k
                  • 6
                • Простая интеграция сайта и 1С

                    image
                    Последнее время натыкался на несколько различных статей об интеграции сайта и 1С. В комментариях часто начинались споры о различных подходах, и я решил поделится способом который однажды довелось реализовать мне. Разумеется, описанный ниже способ не претендует на универсальность и единственность, но, думаю, будет полезен тем, кто только собирается писать свой вариант.
                    Читать дальше →
                  • ASP.NET MVC. Урок 0. Вступление

                    • Tutorial
                    Я пишу сайты на asp.net mvc. В этих 16 главах я хочу рассказать, как я это делаю. Это некий учебник-справочник всех тех знаний, которые я накопил в течение трех лет.

                    Почему именно asp.net mvc

                    ASP.NET MVC я люблю потому что:
                    • Это .net. Я знаю .net и С#.
                    • Это компилируемый код.
                    • Это не ASP.NET WebForms, я работаю с html-кодом.
                    • Используется MVC-паттерн.
                    • Visual Studio – самое популярное средство разработки, в котором есть IntelliSense.
                    • Отличные инструменты отладки.


                    Читать дальше →
                  • О стилях внедрения крупных ERP-проектов

                      Данная заметка является ответом на недавний пост Joshua.
                      Вначале планировался отдельный коммент, но в итоге я понял, что он слишком большой.
                      Я проработал более 6 лет в компании, которая занимается разработкой и внедрением PDM-системы собственного изготовления. Это несколько другой класс систем для других целей, но смысл и грабли те же самые: имеем крупную корпоративную систему, которая позволяет автоматизировать/информатизировать что-то. Я сам вначале очень поражался тому факту, который был озвучен в статье и целиком и полностью, а именно:

                      image

                      Читать дальше →
                    • Психиатр о запретах Youtube, Wifi для детей, блокировании сайтов

                        Когда моего знакомого психиатра А.Г. Данилина переполняет профессиональное чувство глупости мира сего, он просит сделать ролик, где делится своими мыслями со зрителями. Я думаю, что разговор получился довольно интересный.



                        «Я понимаю, что это очередной глас вопиющего в пустыне, но так как 10 октября мы празднуем день психического здоровья, то мне очень хочется, как профессионалу с большим стажем сообщить тем, кто захочет посмотреть это видео, что политика тотальных запретов не в состоянии привести общество и человека к состоянию психического здоровья.
                        Читать дальше →
                      • “Книжная полка хакера” — библиотека бесплатной компьютерной литературы

                        • Tutorial
                        Сайт Hackershelf.com — коллекция официально бесплатных электронных книг компьютерной тематики. Библиотека наполняется сообществом — зарегистрированные пользователи могут добавлять книги и редактировать информацию о существующих. В ней уже больше двухсот наименований книг, есть поиск по категориям и популярности.

                      • Пишем драйвер для самодельного USB устройства

                        Целью этой статьи является пошаговая демонстрация процесса разработки всего набора программного обеспечения необходимого для организации связи самодельного устройства с компьютером посредством USB.

                        На данный момент, большинство радиолюбителей реализуют такой тип подключения используя чипы переходники USB в RS232 таким образом организуя связь со своим устройством посредством драйвера виртуального COM порта поставляемого с чипом переходником. Минусы такого подхода думаю понятны. Это как минимум лишний чип на плате и ограничения накладываемые этим чипом и его драйвером.
                        Мне же хочется осветить весь процесс организации такого взаимодействия так как оно и должно быть сделано, и как делается во всех серьезных устройствах.
                        В конце концов, сейчас 21-й век, модуль USB есть почти во всех микроконтроллерах. Именно о том, как наиболее быстро воспользоваться этим модулем и будет эта статья.
                        Читать дальше →
                      • Изучение иностранных языков: живые учителя или интернет?



                          — Феденька, ты очень интеллигентный мальчик, ты мне очень нравишься, но Я БУДУ СТАВИТЬ ДВА В ГОДУ!!! — визжала моя школьная учительница по французскому и делала примерно такое лицо.

                          Моя школьная учительница по английскому языку делала другое лицо:
                          Читать дальше →
                        • Офлайн карты/навигация Android

                            OsmAnd screenshot
                            В этой статье я хочу рассказать о том, как создавая светлое, доброе, вечное opensource приложение, можно не только увеличить свою карму, но и заработать немного денег.

                            Чуть более года назад у меня появился Android телефон и сразу же передо мной встал вопрос, что использовать для путешествий, навигации. Как ни крути, но телефон с GPS и интернетом — очень удобен, особенно в незнакомых местах. Просмотрев все существовашие тогда приложения, был немного разочарован. Одно не работает без интернета, другое не поддерживает навигации, третье не ищет POI, четвертое не имеет векторных карт и т.д. Были конечно и бесплатные коммерческие аналоги, но у одних карты подкачали, у других отзывы, а все-таки когда платишь — хочется получить что-то, за что платишь.
                            Стоит отметить, что в поисках приложений, открыл совершенно замечательный проект OpenStreetMap с отличной детализацией для Беларуси. Поэтому, собрав все силы и желание сделать что-то бесплатное, доступное и нужное, открыл на googlecode проект OsmAnd.
                            Читать дальше →