• Диплом бакалавра в LaTeX, или ДСТУ 3008-95 в 150 строк

      image
      Всем привет. Недавно меня тоже настигла переломная веха студенческой жизни — бакалаврская дипломная работа. Среди многих формальных деталей этого замечательного явления особо заметным стоит нормоконтроль. Нет, я понимаю и всячески поддерживаю, что стандарты необходимы, в том числе стандарты на оформление академического текста. Просто наши стандарты, в отличие от западных, достаточно идиотичны. Они не экономят ни чернила, ни бумагу, они не упрощают поиск литературы по номенклатуре, а усложняют чтение названия. Не говоря уже о том, что текст стандарта спроектирован и описан людьми, работающими в редакторе Microsoft Word. Опять-таки, я не имею ничего против Word, это мощнейшая система. Но технический текст в нем набирать неудобно, и по гибкости он во много раз проигрывает бессмертному творению Дональда Кнута — LaTeX.

      Итак, мое написание диплома началось с того, что я потратил 4 часа на настройку преамбулы под нормы украинского стандарта оформления ДСТУ 3008-95. Насколько мне известно, он почти полностью соответствует русскому ГОСТу. Я знал, что существуют готовые решения (например, disser), но после пары проб предпочел настроить каждую деталь самостоятельно. Для тренировки. Тренировка удалась — я узнал бездну новых вещей о LaTeX, этого монстра невозможно выучить полностью :-)

      Под катом я полностью опишу процесс настройки каждой конкретной детали и использование их при написании, а также разные мелочи, упрощающие написание диплома еще больше. Сразу предупреждаю: где-то мои решения могут показаться костылями. Где-то они не слишком универсальны. Я это знаю, понимаю, принимаю и приветствую критику и предложения в комментариях ;-)
      Читать дальше →
    • Работа с часовыми поясами в JavaScript

      • Translation


      Недавно я работал над задачей добавления часовых поясов в JS-библиотеку календаря, которую ведёт моя команда. Мне было хорошо известно о никудышной поддержке часовых поясов в JavaScript, но я надеялся, что абстрагирование имеющихся объектов данных позволит легко решить большинство трудностей.

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

      В этой статье я хочу обсудить, с чем я столкнулся и как это решал. Пока я писал текст, осознал, что причиной всех невзгод было плохое понимание мной самой темы часовых поясов. В свете этого осознания я предлагаю сначала подробно поговорить об определении и стандартах, а уже потом переходить к JavaScript.
      Читать дальше →
    • Как работает Android, часть 4


        Всем привет! Мы нашли время продолжить серию статей про внутреннее устройство Android. В этой статье я расскажу о процессе загрузки Android, о содержимом файловой системы, о том, как хранятся данные пользователя и приложений, о root-доступе, о переносимости сборок Android и о проблеме фрагментации.

        Читать дальше →
      • Git: распространённые ошибки и способы их исправления

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


        Автор материала, перевод которого мы публикуем сегодня, собирается обсудить распространённые ошибки, которые совершают программисты при работе с Git, и поговорить о том, как с этими ошибками бороться.
        Читать дальше →
      • Лучшие VPN-решения для пользователей Linux

        • Translation
        Если вы выходите в интернет со своего Linux-ноутбука, вам стоит знать об особенностях виртуальных частных сетей (Virtual Private Network, VPN). Эта технология особенно актуальна для тех, кто подключается к Сети через точки доступа, расположенные в общественных местах, однако, во многих ситуациях VPN не повредит и компьютеру, которым пользуются дома.



        VPN позволяет защищать данные, передаваемые из точки «А» в точку «Б». Точка «А» — это ваш компьютер. Точка «Б» — это VPN-провайдер, или VPN-система, которую развернули вы сами, либо в облаке, либо где-то ещё, например — в офисе. С VPN-сервисами можно взаимодействовать, используя множество протоколов, но их суть остаётся одной и той же: трафик, который путешествует между компьютером и VPN-сервисом, шифруется. Благодаря этому обеспечивается защита данных от перехвата на пути от пункта отправления к пункту назначения.

        В ходе работы с VPN применимо множество сценариев, касающихся маршрутизации. Типичный сценарий заключается в перенаправлении всего трафика по VPN-соединению, но, кроме того, можно применить концепцию «раздельного туннелирования». При таком подходе некоторые данные идут через VPN, а другие — по обычному интернет-соединению в соответствии с правилами маршрутизации.
        Читать дальше →
      • Разработчики приложений и информационных систем на основе открытой СУБД PostgreSQL приглашаются принять участие в конкурсе «Лучшая статья по PostgreSQL на «Хабрахабр», совместно организованном «Хабрахабр» и компанией Postgres Professional. Победители будут объявлены в ходе международной технической конференции PgConf.Russia 2017, которая состоится 15—17 марта 2017 года в Москве, конференц-холле Digital October и объединит более 500 российских и зарубежных профессионалов в области разработки программного обеспечения, архитекторов баз данных, специалистов по эксплуатации и администрированию СУБД.
        Читать дальше
      • Государственный сайт, доступный для людей с ограниченными возможностями (чек-лист доступности)

        Введение


        В рамках “Дизайна госсистем” мы создали для вас (разработчиков всех видов) чек-лист доступности сайта для людей с ограниченными возможностями, который нужно прибить над рабочим столом каждого дизайнера и фронтендера. Он подходит к любым проектам (совсем не только государственным) в нем нет ничего лишнего. В нем только исключительно важная, критичная и полезная информация.
        Так что печатайте, читайте и делитесь со своими коллегами.
        Это крайне необходимые текст и знания.


        Обработанный в Photoshop текст с применением фильтра blur
        Читать дальше →
        • +21
        • 9.2k
        • 7
      • Аутентификация и авторизация в микросервисных приложениях

        • Tutorial

        Автор: Вячеслав Михайлов, Solutions Architect

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

        Мы разберемся с процессом аутентификации пользователя, работой технологии единого входа (Single sign-on/SSO), дадим общее представлении о технологии OAuth2 и принципах ее работы, не углубляясь в особенности конкретной технической реализации. В следующей статье в качестве примера удачной реализации мы рассмотрим библиотеку Thinktecture Identity Server v3, подробнее остановимся на ее функциональных возможностях, поговорим, как собрать минимальный набор компонент, необходимый для работы в микросервисной архитектуре и достойный использования в боевой системе. В третьей части мы покажем, как расширять эту библиотеку, подстраиваясь под нужды вашей системы, а завершит цикл статей разбор различных сценариев, встречавшихся в жизни многих разработчиков с рекомендациями для каждого случая.
        Читать дальше →
      • Как достичь рейтинга А+ для SSL-сертификата на вашем сайте, и другие аспекты безопасности хостинга



          В последние годы хостинг превратился в commodity — полноценный продукт, привлекательность которого во многом определяется сопутствующими услугами. А поскольку особое значение сегодня имеет информационная безопасность веб-сайтов, то одним из важнейших аспектов хостинга являются SSL-сертификаты. Вся электронная коммерция так или иначе проходит через хостинг, поэтому необходимо понимать, насколько безопасно, правильно и удобно выполняются все бизнес-операции. Подробнее об этом рассказал спикер компании Rusonyx на партнёрской конференции «1С-Битрикс».
          Читать дальше →
        • Масштабирование базы данных через шардирование и партиционирование



            Масштабирование базы данных через шардирование и партиционирование


            Денис Иванов (2ГИС)


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

            Немного расскажу о себе — я работаю в команде WebAPI в компании 2GIS, мы предоставляем API для организаций, у нас очень много разных данных, 8 стран, в которых мы работаем, 250 крупных городов, 50 тыс. населенных пунктов. У нас достаточно большая нагрузка — 25 млн. активных пользователей в месяц, и в среднем нагрузка около 2000 RPS идет на API. Все это располагается в трех датацентрах.

            Перейдем к проблемам, которые мы с вами сегодня будем решать. Одна из проблем — это большое количество данных. Когда вы разрабатываете тот или иной проект, у вас в любой момент времени может случиться так, что данных становится очень много. Если бизнес работает, он приносит деньги. Соответственно, данных больше, денег больше, и с этими данными что-то нужно делать, потому что эти запросы очень долго начинают выполняться, и у нас сервер начинает не вывозить. Одно из решений, что с этими данными делать — это масштабирование базы данных.
            Читать дальше →
          • PHP: неправильный путь

            • Translation
            image

            В мире PHP-программирования существует набор трендов. Некоторые люди активно продвигают их (в книгах и на сайтах) как «современный PHP», а другие подходы выставляют как устаревшие, глупые или просто неверные.

            Похоже, все эти люди без устали стараются заставить каждого программировать так, как они считают нужным. Эта статья написана, чтобы поделиться прагматичным взглядом на PHP-программирование. Взглядом, продиктованным опытом и практическими последствиями, а не популярными тенденциями, теориями или академическими догмами. Материалы, представленные на сайте PHP — The Wrong Way, будут обновляться по мере появления новой информации. Приглашаем всех поучаствовать в этом.
            Читать дальше →
          • Привычки людей с математическим складом ума

            • Translation
            imageПривет, Geektimes! На днях разработчикам Wirex, финтех-стартапа, предоставляющего услуги платежей и денежных переводов без банковского посредничества, на глаза попался весьма интересный материал. Его автор проанализировал некоторые особенности, присущие людям с математическим складом ума, рассказал, какие навыки действительно могут пригодиться в жизни и обозначил преимущества математического подхода при оценке событий. Для того чтобы данная публикация не осталась лишь в поле зрения аудитории зарубежных медиа, мы решили сделать ее перевод, которым спешим поделиться со всеми пользователями Geektimes.

            Далее мы приводим оригинальный перевод статьи с блог-платформы Medium, посвященной привычкам, которыми обладает каждый математик.

            Один из самых популярных вопросов, которые студенты задают преподавателям математики, звучит так: «Где вообще мне это пригодится?». Немногим учителям удается сразу дать резонный ответ, выходящий за рамки общепринятой точки зрения. Обычно они дают стандартное объяснение на тему полезности развития «критического мышления» и на этом конкретика заканчивается. В то же время эти же учителя должны уметь с невозмутимым видом рассказать своим студентам о важности знания производной арккосинуса.

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

            • Tutorial

            Введение


            Уважаемый читатель, эта статья является второй частью цикла статей, посвященных вёрстке.

            В первой части мы верстали шаблон Corporate Blue от студии Pcklaboratory с помощью стандартных средств на чистом HTML и CSS. В данной статье мы попробуем сверстать этот же шаблон, но с помощью CSS фреймворка Bootstrap 3.
            Читать дальше →
          • Как работает умный обработчик служебных смс (показывает только важную информацию)

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


              1. Как это работает


              В манифесте прописываем разрешение на получение и чтение SMS


              <uses-permission android:name="android.permission.RECEIVE_SMS"/>
              <uses-permission android:name="android.permission.READ_SMS"/>`
              Читать дальше →
            • Xiaomi представила свой первый мультикоптер: 4К-камера, 27 минут полёта

                image

                Известный китайский производитель качественной и недорогой электроники Xiaomi представил свой первый мультикоптер — Mi Drone. 4К-камера, трёхосевой шарнир, дистанционное управление, использующее экран смартфона как видоискатель. Стоимость 4К-версии — $460, а с камерой 1080p — $380.


                Читать дальше →
              • Электродвигатели: какие они бывают



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

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

                  Каждый электродвигатель обладает некоторыми отличительными свойствами, которые обуславливают его область применения, в которой он наиболее выгоден. Синхронные, асинхронные, постоянного тока, коллекторные, бесколлекторные, вентильно-индукторные, шаговые… Почему бы, как в случае с двигателями внутреннего сгорания, не изобрести пару типов, довести их до совершенства и ставить их и только их во все применения? Давайте пройдемся по всем типам электродвигателей, а в конце обсудим, зачем же их столько и какой двигатель «самый лучший».
                  Читать дальше →
                • Почему некоторые ноты гармонично звучат вместе



                    Вы никогда не задумывались, почему некоторые ноты больше подходят друг другу, чем другие? Как связаны между собой частоты их волн? Почему ноты одной тональности звучат «хорошо»? Почему «хорошо» звучат ноты в составе аккорда?
                    Читать дальше →
                  • Коллекция практических советов и заметок по вёрстке

                      CSS Refresher


                      Это большая коллекция практических советов и заметок по вёрстке. Своеобразная памятка для тех, кто каждодневно использует CSS. Освещаются самые разные темы, от деталей поведения плавающих элементов до использования SVG и спрайтов. Проект постоянно обновляется, активное сообщество github также принимает в нем участие, там добавляются интересные замечания, о которых, возможно, вы и не слышали.

                      От переводчика


                      Приветствую всех, меня зовут Максим Иванов, и сегодня я подготовил для вас перевод заметок разработчика из Сан-Франциско Васанта Кришнамурти (Vasanth Krishnamoorthy) «CSS Refresher». Web-программирование одна из самых быстро развивающихся отраслей в наше время. Казалось бы, возьми какой-нибудь видеокурс на tuts+ и освой html-верстку, однако, как говорил разработчик Opera Software Вадим Макеев, выступая на конференции CodeFest, они все равно это делают плохо. Но давайте посмотрим, может мы итак все это знаем.

                      Содержание


                      1. Позиционирование (position)
                      2. Отображение элемента в документе (display)
                      3. Плавающие элементы (float)
                      4. CSS селекторы
                      5. Эффективные селекторы
                      6. Переотрисовка и перерасчет
                      7. CSS3 свойства
                      8. CSS3 медиа-запросы
                      9. Адаптивный web-дизайн
                      10. CSS3 переходы
                      11. CSS3 анимации
                      12. Масштабируемая векторная графика (SVG)
                      13. CSS спрайты
                      14. Вертикальное выравнивание
                      15. Известные проблемы

                      Читать дальше →
                    • Полезные сниппеты для Nginx конфигов



                        Доброго времени суток, уважаемые хабравчане! В Elasticweb мы негласно ратуем за Nginx и, наверное, мы одни из немногих хостингов, которые не поддерживают Apache и .htaccess соответственно. В связи с этим, большое количество обращений в тех. поддержку связано с оказанием помощи в написании конфигурационного файла для Nginx. Поэтому мы решили собрать коллекцию полезных сниппетов и коллекцию готовых Nging конфигов для наиболее популярных CMS/CMF/Фреймворков на PHP.

                        Читать дальше →
                      • Хватит работать, давайте лениться

                          Если я попрошу вас назвать факторы личной продуктивности, то, скорее всего, услышу слова типа «целеполагание», «тайм-менеджмент», «упорство». Найдется ли в этом списке место лени? Да-да, обычной, такой близкой, знакомой всем и тщательно скрываемой? Позвольте сделать, на первый взгляд, абсурдное заявление: лень – один из факторов продуктивной работы!

                          Читать дальше →
                          • +18
                          • 20.2k
                          • 8