• Go: Хороший, плохой, злой

    • Перевод

    У Go есть некоторые замечательные свойства, которым посвящён раздел «Хороший». Но когда речь заходит о применении этого языка не для создания API или сетевых серверов (для чего он и был разработан), а для реализации бизнес-логики, то я считаю Gо слишком неуклюжим и неудобным. Хотя даже в рамках сетевого программирования найдётся немало подводных камней как в архитектуре языка, так и в реализации, что делает Go опасным, несмотря на его кажущуюся простоту.

    Читать дальше →
  • Онлайн статистика в Telegram

      Вам нравится процесс ожидания? Когда необходимо сидеть и ждать, пока одна из статистик/аналитик/метрик загрузится…

      «Но у нас все нормально, — ответите вы. — У нас крутые спецы, наши страницы грузятся за доли секунд, мы даже кешировать умеем.»

      А как на счет мобильного интернета? Когда приходится окунаться в прошлое, лет на 10 назад и можно угадать элементы верстки по мере рендеринга страницы?

      Метод, описанный ниже, не претендует на оригинальность, я думаю, что найдутся хабровчане, которые давно уже им пользуются, я лишь хочу открыть его в массы.
      Читать дальше →
      • +23
      • 16,4k
      • 8
    • Ох уж эти модальные окна или почему я полюбил render-функции в VueJs

      • Tutorial
      Привет всем!
      Моя первая публикация прошла с неприятным осадком. Я обещал исправить это недоразумение и на ваш суд представляю свою первую статью-урок по VueJs. Надеюсь, она окажется полезной. Мыслей много, опыта тоже немало. Всю жизнь учусь по чужим статьям, урокам. Пришло время тоже делиться знаниями.
      А будем мы творить модальные окна. Да опять они. Но не такие простые, как описаны в первой моей (не моей) публикации.

      Много уже их создано для Vue. Пользовался всякими. И видимо, когда достигаешь какого-то определенного уровня владения инструментом (в данном случае Vue), сразу хочется сделать велосипед, но конечно со своими прибамбасами, типа, чтобы круче всех и т.д. И я не стал исключением из правил.

      Из всех доступных модальных компонентов, использовал в основном этот — Vuedals.
      Но решил я его проапгрейдить. В принципе от основы остался только EventBus и взаимодействие событий связанных с открытием-закрытием окон. Основной компонент переписан и стал оберткой-контейнером и добавлен новый компонент — само модальное окно.
      Но обо всем по порядку. И статья получится очень немаленькая, кто осилит, тот красавчик :)
      Читать дальше →
    • DevOps придумали разработчики, чтобы админы больше работали

        Еще 4 года назад использование контейнеров в production было экзотикой, но сейчас это уже норма как для маленьких компаний, так и для больших корпораций. Давайте попробуем посмотреть на всю эту историю с devops/контейнерами/микросервисами ретроспективно, взглянуть еще раз свежим взглядом на то, какие задачи мы изначально пытались решить, какие решения у нас есть сейчас и чего не хватает для полного счастья?


        Я буду в большей степени рассуждать про production окружение, так как основную массу нерешенных проблем я вижу именно там.

        Читать дальше →
      • Метод Уэлфорда и многомерная линейная регрессия

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


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


          Читать дальше →
          • +12
          • 7,6k
          • 7
        • Оптимизация метода Виолы и Джонса для платформы Эльбрус

            Метод (алгоритм) Виолы и Джонса [1] является одним из способов выявления границ объектов на изображении. Хотя алгоритм, разработанный П. Виолой и М. Джонсом еще в 2001 году, был первоначально ориентирован на быстрый поиск лиц на изображениях, сейчас разнообразные вариации этого популярного алгоритма с успехом используются в различных задачах поиска границ:


            • образов пешеходов [2],
            • образов автомобилей [3],
            • образов дорожных знаков [4],

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

            Читать дальше →
          • Нагрузочное тестирование PostgreSQL, используя JMeter, Yandex.Tank и Overload

            Пару слов для начала


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


            1. Apache JMeter – инструмент для нагрузочного тестирования, который способен проводить тесты для JDBC-соединений, FTP, LDAP, SOAP, JMS, POP3, IMAP, HTTP и TCP из коробки и еще множество других протоколов и решений, используя различные плагины.
            2. Yandex.Tank – это облачный инструмент для нагрузочного тестирования, использует различные генераторы нагрузки, в том числе и JMeter.
            3. Yandex.OverLoad – сервис для удобного мониторинга и анализа серверов под нагрузкой.
            Читать дальше →
          • Cоздаём компонент карт Google Maps API с помощью VueJs2

            Google Maps API — это сервис геолокации. С помощью этого сервиса мы можем отобразить карту и места на карте.

            В статье я опишу способ создания простого компонента карты с отображением мест (маркеров), который будет сделан на vuejs.

            Чтобы создать компонент на основе статьи, нужно самостоятельно подготовить «hello word» приложение на VueJs2 с использованием es6. Итак по порядку:
            Читать дальше →
          • Быстрый пул для php+websocket без прослойки nodejs на основе lua+nginx

            nginx + lua

            Кратко: nginx не умеет пулить websockets, а php работает per request. Нужна прослойка которая будет держать открытыми вебсокеты и при поступлении данных соединяться с php (через тот же fastcgi) и отправлять обратно ответ.

            update: Здесь не идётся про решения на php, так как по сравнению даже с nodejs, они гораздо медленнее.

            Тема, как оказалось, не нова, исходники тянуться аж из 2014, но, тем не менее, информации о трюке, про который здесь пойдёт речь, крайне мало. Можете погуглить "websockets php". Усугубляется тема ещё тем, что найденные примеры реализации (два, точнее) не работают, включая тот, что в документации :)
            Читать дальше →
          • Литература на выходные: 15 материалов по структурированию кода для разработчиков

              Одним из параметров оценки кода служит его чистота. Создатель языка моделирования UML Гради Буч (Grady Booch) писал:

              «Чистый код прост и ясен. Чистый код читается как хорошо написанное произведение. Чистый код никогда не скрывает намерений создателя, но, напротив, полон четких абстракций и простых линий передачи управления»

              Сегодня мы собрали для вас список книг и статей по этой теме, которые рекомендуют к прочтению резиденты Hacker News, Stack Exchange и других профильных платформ.

              Читать дальше →