• Полная история серии Fallout

    • Перевод
    image

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

    Сегодня возвращение к первой игре напрягает — Fallout 1997 года была и остаётся невероятно сложной, бескомпромиссной игрой. Ошибёшься — погибнешь. Примешь неверное решение — погибнешь. Не ошибёшься и не примешь неверное решение — всё равно погибнешь. Это мрачная и серьёзная (по большей части) история, говорящая нам, что жизнь после конца мира в зареве ядерных взрывов действительно жестока.

    «Я с детства был фанатом постапокалиптической литературы», — рассказывает исполнительный продюсер Fallout (и основатель Interplay) Брайан Фарго. «И Wasteland была первой моей попыткой принести что-то новое в этот жанр. Вскоре после завершения игры Wasteland компания Interplay стала издателем и мы перестали работать на других. Я пытался добиться, чтобы EA лицензировала мне мои права обратно, но этого не удавалось добиться в течение многих лет. Наконец я решил, что мы будем делать собственную постапокалиптическую игру и назовём её Fallout».
    Читать дальше →
  • Вжух и готово — генерируем документацию из TypeScript кода с Typedoc

    • Tutorial

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


    Что у нас получилось — можно посмотреть здесь.


    Читать дальше →
  • Анализ работы MS SQL Server, для тех кто видит его впервые (часть 2)

      Часть 1

      Продолжаем анализировать что происходит на нашем MS SQL сервере. В этой части посмотрим как получить информацию о работе пользователей: кто и что делает, сколько ресурсов на это расходуется.

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

      Задачи анализа действий пользователей условно поделим на группы и рассмотрим каждую отдельно:
      Читать дальше →
      • +16
      • 56,1k
      • 5
    • Все началось с вакансии: «Ты в поиске работы своей мечты? Ты жаждешь менять мир к лучшему и воплощать в жизнь самые амбициозные идеи? Ты явно тот, кто нам нужен :) Мы ищем человека, единственная задача которого — делать клиентов счастливыми». Короткое интервью по телефону — и вот я уже надеваю тапочки и вместе с десятком других готовых менять мир к лучшему отправляюсь на трехдневную стажировку. Пора устроиться на работу мечты.
      начать день
    • Создаем Telegram бота на API.AI

      • Tutorial

      Чат боты — довольно интересная тема, которой интересуются как гики-энтузиасты, так и компании, которые хотят организовать взаимодействие со своими клиентами наиболее удобным для них способом


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

      Читать дальше →
      • +22
      • 98,4k
      • 9
    • Заменяй и властвуй — подход SOLID для разработки повторно используемых компонентов в вебе

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


        Эта статья во многом вдохновлена докладом Павла Силина на РИТ 2017, однако здесь много моего собственного опыта и размышлений. Примеры будут на React + TypeScript, однако подход не привязан к какой-либо технологии.


        Читать дальше →
      • Как сервис push-уведомлений помог нам сделать более посещаемым портал техподдержки

          Всем привет. Инструмент push-уведомлений сегодня активно используется компаниями в разных целях — для рассылки новостей, оповещений о рекламных акциях и т.д. Мы решили использовать этот канал для коммуникации с пользователями нашего портала технической поддержки, с которыми мы общаемся в helpdesk системе. Сейчас я расскажу, как мы внедрили в тестовом режиме систему push-уведомлений для нашего портала ТП, и к чему в итоге это привело. Моя статья может быть полезна как техническим (сервисным) специалистам, так и руководителям.

          Читать дальше →
        • 20 бесплатных утилит и 89 скриптов для мониторинга и управления базами данных

          Ты сидишь — база растёт, идёшь — база растёт, спишь, ешь или делаешь ещё много всего, а база всё растёт и растёт. Кто-то очень умный сказал, что единственное, что в нашей жизни постоянно — это изменения. Главное — правильно на них реагировать. Любая нештатная ситуация с базой данных происходит именно из-за таких изменений. К сожалению, не всегда есть возможность вложиться в расшитую золотом и усыпанную драгоценными камнями в 60 карат промышленную систему мониторинга. И это заставляет прибегнуть к бесплатным или условно-бесплатным решениям. В статье я собрал 20 бесплатных утилит от компании IDERA (и не только), которые могут некисло помочь закрыть некоторые вопросы с мониторингом и управлением MS SQL, MySQL и Oracle. Поехали!

          halyava_sir.jpg
          Впитать знания
        • Почему вы не должны сжимать ваши файлы данных

          • Перевод
          • Tutorial
          Одна из самых моих горячих проблем касается сжатия файлов данных. Несмотря на то, что я владел кодом сжатия, когда работал в Майкрософт, у меня не было шанса переписать его так, чтобы сделать его более приятным. Мне действительно не нравится сжатие.

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

          Сжатие файлов данных должно выполняться еще реже, если должно вообще. И вот почему — сжатие файлов данных вызывает серьезнейшую фрагментацию индексов. Позвольте мне продемонстрировать это на простом скрипте, который вы можете выполнить сами. Скрипт ниже создаст файл данных, создаст таблицу-«наполнитель» размером 10Мб в начале файла данных, создаст «производственный» кластерный индекс размером 10Мб, и потом проанализирует фрагментацию нового кластерного индекса.
          Читать дальше →
        • «Сим-Сим, откройся!», или как открыть ссылку через RemoteApp

            Все чаще и чаще мы стали выводить свои программы в облака. Хорошо это или плохо — рассуждать не станем, но вот о ситуации, когда необходимо состыковать локальные программы с облачными, мы сегодня с вами немного поговорим: в разрезе нашей СЭД Docsvision и установленного локально на пользовательский ПК любого почтового клиента. Представим себе задачу: открыть ссылку на «карточку» Docsvision, которая пришла по почте пользователю в почтовый клиент, установленный локально на его компьютере. Изучив вопрос, проанализировав опыт наших партнеров, мы нашли решение, которым и хотим с вами поделиться.
            Читать дальше →
          • История внедрения СЭД на одном предприятии

            Профиль предприятия – производство фармпрепаратов, проектирование, строительство и оснащение медицинских объектов. Распределенная структура: головной офис и производство продукции — в Москве, филиал в Санкт-Петербурге. 150 сотрудников.

            Как было


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

            При такой системе выдачи поручений никакого контроля за их исполнением и быть не могло. Файлы, отправленные ответственным исполнителям по почте, улетали в никуда, а фраза «мне ничего не приходило» звучала все чаще. Приходилось тратить время на доказательство того, что файлы все-таки были отправлены. Один из вариантов решения проблемы — в ручном режиме отслеживать ход исполнения каждого поручения, но для этого нужно иметь штат делопроизводителей-контролеров, но его не предвиделось. Такая «система» породила беспредельное отсутствие контроля и безответственности исполнителей на местах. Однако дело не двигалось.
            Читать дальше →
          • Инструкция: Как создавать ботов в Telegram

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

              Здравствуйте, меня зовут Наталья, я инженер по тестированию компании Docsvision.
              Иногда, когда я просматриваю ошибки, записанные новенькими (а иногда и старенькими) тестировщиками, рука машинально тянется к лицу. В голове возникает только одна мысль:



              «Что? Что я сейчас прочитала?»

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

                Доброго времени!
                У нас вышло 2-е издание книги «Путь аналитика. Практическое руководство IT-специалиста».

                image

                Перед вами настольная книга для системных аналитиков, программистов, архитекторов программного обеспечения, менеджеров проектов и начальников отделов по разработке программ. Кроме того, книга будет полезным учебным пособием для преподавателей, студентов и аспирантов кафедр IТ в технических вузах. Как воплотить неясные ожидания заказчика в блестящий и прибыльный проект? Как избежать ошибок на начальном этапе? Как стать эффективным аналитиком? Авторы отвечают на эти вопросы и делятся своими ноу-хау, которые позволят вам стать гуру в разработке программного обеспечения. Главное достоинство книги — ее практическая направленность. В ней собрана полезная информация со ссылками на теоретические материалы из разных областей разработки программного обеспечения: анализа, архитектуры, управления проектами, лидерства и управления персоналом — все, что понадобится в реальных производственных проектах.

                Помимо этого в книге содержится анализ разнообразных кейсов и ситуаций, а также примеры документов и шаблонов, необходимых для разработки ПО. Авторы структурируют огромный массив теоретической информации исходя из ее практической ценности на каждом этапе профессиональной карьеры. Книга написана простым и доступным языком.
                Читать дальше →
              • Must-read книги за 2014 год по ИБ и программированию

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

                  Безопасность


                  Тактика хакера: практическое руководство по тестированию на проникновение (The Hacker Playbook: Practical Guide To Penetration Testing)




                  Книга написана в стиле планирования футбольной игры. Здесь подробно и пошагово разобраны проблемы и трудности, с которыми сталкиваются специалисты по безопасности, тестируя системы защиты. В частности, рассматриваются атаки на различные типы сетей, обход антивирусов и взлом систем безопасности. Автор книги — Питер Ким, специалист по IT-безопасности с многолетним опытом, CEO компании Secure Planet.
                  Читать дальше →
                • Личные устройства при работе с корпоративными данными: BYOD или принеси свой собственный девайс

                    Одним из направлений развития современных IT является концепция BYOD (Bring Your Own Device, или дословно «Принеси свое собственное устройство»). Арсенал современного пользователя состоит из нескольких устройств: ноутбука, планшета, телефона; каждый из которых имеет свои особенности и может функционировать на базе разных операционных систем. При этом остается важным вопрос использования личных устройств пользователей для работы с корпоративными данными. Если ноутбуки, да и планшеты на Windows 8 Pro подключить к домену можно без каких-либо проблем, то со всем остальными версиями операционных систем дела обстоят не столь хорошо. Но доступ к корпоративным ресурсам пользователю тем не менее предоставить необходимо. Этим начинаются муки выбора между удобством пользователей и безопасностью внутренней информации. Часто попытки найти решение заходят в тупик. Однако, с выходом Windows Server 2012 R2 и Windows 8.1 появились различные инструменты, которые помогут в решении этой вечной проблемы и в реализации концепции BYOD. Обзор новой функциональности я и хочу представить вам в рамках этой статьи.



                    Читать дальше →
                  • Как быстро оценить, что есть в инфраструктуре и как оно (на сколько) используется?

                      Любая миграция должна начинаться с оценки того, что нужно мигрировать. Каким образом это делать — мнения разнятся. Кто-то делает это в Excel, кто-то рисует схемы, а некоторые используют утилиты. Одна из таких утилит — Microsoft Assessment and Planning Toolkit - конечно, не серебряная пуля, которая решит все за вас, но процесс инвентаризации упростит значительно. Просто запустить ее в AD либо дать ей список IP-адресов (да, и не только для Windows) — и она соберет не только данные о ресурсах виртуальной или физической машины, но и проведет анализ загруженности в течении определенного вами времени, чтобы вы могли увидеть, что большой сервер, купленный за большие деньги, на самом деле загружен на 25%. По результатам будет сгенерирован Excel-отчет, который можно показать как аргумент. Полезно, учитывая периодические EOS. :)
                      Под катом мы инвентаризуем тестовую виртуальную инфраструктуру. Все посты из серии «Гибридная история» помечены соответствующим тегом hybrid story.

                       

                      Читать дальше →
                      • +12
                      • 29,2k
                      • 6
                    • Вопросы про индексы, которые вам не надо будет задавать

                      • Tutorial


                      После ответов на 14 вопросов об индексах, которые вы стеснялись задать, у меня возникло гораздо больше комментариев, уточнений и исправлений. Скомпилировать из всего этого статью выглядело затеей с минимумом пользы. И это заставило меня призадумался, а почему вообще мы должны «стесняться задавать» подобные вопросы? Стыдно не знать? А есть ли способ разобраться, не вгоняя себя в краску? Есть. Причем он избавит от многочисленных неточностей, которыми изобилуют многие «ответы». Вы будете чувствовать буквально каждый байт вашей базы кончиками своих пальцев.

                      Для этого, я предлагаю «поднять капот» у SQL Server и окунуться в сладостный мир шестнадцатеричных дампов. Может статься, что внутри все гораздо проще, чем вам казалось.
                      Читать дальше →
                      • +32
                      • 43,8k
                      • 9
                    • 12 заповедей про бэкап, за которые я чуть не заплатил пальцем



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

                        1. Бэкап должен быть всегда.
                        Как бы не развивались технологии, старая добрая резервная копия никогда не потеряет своей ценности, в трудную минуту сохраняя нам нервы, работу, премию, а также успокоительные средства. Она, в случае чего, позволяет нам не паниковать, действовать взвешено, допуская разумный риск.
                        Даже если в вашем сервере все компоненты дублированы, а данные лежат на дорогом массиве с избыточностью, отгоните от себя ложное чувство безопасности. Никто не застрахован от логических ошибок и человеческого фактора.
                        Читать дальше →