• Как собрать статистику с веб-сайта и не набить себе шишек

      enter image description here


      Привет, Хабр! Меня зовут Слава Волков, и я фронтенд-разработчик в Badoo. Сегодня я хотел бы немного рассказать про сбор статистики с фронтенда.


      Мы знаем, что аналитика позволяет оценить эффективность работы любого веб-сайта, улучшить его работу, а значит, повысить уровень продаж и усовершенствовать взаимодействие пользователей с сайтом. Проще говоря, аналитика – это способ контроля над процессами, происходящими на веб-сайте. В большинстве случаев для обычных сайтов достаточно установить Google Analytics или «Яндекс.Метрику» – их возможностей вполне достаточно.


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

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

      • Translation


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

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

      Итак, мы нашли в интернете бесплатные и условно-бесплатные инструменты для роста вашего бизнеса. Когда они дадут вам желаемый результат, вы можете оформить платную подписку.
      Читать дальше →
    • «Hello, (real) world!» на php в 2017 году

        Вы наверняка думаете, что писать на php — это просто. И «hello, world» выглядит примерно так так:

        <?php
        echo 'Hello, world!';
        

        Конечно, чего еще ожидать от языка с низким порогом входа. Ну да, именно так и было раньше. Много лет назад. Но теперь, в 2017 году никто так уже не делает. Давайте рассмотрим, почему, и попробуем построить наше более реалистичное hello-world приложение по шагам, а их, скажу сразу, получилось не мало.

        Читать дальше →
      • Как 10 лет назад начинался проект PVS-Studio

          Единорог

          Десять лет назад мы создали простенькую утилиту под названием Viva64, предназначенную для выявления некоторых проблем в 64-битном коде. Так было заложено начало статического анализатора кода PVS-Studio. Хотя с того момента прошло 10 лет, что-то более-менее у нас, как у компании, стало получаться только несколько лет назад. Эта статья — не история успеха, так как мы считаем, что всё интересное только начинается. Однако, 10 лет — это повод подвести промежуточные итоги и рассказать нашим читателям как все начиналось, какие нас ждали ошибки, и что на данный момент у нас получилось. Местами я, возможно, буду не совсем хронологически точен при описании событий. Моя память не идеальна, а 10 лет — это длительный промежуток времени. Желаю всем приятного чтения.
          Читать дальше →
        • Как запустить ClickHouse своими силами и выиграть джекпот

            Мы решили описать простой и проверенный путь для тех, кто хочет внедрить аналитическую СУБД ClickHouse своими силами или просто испробовать ClickHouse на собственных данных. Именно этот путь прошли мы сами в новостном агрегаторе СМИ2 и добились впечатляющих результатов.


            Clickhouse-client


            В предисловии статьи — небольшой рассказ о наших попытках внедрить Druid и InfluxDB. Почему после успешного запуска ClickHouse мы смогли отказаться от использования InfiniDB и Cassandra.


            Читать дальше →
          • Более чем 80 средств мониторинга системы Linux

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



              1. первый инструмент — top

              Консольная команда top- удобный системный монитор, простой в использовании, с помощью которой выводится список работающих в системе процессов, информации о этих процессах. Данная команда в реальном времени сортирует их по нагрузке на процессор, инструмент предустановлен во многих системах UNIX.
              читать дальше
            • Не совсем известные решения по защите ИТ-инфраструктуры бизнеса



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

                Я уже писал про профиль типовой направленной атаки на российское гражданское предприятие. Теперь расскажу о том, как меняется стратегия защиты в целом в нашей стране в последние годы, в частности, в связи со смещением векторов атак на 0-day и связанные с этим внедрения статических анализаторов кода прямо в IDE.

                Плюс пара примеров на сладкое — вы узнаете, что может твориться в полностью изолированной от Интернета сети и на периметре банка.
                Читать дальше →
              • Направленные ИТ-атаки в сфере крупного бизнеса: как это происходит в России



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

                  Характеристики направленной атаки обычно такие:
                  • Работает профессиональная группа, как правило, мотивированная финансово или по приказу. Случайные цели редки, чаще всего выбираются сегменты отраслей или отдельные предприятия.
                  • Наиболее частые векторы — сочетание 0-day и социнжиниринга. 0-day уязвимости часто закупаются у специальных «разведчиков» под крупные атаки.
                  • Если атака была обнаружена и пресечена, то высока вероятность скорого возврата по другому вектору. Атака идёт до результата.
                  • Основная цель — корпоративные секреты, исходники кода, переписка топ-менеджмента.
                  • Возможен возврат после первичной атаки. Был пример Nortel с атакой, когда группа пришла назад через 10 лет.
                  • Атаки скрытые, обычно тут не бывает никаких понтов. Приоритет — максимально зачистить логи и другие следы.

                  У нас на защите есть банки, розница, страховые и много кто ещё. Расскажу о практике и решениях.
                  Читать дальше →
                • Верстка email рассылок от А до Я для чайников

                  Уже 3 с лишним года занимаюсь дизайном и версткой почтовых рассылок, которые ориентированы на англоязычных пользователей. За время работы перелопатили огромную кучу информации, перепробовали много вариантов верстки, набили достаточное количество шишек. Были найдены и исправлены типичные баги, которые в той или иной мере повторялись во всех почтовых клиентах. Также нашлись проблемы с некоторыми CSS свойствами — различные почтовые клиенты интерпретировали их по разному. Каждое письмо тестировалось на самых популярных почтовых клиентах: Gmail, Outlook, Yahoo, Android, iOS, MozillaThunderbird, Microsoft Outlook, The Bat. Рассылки ходят на сотни миллионов пользователей и приносят очень хорошие результаты. Итак, приступим к изучению.
                  Читать дальше →
                • Сайты справа налево: как подключить RTL-стандарт

                  • Translation
                  Когда неподготовленный человек видит сайт на арабском, иврите или любом другом RTL (right-to-left) языке, у него кружится голова: справа налево располагаются не только текст, но и элементы интерфейса.



                  Когда мы в Alconost впервые столкнулись с необходимостью локализовать сайт на арабский, а затем протестировать его, нам пришлось изучить, как именно RTL пользователи смотрят на мир:
                  • вместо подчёркивания, курсива или р а з р я д к и арабы обычно пользуются надчёркиванием;
                  • дробный перенос слова на другую строку не допускается;
                  • пустое пространство в строке устраняется растяжением букв;
                  • цифры пишутся слева направо;
                  • в арабском знаки препинания пишутся слева направо;
                  • в иврите и в арабском нет заглавных букв.

                  А если в RTL текст нужно вставить слово на латинице, оно пишется как обычно: слева направо. Такой смешанный RTL-LTR текст превращается в отличный тренажер для глаз.
                  Как же добиться поддержки RTL на сайте?
                • Визуализация работы веб-сервера Apache — logstalgia

                    image

                    Logstalgia скорее порадует разработчиков и системных администраторов, которые много времени проводят на «заднем дворе» сайтов, но сам результат работы программы очень красив и видео будет интересно посмотреть всем. Данная программа визуализирует работу веб-сервера Apache используя log-файлы. По ссылке видео, а саму программу можно скачать по здесь.
                  • Полный перевод App Store Review Guidelines

                      Два дня назад я написал пост с переводом вступления из недавно опубликованного App Store Review Guidelines. К посту было написано много комментариев, в их числе были и просьбы сделать полный перевод документа. Признаться, я сначала испугался – документы такой длины я перевожу нечасто, и это требует достаточно много времени, но все же решился.

                      Итак, встречайте: Review Guidelines полностью на русском языке. Я сбавил шутливый стиль, в котором был написан перевод из прошлого поста, но постарался оставить текст таким же простым для понимания. Надеюсь, этот перевод поможет как разработчикам, желающим знать, как правильно опубликовать свое приложения в App Store, и при этом не обладающим знанием английского, в полной мере позволяющим прочитать оригинал, так и просто пользователям, которые хотят понять принципы, которым следуют Apple при разрешении на публикацию приложений.

                      Этот перевод сделан полностью мной и писался исключительно для Хабрахабра. Если вам понравилось, и вы хотите сделать кросс-пост/копипаст, то, пожалуйста, укажите мое авторство. Еще мне будет приятно, если вы сначала меня об этом уведомите.

                      В переводе могут быть ошибки, опечатки и неточности. Если вдруг вы таковые обнаружите, то смело говорите. Я отвечу благодарностью.

                      Ссылка на оригинал здесь.
                    • Эволюция Wine

                        image

                        В настоящей статье рассказывается о возникновении свободного проекта Wine, его развитии и появлении различных коммерческих ответвлений. С момента своего возникновения Wine сделал возможным переход на Linux для множества Windows-пользователей по всему миру. Обеспечив работу Windows-приложений на UNIX-подобных операционных системах, проект привлёк к себе большое внимание общественности. Кто-то воспринял такую идею кроссплатформенности с энтузиазмом и даже внёс свой вклад в проект. Кто-то до сих пор относится скептически.
                        Как бы то ни было, фраза «Wine — это не эмулятор» на сегодняшний день знакома большей части Linux-сообщества.
                        В статье сделана попытка проследить развитие проекта Wine и оценить возможные перспективы.
                        Читать дальше →
                      • Битва за трудочасы. Как надо считать зарплату?

                          История «успеха».

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

                          Казалось бы — простая и хорошая схема: рассчитать примерный фонд зарплаты (а это расходная статья) можно на год вперёд.
                          Но, как и следовало ожидать, в отчетах все сотрудники исправно отрабатывали 40 часов в неделю. Всегда. Все.
                          Было несколько «партизан», которые иногда забывали там отмечаться, но, в целом, в отчетах царила райская идиллия.

                          Наконец кому-то из руководства пришла в голову долгожданная мысль, что так быть не может…
                          Читать дальше →
                        • Проблемы при верстке сайтов и игр. Особенности сайтов для мобильников

                            Привет, Хабра!
                            Эта статья является продолжением прошлой статьи (JavaScript to APK. http://habrahabr.ru/company/ifree/blog/214531/). Я попробую дать несколько советов по разработке мобильных сайтов, которые сложились из моего опыта работы над сервисами и продуктами в i-Free.
                            image

                            Для разработчиков мобильных сайтов все телефоны делятся на три группы:

                            • Кнопочные, без поддержки touch-событий
                            • С сенсорным экраном, с поддержкой touch-событий
                            • Смартфоны


                            Откуда в 2014 году берутся старые кнопочные телефоны?

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

                            Откуда в 2014 году берутся новые кнопочные телефоны?

                            Производство новых J2ME телефонов заполняет низший сегмент рынка. Такие телефоны имеют несколько качественных отличий:

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


                            Кто делает сайты для таких телефонов?

                            Как правило, это очень крупные компании, которые стараются сделать свои сервисы максимально доступными (например, Google, Yandex, Mail). Цена вопроса в этом случае не имеет значения. Кроме того, во всех телефонах есть стандартные закладки, в которых вшит сайт оператора, производителя или компании вендора. На таких сайтах можно купить различный контент (игры, картинки, мелодии) или оформить какие-либо услуги. Т.к. телефонов производится очень много, то у таких сайтов может быть очень большая нагрузка.
                            Читать дальше →
                          • Чек-лист по юзабилити интернет-магазинов

                              Апофеоз сотни холиваров и улучшения работы QA — чек-лист по юзабилити интернет-магазинов. В нем частично задействованы прошлые документы — чек-листы по формам и фильтрам. Пользуйтесь.


                              Читать дальше →
                              • +48
                              • 69.1k
                              • 4
                            • Никогда не проверяйте e-mail адреса по стандартам RFC

                              • Translation
                              Множество сайтов требуют от пользователя ввода адреса электронной почты, и мы, как крутые и щепетильные разработчики, всегда стремимся проверять формат введенных адресов строго по стандартам RFC. Благодаря этому наши приложения и сайты проверяют формат e-mail корректно и не имеют проблем с юзабилити, а мы сладко спим, потому что уверены, что все работает как надо.
                              Ага, как бы не так!
                            • Всё, что вы должны знать о прототипах, замыканиях и производительности

                              • Translation
                              • Tutorial

                              Не всё так просто


                              На первый взгляд, JavaScript может показаться достаточно простым языком. Возможно, это из-за достаточно гибкого синтаксиса. Или из-за схожести с другими известными языками, например, с Java. Ну или из-за достаточно малого количества типов данных, по сравнению с Java, Ruby, или .NET.

                              Но в действительности, синтаксис JavaScript гораздо менее прост и очевиден чем может поначалу показаться. Некоторые наиболее характерные черты JavaScript до сих пор неправильно воспринимаются и до конца не поняты, особенно среди опытных разработчиков. Одна из таких черт — производительность при получении данных (свойств и переменных) и возникающие при этом проблемы с производительностью.

                              В JavaScript поиск данных зависит от двух вещей: прототипного наследования и цепочек областей видимости. Для разработчика понимание этих двух механизмов совершенно необходимо, ибо ведет к улучшению структуры, а, зачастую, ещё и производительности кода.
                              Читать дальше →