• Хаки при работе с большим числом мелких файлов

      Идея статьи родилась спонтанно из дискуссии в комментариях к статье «Кое-что об inode».



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

      Поэтому делюсь нашим опытом, может кому и пригодится.
      Читать дальше →
    • Word2vec в картинках

      • Перевод


      «Во всякой вещи скрыт узор, который есть часть Вселенной. В нём есть симметрия, элегантность и красота — качества, которые прежде всего схватывает всякий истинный художник, запечатлевающий мир. Этот узор можно уловить в смене сезонов, в том, как струится по склону песок, в перепутанных ветвях креозотового кустарника, в узоре его листа.

      Мы пытаемся скопировать этот узор в нашей жизни и нашем обществе и потому любим ритм, песню, танец, различные радующие и утешающие нас формы. Однако можно разглядеть и опасность, таящуюся в поиске абсолютного совершенства, ибо очевидно, что совершенный узор — неизменен. И, приближаясь к совершенству, всё сущее идёт к смерти» — Дюна (1965)

      Я считаю, что концепция вложений (embeddings) — одна из самых замечательных идей в машинном обучении. Если вы когда-нибудь использовали Siri, Google Assistant, Alexa, Google Translate или даже клавиатуру смартфона с предсказанием следующего слова, то уже работали с моделью обработки естественного языка на основе вложений. За последние десятилетия произошло значительное развитие этой концепции для нейронных моделей (последние разработки включают контекстуализированные вложения слов в передовых моделях, таких как BERT и GPT2).
      Читать дальше →
    • Гид по ручному тестированию приложений: преимущества, этапы и методологии

        Детально разбираем то, как проводить ручное тестирование, когда оно лучше автоматизированного, что нужно уметь тестировщику и как он может построить свою карьеру от джуниора до тест- лида. Гид подготовлен совместно с руководителем отдела тестирования компании Agima Дариной Гордеевой.



        Привет! Меня зовут Дарина Гордеева. Работаю в компании AGIMA руководителем отдела почти 3 года. В области тестирования и обеспечения качества более 6 лет. За это время прошла путь от джуниора до руководителя отдела, занимаясь тестированием железа, а также мобильных и веб-приложений, автоматизацией и настройкой процессов QA. Сегодня я расскажу вам про особенности, возможности и скрытые проблемы ручного тестирования.
        Читать дальше →
        • +2
        • 20,8k
        • 3
      • «Яндекс» и Сбербанк создадут «русский Амазон» за $1 млрд



          На фоне блокировок Amazon и предложений о введении 30%-го налога на все покупки с зарубежных площадок, «Яндекс» и «Сбербанк», завершили сделку о создании совместного предприятия, о котором было объявлено еще в августе. По словам Германа Грефа, целью новой площадки станет создание «российского Amazon». Общая стоимость проекта – 60 млрд. рублей, из которых «Яндекс» уже получил 30 млрд. Сумма очень внушительная: Дуров за «Вконтакте» получил $300 млн, а сам «Яндекс» заплатил за «Кинопоиск» $80 млн, и обе сделки были еще до падения рубля. Но какие шансы у нового проекта побороть Avito и Aliexpress, и сможет ли он что-то противопоставить настоящему Amazon, если тот однажды захочет прийти в Россию?

          Читать дальше →
        • Раздача статического контента — счет на милисекунды

            image

            8 лет назад я написал статью про ускорение раздачи статического контента, некоторым хабрачитателям она приглянулась и долгое время оставалась актуальной.

            И вот мы решили ускорять то, что и так работает быстро и, заодно, поделиться опытом того, что получилось в итоге. Конечно же я расскажу о граблях, о том где не надо HTTP/2, о том почему мы покупаем 7,6Tb NVMe SSD вместо 8x1Tb SATA SSD и много другой узкоспециализированной информации.

            Давайте сразу договоримся что хранение и раздача контента это 2 разные задачи и говорить мы будем только про раздачу (продвинутый кеш)

            Начнем с железа…
            Читать дальше →
            • +13
            • 7,9k
            • 8
          • Перевод статьи Ганса Бувалды «Основные принципы проектирования тестов»

            • Перевод
            Ребята из Luxoft Training подготовили перевод статьи о проектировании тестов от одного из первых разработчиков популярной сегодня методологии тестирования и автоматизации на основе ключевых слов — Ганса Бувалды.

            Ганс Бувалда (Hans Buwalda) за свою профессиональную карьеру приобрел огромный опыт работы в качестве разработчика ПО, менеджера и главного консультанта в ведущих компаниях и организациях в разных странах мира. Предложенные им методы тестирования (на основе действий и в стиле мыльной оперы) помогли многим заказчикам разработать масштабируемые и легко поддерживаемые решения для большого объема сложных задач по тестированию. Ганс часто выступает в качестве докладчика на международных конференциях. Также он является соавтором книги Integrated Test Design and Automation.
            Читать статью
          • VK Streaming API Contest

              Привет! Мы запустили бета-тестирование нового продукта для получения публичных данных из ВКонтакте в реальном времени — Streaming API.



              Он призван заменить методы публичного API для поиска и парсинга данных (newsfeed.search, wall.search, wall.get) и стать более удобным решением задачи аналитики упоминаний в соцсети.

              Читать дальше →
              • +26
              • 9,9k
              • 7
            • Зачем регистрировать программу для ЭВМ?

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

                Это наиболее очевидный и простой способ защиты прав на ПО. Но насколько этот способ защиты действенный и какие преимущества в защите прав дает регистрация?

                Внимание! Апгрейд статьи в связи с изменением порядка регистрации с 18 июля 2016 г. здесь.

                image

                Попробуем разобраться
              • Разоблачение 12 юридических заблуждений о программах для ЭВМ



                Заблуждение / опасная привычка На самом деле … Наш совет прост:
                1. Мы создали программу и автоматически стали ее авторами и правообладателями. Для охраны и продажи программы никаких документов оформлять не нужно, ведь она охраняется авторским правом — ©! Действительно: программа для ЭВМ охраняется авторским правом как литературное произведение (п.1 ст. 1259, ст. 1261 ГК РФ).

                Но то, что для возникновения авторских прав не требуется регистрация или соблюдение каких-либо иных формальностей (п.4 ст. 1259 ГК РФ), ни в коем случае не освобождает:
                − от соблюдения набора критериев, установленных законом;
                − от необходимости документально доказать факт создания программы и свои права на них.

                Неоформленный SOFT закон не охраняет.

                Всё просто: если у вас спор о правах на программу, то без документов вы не сможете доказать, что (1) у вас были права и (2) ваши права нарушены, (3) что сама эта совокупность данных и команд на языке программирования является интеллектуальной собственностью (ведь различные версии и релизы никакой новой интеллектуальной собственности не создают).
                То же самое – при постановке на бухгалтерский учёт и оформлении бухгалтерских проводок.

                Коротко говоря: нет документов = нет интеллектуальной собственности = нет нарушений прав = нет компенсации за нарушение прав.
                Оформляйте много хороших и разных документов при создании программ для ЭВМ:
                — договоры с авторами;
                — договоры с подрядчиками;
                — технические задания;
                — протоколы совещаний и тестов;
                — соглашения между соавторами;
                — авторское свидетельство;
                — сертификат признания интеллектуальной собственности;
                — спецификация РИД;
                — свидетельство о регистрации программы для ЭВМ (Роспатент).
                Читать дальше →
              • 30 полезных сервисов для веб-разработчика

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

                    Довольно часто, выступая на различных конференциях, мы делились желанием выпустить под открытой лицензией KittenPHP, согласно традиции, заложенной крупными IT-компаниями, такими как Google и Facebook.

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

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


                    Читать дальше →
                  • Контроллер для умной теплицы

                      image
                      Для умного дома есть куча решений, думаю, пора расширяться в сад.
                      Предлагаю обсудить проект контроллера для умной теплицы.

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

                      Вот примерный перечень того, что хочется видеть в конечном устройстве:

                      I этап — базовая функциональность
                      Минимум 8 каналов для датчиков (влажность воздуха внутри, температура воздуха внутри и снаружи, температура почвы внутри и снаружи, температура воздуха в канале вентиляции, освещенность, 1 резервный);
                      Отображение показаний датчиков на большом ЖК-дисплее (можно и LCD+тачскрин, но это вроде уже сильно дороже);
                      Управление исполнительными устройствами:
                      -открытие/закрытие кранов полива и залива бочек по заданной логике и показаниям датчиков;
                      -включение/выключение вентилятора (как в одну, так и в другую сторону) по показаниям датчиков и логике;
                      -включение ночью двух каналов LED-подсветки растений (синий и красный спектр) в разном соотношении, по заданному календарю.
                      Читать дальше →