• Пять способов пагинации в Postgres, от базовых до диковинных

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



      Привет!
      Хотелось бы в одной статье вкратце рассказать о достижениях математиков, которыми мы уже пользуемся или скоро будем.
      Начнем
      с постквантовой криптографии
    • Запускаем iOS приложения из консоли на девайсе и симуляторе

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

      В общем, стоит начать с того, что в моей компании имеется отдел ios разработки в составе > 10 человек, которые работают над пачкой приложений. Для автоматизации рутинной работы нам пришлось развернуть CI сервер (пока самописный, ввиду особых исторических причин (ну как у всех), планируется миграция на jenkins). К рутинным вещам я отношу — сборку проектов, запуск тестов (если, конечно, вы их пишете), создание ипашек для тестеров и для выкладки в app store. В общем, хотелось чтобы по нажатию кнопочки или по хуку в гите всё это начинало работать. Пока у нас всё работает по нажатию кнопки разработчиком, про гит пока только в планах. В данной статье я только затрону тему компиляции проекта и упаковку его в ipa файла. Функционал запуска проектов на девайсах на стороне CI сервера еще находится в стадии разработки, а вот сам процесс упаковки уже давно в «бою», может кому пригодиться.

      Что планируем:

      • соберем приложение и запустим на симуляторе
      • соберем ipa и запустим на реальном девайсе
      • соберем ipa для выкладки на маркет
      • немного подэбажим ошибки сборки
      Читать дальше →
      • +12
      • 12,2k
      • 2
    • Лучше или хуже

      • Перевод
      Перевод статьи «For Better or For Worse» разработчика из компании DataDog Inc. Статья посвящена вопросу дизайна языков программирования и связи дизайна с попытками оценок качества языков. Частично является ответом на недавно переведенную тут эту статью.

      В программистской тусовке возникает мем об “объективном качестве” дизайна Go. Буквально на днях я встретил его в статье про выбор языков от Honza, где он был очень хорошо виден:
      Учтите, язык объективно очень плохо спроектирован. [...] И, при этом, Go гораздо более популярен, чем Haskell, если верить GitHub. При этом, уже столько отличных проектов, написанных на Go, вроде Docker, InfluxDB, etcd, Consul, Prometheus, packer и других.

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

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

      Когда люди с таким видением пытаются объяснить популярность Go, они неизбежно приходят к парадоксу. Если Go настолько плох, почему он так популярен?
      Читать дальше →
    • Подборка библиотек для бекенда

        Мы пишем свои бекенды на Go. Собираем метрики кода и балансируем запросы на шарды.
        Шифруем RPC. Общаемся с Монгой. За год разработки сформировался стек проверенных библиотек.
        Например, goagain сэкономил кучу времени и дебага после обрыва клиентов внутреннего RPC.

        Делимся подборкой библиотек, проверенных и работающих в бою.
        Читать дальше →
        • +26
        • 10,4k
        • 1
      • Язык Go: реабилитация императивного программирования

        Практически все современные языки программирования включают в том или ином виде объектно-ориентированные возможности, тем не менее, авторы языка Go постарались максимально ограничиться императивной парадигмой. Это не должно вызывать удивление, если учесть что одним из авторов языка является Кен Томпсон (разработчик UNIX и языка С). Такая ярко–выраженная императивность языка может ввести опытного объектно-ориентированного программиста в некоторое недоумение и посеять сомнения насчёт возможности решения современных задач на таком языке.

        Эта статья призвана помочь программистам, заинтересовавшимся в Go, разобраться в императивных особенностях языка. В частности, помочь реализовывать ключевые паттерны проектирования. Кроме этого, будут приведены некоторые интересные решения реализованные в самом Go, его стандартной библиотеке и инструментарии, которые приятно удивят многих.
        Читать дальше →
      • Изучаем net/context в Go

        • Tutorial
        Не секрет, что основная ниша использования Go это сетевые сервисы: всевозможные серверы, бекенды, микросервисы, распределенные базы данных и файловые хранилища. Такой класс программ очень активно использует сетевые запросы, весь необходимый функционал для которых есть в стандартной библиотеке, но один аспект разработки сетевых архитектур остается для многих темным пятном — контексты запросов. В этой статье я хочу рассмотреть этот аспект повнимательней и показать, какой это мощный и важный инструмент.


        Читать дальше →
        • +20
        • 24k
        • 7
      • С чего начать новичку в Go

        • Tutorial
        Если вы решили попробовать замечательный язык Go, но не знаете с чего начать, вам прямая дорога в этот пост, где я постарался перечислить все необходимые для новичков ресурсы.
        Читать дальше →
      • Чистая архитектура в Go-приложении. Часть 3

          От переводчика: данная статья написана Manuel Kiessling в сентябре 2012 года, как реализация статьи Дядюшки Боба о чистой архитектуре с учетом Go-специфики.



          Это третья статья цикла об особенности реализации Чистой Архитектуры в Go. [Часть 1] [Часть 2]
          Интерфейсы ...
        • Подборка полезных статей для iOS-разработчиков за текущую неделю

          Надеюсь, все успешно обновились до 9.0.2 и El Capitan. Уже успело подзабыться с презентации, что же там такого нового. Тем приятнее находить изменения. Сегодня вечером встреча Cocoa Heads Moscow. Большая программа. Не забывайте.
          Кстати, 29 октября планируется ежегодная встреча разработчиков LLVM. Возможно там будет что-нибудь сказано про Swift и то, когда он станет Open-Source.



          Читать дальше
          • +13
          • 6,8k
          • 1