• Электростатическая очистка воздуха помещений от продуктов распада радона. Часть 1, введение

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

      Радон — радиоактивный газ, в 7 раз тяжелее воздуха, не имеющий запаха и цвета в следовых количествах, в которых присутствует повсеместно на нашей планете. Однако, следовые количества бывают разными…

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

      В этой статье речь пойдёт о самом скучном интересном в ИТ – об архитектуре ПО, а именно, об одной из самых важных её частей – security.

      Определимся с терминами


      Под ПО я буду понимать в первую очередь ECM системы, и будем мы рассматривать security только в части разграничения доступа к объектам предметной области.
      Читать дальше →
    • Записки правдивого архитектора: просто о самом главном (Ч.1)

        Все нижеизложенное является исключительно частным мнением автора, не имеющим отношения к какому-либо работодателю либо вендору.

        «Хмм… правдивого архитектора… А что, такие бывают? – спросите вы и подумаете. — Врет, поди! Сейчас будет нам рассказывать очередную концепцию „бла-бла-бла.2.0“. Знаем, плавали, видали мы „витающих в небесах архитекторов“ и их умозрительные конструкции».
        И будете правы: нормальный «пацанский» архитектор — человек очень занятой, и времени писать статьи у него, как правило, нет… Но! Бывает, что настает момент – и желание человека поделиться опытом, рассказать о своих удачах и сложностях миру настолько высоко, что и время находится, и присущий нашему брату-технарю страх публичных высказываний отступает. К тому же коллеги по цеху давно призывали меня начать подобную деятельность.

        Стартовать я решила с темы несколько общего характера – ИТ-архитектуры в целом. Почему бы сразу не перейти непосредственно к деталям, которые наиболее занимают читателей технических блогов?
        Ответ прост: уж больно много вопросов, трактовок и кривотолков возникают вокруг работы и задач архитекторов. И чтобы двигаться дальше, нужно выстроить некую «общую систему координат» — некую отправную точку.
        За время моей работы сложилось некое «видение» происходящего, которым хотелось бы поделиться и обсудить с коллегами.

        Итак, попробуем поискать ответы на следующие вопросы.
        • Что такое архитектура?
        • Что такое целевая архитектура?
        • Что такое архитектурные стандарты и фреймворки и зачем они нужны?
        • Кто заказывает архитектуру, какие у нашего заказчика могут быть желания и потребности, высказанные и невысказанные?
        • Какую архитектуру можно назвать хорошей архитектурой?
        • Зачем нужны архитекторы? Какова их роль? Чего от них ожидать и почему?
        • Когда компании нужно вкладываться в архитектуру? Что будет, если этого не делать?

        Если вы когда-либо задавались подобными вопросами, и они представляют для вас интерес, то эта статья для вас — приглашаю поразмыслить вместе.
        Читать дальше →
        • +12
        • 35.4k
        • 7
      • Ежедневные релизы — это не так уж страшно



          Меня зовут Оксана Харчук, я работаю QA-инженером в DataArt чуть больше года. Расскажу, как в нашем проекте организован процесс работы, и как быть, если релиз каждый день.

          Сначала, когда я только пришла в DataArt, слово «релиз» ассоциировалось у меня с чем-то страшным. Но, как оказалось, если процесс работы построен правильно, релизы даже каждый день — совсем не страшно, а очень даже удобно.Чтобы этого достичь, процесс разработки в нашем проекте построен на принципах непрерывной поставки (continuous delivery) и непрерывной интеграции (continuous integration).

          Что такое Continuous delivery и Сontinuous integration?


          Continuous delivery или непрерывная поставка ПО — набор практик и принципов, нацеленных на сборку, тестирование и поставку ПО быстрее и чаще. Непрерывная поставка качественного кода опирается, в свою очередь, на непрерывную интеграцию.

          Сontinuous integration, или непрерывная интеграция — это практика разработки ПО, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем. Ведь ясно: если над разными частями кода работают несколько программистов, при интеграции этих частей возникает много трудностей. Непрерывная интеграция помогает справиться с ними.
          Читать дальше →
        • Создание архитектуры программы или как проектировать табуретку

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

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

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

          Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
          Читать дальше →
        • Немного об архитектурах программного обеспечения



            Никаких сомнений, что за последнее время мир только укрепил свою зависимость от программного обеспечения. Приложения должны обладать высокой доступностью, качественно выполнять требуемые функции и иметь адекватную стоимость. Эти характеристики, в той или иной степени, определяет архитектура ПО.
            Читать дальше →
            • +15
            • 46.3k
            • 2
          • Самая базовая потребность: как мы реализовали DNS-хостинг в «Mail.Ru для бизнеса»



              В прошлом году мы запустили бесплатный DNS-хостинг на «Mail.Ru для бизнеса», а недавно он вышел из бета-тестирования. Сегодня я хочу рассказать, как мы его делали, какие технические решения принимались, и немного о том, как мы запускались на всю аудиторию.

              Мы внимательно прислушиваемся к пожеланиям наших пользователей и ведем учет всех хотелок. В этом списке DNS-хостинг стабильно держался в первых строчках. В результате мы решили две задачи: реализовали дополнительную услугу, о которой просили многие, и добавили еще один способ подтверждения домена для новых клиентов. К тому же после перехода на наш DNS-хостинг все необходимые для работы почты DNS-записи добавляются автоматически.
              Читать дальше →
            • 7 способов избавиться от всего лишнего и получать от жизни больше удовольствия (часть 1)

              • Translation
              image

              А вы согласны с тем, что путь к успеху, счастью и самореализации лежит не через увеличение доходов, потребления и развлечений, а через избавление от хаоса и отвлекающих моментов, которые мешают сфокусироваться на том, что действительно важно? Рассмотрим 7 способов, которые помогут сделать жизнь проще и плодотворнее.
              Читать дальше →
            • Cтатистический анализ в PostgreSQL с помощью PL/R

                Друзья, на прошедшей в прошлом году конференции PG Day'15 Russia один из наших докладчиков, Joseph Conway, представил интересный материал об использовании созданного и поддерживаемого им уже больше десяти лет расширения PL/R, которое позволяет использовать язык для статистического анализа R внутри всеми любимой базы данных. Хочу предложить вашему вниманию follow-up статью, созданную на основе материалов, представленных в докладе Joe. Задача данной публикации — обзорно познакомить вас с возможностями языка PL/R. Надеюсь, что вы найдете представленную здесь информацию полезной для себя.

                image

                Последние тенденции в области Big Data поощряют сближение аналитики и данных, в то время как PL/R ненавязчиво предоставляет такой сервис вот уже 12 лет! Если вдруг вы не в курсе, PL/R – это расширение для PostgreSQL, позволяющее использовать R, язык для математических расчетов, прямо из PostgreSQL для того, чтобы легко и просто получать развернутую аналитику. Расширение доступно и активно совершенствуется с 2003 года. Оно работает со всеми поддерживаемыми версиями PostgreSQL и со всеми свежими версиями R. Тысячи людей во всем мире уже оценили его удобство и эффективность. Давайте же разберемся, что такое PL/R, обсудим достоинства и недостатки такого подхода к анализу данных и рассмотрим несколько примеров для наглядности.
                Читать дальше →
                • +21
                • 9.7k
                • 2
              • С телефона в облака: Azure Mobile Services. С чего начать?

                • Tutorial

                Автор: Анастасия Белокурова, .NET Developer DataArt.

                Я расскажу, как и зачем использовать облачную систему Azure Mobile Services для ваших мобильных приложений. Для этого мы разберем небольшое приложение, на примере которого увидим, как это всё работает, затронем и практику, и теорию.

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

                Преимущества облачных технологий

                Термин «облачные вычисления» появился достаточно давно, но его значение немного менялось. Сначала облачными вычислениями называли просто распределенные вычисления. Но сейчас облачная платформа — большой набор удобных сервисов, которые вы можете использовать для решения своих задач.

                Итак, почему же облака? Они предоставляют следующие преимущества вашему приложению:
                • Масштабируемость.
                • Надежность.
                • Большой выбор сервисов.


                Представьте, что вы запускаете небольшой интернет-магазин — сначала просто хотите проверить, будет ли он вообще востребован. Бюджет у вас небольшой. Поэтому вы пишете небольшое веб-приложение и размещаете его на своем компьютере, который не выключаете на ночь. К вашему сайту есть доступ извне, и он может выдержать, допустим, 10 пользователей одновременно. Со временем ваш сайт становится популярным, и вам уже нужно, чтобы он выдерживал 100 пользователей одновременно. Но ваш компьютер не способен справиться с такой нагрузкой. И тут вы начинаете думать, не превратить ли мне мою квартиру в серверную?.. Нет, это ужасно неудобно! Тогда вы покупаете сервера, предоставляемые хостингом. Теперь ваш сайт поддерживает 100 запросов в минуту и даже тысячу. Наконец в какой-то момент вы понимаете, что выходите на глобальный рынок, т. к. у вас очень много пользователей, круглосуточно, и сервера, которые вы купили, уже не справляются.

                Тут мы подходим к первому преимуществу облачных платформ — они предоставляют масштабируемость практически всего практически в любой момент времени. И это делается очень просто, быстро и удобно: вам остается думать только о разработке, а не о размещении и нагрузке. Это первое преимущество.
                Читать дальше →
              • Представляем бесплатную лабораторию программирования Wolfram Programming Lab для изучения языка Wolfram Language

                • Translation
                • Tutorial

                Перевод поста Stephen Wolfram "Announcing Wolfram Programming Lab".
                Выражаю огромную благодарность Кириллу Гузенко KirillGuzenko за помощь в переводе и подготовке публикации

                Я рад объявить о запуске Лаборатории программирования Wolfram — среды для всех, кто хочет обучиться программированию и вычислительному мышлению вместе с Wolfram Language. Wolfram Programming Lab можно запускать как в браузере, так и на настольных системах (Mac, Windows, Linux).

                Я давно хотел найти способ, позволяющий кому бы то ни было, будь то детям или взрослым, познакомиться с Wolfram Language и всеми его возможностями, даже при полном отсутствии знаний и опыта в сфере программирования. Теперь он у нас есть!

                Стартовый экран (см. рис. в самом верху поста) предоставляет возможность пойти по одному из четырех путей. Во-первых, есть небольшое видео. Далее следует раздел «Попробуйте сами», содержащий несколько весьма простых, но интересных вычислений.


                Читать дальше →
                • +14
                • 15k
                • 2
              • AUTO_CLOSE

                • Tutorial
                Если бы SQL Server существовал во времена Инквизиции, то за включение некоторых опций на продакшен серверах нужно было бы наказывать калёным железом. Но если отбросить лирику, то далее на рассмотрим почему не нужно включать AUTO_CLOSE и к чему может привести использование этой опции.

                Собственно, как и любая интересная истории из жизни, все начиналось с рутиной задачи.

                На днях пришлось заглянуть в Error Log на тестовом сервере. На второй минуте ожидания, SSMS изрядно поплохело от обилия сообщений, которые хранил журнал, и я решил посмотреть сколько же весят логи с помощью xp_enumerrorlogs:

                DECLARE @t TABLE (lod_id INT PRIMARY KEY, last_log SMALLDATETIME, size INT)
                INSERT INTO @t
                EXEC sys.xp_enumerrorlogs
                
                SELECT lod_id, last_log, size_mb = size / 1048576.
                FROM @t
                

                lod_id   last_log              size_mb
                -------- --------------------- ---------------
                0        2016-01-05 08:46:00   567.05288505
                1        2015-12-31 12:53:00   1370.39249420
                2        2015-12-18 11:32:00   768.46394729
                3        2015-12-02 13:54:00   220.20050621
                4        2015-12-02 13:16:00   24.04152870
                5        2015-11-16 13:37:00   80.07946205
                6        2015-10-22 12:13:00   109.33527946
                
                Подробнее
              • Реверс-инжиниринг протокола датчика метеостанции TFA Spring

                Не так давно TFA выпустила довольно симпатичную метеостанцию TFA Spring с сенсором температуры-влажности 30.3206.02. При желании использовать сенсор в собственных разработках, например, в самодельных часах/метеостанции, может помочь эта статья.

                image
                Читать дальше →
                • +22
                • 12.6k
                • 9
              • Подборка: Более 800 ресурсов для front-end-разработчиков

                • Translation
                Мы продолжаем публиковать подборки полезных инструментов. Ниже представлена подборка из более 800 сервисов, книг, статей, видеотуториалов и других материалов, которые будут полезны всем, кто занимается фронтенд-разработкой.

                Читать дальше →
              • Мобильные приложения Stepic.org под iOS и Android

                  Ура, свершилось! У платформы с открытыми онлайн-курсами Stepic.org появились приложения под iOS и Android.
                  В этом коротком посте мы расскажем о процессе работы над приложениями — выборе платформ, используемых технологиях и API, и даже дадим ссылки на исходный код.


                  Скажем честно, мы долго сомневались, так ли это необходимо. Посудите сами — каким бы ни было учебное мобильное приложение, в нём никак не получится удобно писать код на Haskell или вводить десяток-другой команд в линуксовый терминал. Поэтому речь не шла о приложении, которое полностью бы передавало функциональность Стэпика, но помогло бы разнообразить и улучшить обучение наших пользователей.
                  Читать дальше →
                  • +20
                  • 12.6k
                  • 2
                • Пять секретов воспитания силы воли от агента ФБР

                  • Translation
                  image

                  Как правило, говорят о способности или неспособности к изучению языков, разнообразных секретных методиках, доступных спецслужбам, и подобных вещах. Но мало кто говорит о том, что в процессе овладения практически любыми навыками очень многое зависит от силы воли. Так давайте же поговорим именно об этом. Причем – с позиции опыта спецслужб. Слово – автору статьи, бывшему агенту со стажем около 24 лет.
                  Читать дальше →
                • Azure Machine Learning: разработка сервисов машинного обучения и их использование в мобильном приложении

                    Выражаем большое спасибо за подготовку статьи Евгению Григоренко, Microsoft Student Partner, (@evgri243) за помощь в написании данной статьи. Остальные наши статьи по теме Azure можно найти по тегу azureweek

                    Машинное обучение – одна из самых популярных областей Computer Science, хотя в то же время одна их самый избегаемых среди разработчиков. Основная причина этого в том, что теоретическая часть машинного обучения требует глубокой математической подготовки, которую многие предпочитают сразу же забыть по окончании университетского обучения. Но необходимо понимать, что помимо теоретических основ, существует также и практическая сторона, которая оказывается значительно проще для освоения и ежедневного использования. Цель этой работы – ликвидировать разрыв между программистами и специалистами по обработке данных и показать, что использование машинного обучения в своих приложениях может быть достаточно простой задачей. В статье излагается вся последовательность шагов, необходимая для построения модели предсказания цены автомобиля в зависимости от набора его характеристик с последующим ее использованием в мобильном приложении на Windows 10 Mobile.
                    Читать дальше →
                    • +16
                    • 11.9k
                    • 4
                  • Заметки о SQL и реляционной алгебре



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

                      Зачем это может быть нужно сегодня? Не только специалистам по анализу данных и администраторам баз данных приходится работать с данными, фактически мало кому не приходится что-то извлекать из (полу-)структурированных данных или трансформировать уже имеющиеся. Для того, чтобы иметь хорошее представление почему языки запросов устроены определенным образом и осознанно их использовать нужно разобраться с ядром, лежащим в основе. Об этом мы сегодня и поговорим.

                      Большую часть статьи составляют примеры с вкраплениями теории. В конце разделов приведены ссылки на дополнительные материалы, а для заинтересовавшихся и небольшая подборка литературы и курсов в конце.

                      Содержание



                      Читать дальше →
                      • +32
                      • 51.8k
                      • 8
                    • Дайджест полезных источников по теме IaaS

                        Сегодня мы представляем вашему вниманию подборку из ссылок на 45 интересных блогов, посвященных облачным технологиям и построении инфраструктуры компании с их помощью.

                        Читать дальше →
                        • +8
                        • 16.3k
                        • 3