Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.3.0 alpha 1, Yii 3.0 alpha 1 и другие релизы, свежая книга по асинхронному PHP, видеозаписи докладов, порция полезных инструментов, и многое другое. Приятного чтения!
User
Релиз Apache Ignite 2.4 — Distributed Database and Caching Platform
Apache Ignite Database and Caching Platform — это платформа для распределенного хранения данных (оптимизированная под активное использование RAM), а также для распределенных вычислений в близком к реальному времени.
Ignite применяется там, где нужно очень быстро обрабатывать большие потоки данных, которые не по зубам централизованным системам.
Примеры использования: быстрый распределенный кеш; слой, агрегирующий данные из разрозненных сервисов (например, для Customer 360 View); основное горизонтально масштабируемое хранилище (NoSQL или SQL) оперативных данных; платформа для вычислений и т.д.
Далее рассмотрим основные новшества Ignite 2.4.
Дайджест интересных материалов для мобильного разработчика #245 (12 марта— 18 марта)
Проблемы ООЯП: Неполноценная объектная парадигма и преждевременная типизация
Здравствуйте коллеги!
В предыдущей статье речь шла о проблеме ООЯП в общем, в данной статье я бы хотел развить эту тему и показать более конкретно проблемы ООЯП.
Основные идеи: ООЯП имеют две ключевые проблемы: неполноценная объектная парадигма и преждевременная типизация. Неполноценная объектная парадигма не даёт определения понятию нетипизированной объектной композиции (композиция является важнейшим элементом любой парадигмы). Преждевременная типизация ограничивает семантику абстрактных понятий (семантических абстракций).
Дайджест свежих материалов из мира фронтенда за последнюю неделю №306 (12 — 18 марта 2018)
Генерируем уровни для игры с помощью нейросетей
Предисловие
За последние несколько лет прогресс в области искусственного интеллекта привёл к созданию методов машинного обучения на основе обучения представлениям (representation-learning) с несколькими слоями абстракции — так называемому «глубокому обучению». Общественное и медийное внимание было привлечено к этой области исследований благодаря древнекитайской настольной игре го. Несмотря на то, что сложность го часто сравнивают со сложностью самой жизни, программе AlphaGo, использующей глубокое обучение с подкреплением (deep reinforcement learning), удалось превзойти мирового чемпиона по го Ли Седоля. Удивительно, что исследования ИИ были использованы в играх и получили такое широкое общественное внимание. Стоит также заметить, что один из разработчиков AlphaGo, Демис Хассабис, был ведущим программистом Theme Park (1994 год) и ведущим программистом ИИ Black & White (2001 год). Игры и современный прогресс ИИ, возможно, имеют некую корреляцию.
Эта статья является постмортемом, отчётом о попытке нашей команды реализации генерирования уровней для Fantasy Raiders с помощью различных методов искусственных нейронных сетей. Раньше генерирование уровней было процессом кодирования знаний разработчика игры с помощью неких вероятностных техник. Однако для Fantasy Raiders мы написали программу, которая могла учиться и генерировать уровни на основании наших данных. Как нам кажется, в результате мы получили всего лишь ключ к решению задачи генерирования уровней, а не общее решение. Чтобы поделиться нашими открытиями с другими разработчиками игр мы хотим подробно рассказать о процессе наших исследований, от начала до конца.
Годовой отчет по кибер- и инфобезопасности за 2017 год
В 2017 году компании Qrator Labs и Wallarm отметили растущую диверсификацию угроз из-за увеличивающегося множества возможных векторов атаки. Диапазон критических уязвимостей современной глобальной сети настолько широк, что злоумышленники могут выбирать различные способы создания проблем для практически любой организации. И все большее количество инструментов может работать автоматически, делая централизованное управление излишним.
Если 2016 год можно назвать годом ботнетов и терабитных атак, то 2017 год был годом сетей и маршрутизации. Такие инциденты как спровоцированная Google утечка маршрутов сетей Японии, перехват чужого трафика Level3 в Соединенных Штатах и «Ростелекомом» в России, как и многие другие, демонстрируют устойчивые и высокие риски, связанные с человеческими факторами, основанные на бесхозяйственности и недостаточной автоматизации процессов. Храбрый инженер, уверенно останавливающий важный автоматический сценарий, может создать серьезные проблемы в доступности сетевых ресурсов.
Динамика количества атак за 2016–2017 гг
[в закладки] Инструменты JS-разработчика, на которые стоит обратить внимание
Профилирование: оптимизация
Это вторая статья из серии статей об оптимизации кода. Из первой мы узнали, как находить и анализировать узкие места в коде, снижающие производительность. Мы предположили, что главная проблема в примере — медленное обращение к памяти. В этой статье рассмотрим, как снизить расходы при работе с памятью, а следовательно, и увеличить скорость программы.
Слушайте! 50 лучших подкастов для разработчиков
Держите 50 IT-подкастов о технологических новинках в сфере ИБ, облачных технологий, IoT, тестирования и управления проектами. Все подкасты на английском языке, для прослушивания нужно знать его на уровне upper intermediate и выше.
Конвертируем диапазон IP в бесклассовую адресацию (CIDR) и обратно в Go
Тема скорее всего очень тривиальная для сетевых инженеров и администраторов и, наверно, даже скучная. Моя цель просто изложить тут алгоритм перевод диапазона IP в сетевую маску (дальше по тексту CIDR) и обратно из CIDR в диапазон адресов.
Считаем серверы, рабочие станции, лицензии, разливаем обновления и автоматизируем IT-процессы
Случай всплыл в памяти по ходу написания статьи. Уже давно собирался рассказать о специальной софтине для сбора всяких инвентаризационных штук с железок — KACE. С ней я знаком как минимум пару лет и не раз приходилось поработать на практике. Сейчас сошлись звезды, мысли собрались в кучу и, наконец, пишу как эта штука может быть полезна для контор от нескольких рабочих станций до многотысячных парков ИТ-оборудования. Вещь простая как валенок и функциональная как микроволновка с грилем и конвекцией, а развернутой статьи на Хабре про нее до сих пор не было.
Переписываем приложение под Blockchain
Отмечу сразу, что данная статья не о том как писать код на Solidity, а как существующую классическую архитектуру вашего приложения можно перевести на рельсы blockchain и думать в ключе децентрализации.
Пару лет назад я работал над одним интересным веб приложением сервиса p2p доставки посылок. По определенным причинам разработку пришлось заморозить на этапе прототипа, так что я просто выложил исходный код на GitHub и забыл про него.
В последнее время по роду деятельности мне довелось поработать с несколькими проектами связанными с криптовалютой и blockchain-технологиями. Познакомившись ближе с Ethereum и его идеологией децентрализованных приложений (ĐApp) я просто заболел этой идеей: никакой цензуры, никто не может прикрыть ваш бизнес, никто не может конфисковать ваши средства, невозможно просто взять и выключить сервер на котором работает ваше приложение. В определенный момент я пришёл к выводу, что именно в такой среде мой проект может иметь шансы на жизнь.
Итак, взглянем на фронт работ.
#PostgreSQL. Ускоряем деплой в семь раз с помощью «многопоточки»
Вертим логи как хотим ― анализ журналов в системах Windows
Пора поговорить про удобную работу с логами, тем более что в Windows есть масса неочевидных инструментов для этого. Например, Log Parser, который порой просто незаменим.
В статье не будет про серьезные вещи вроде Splunk и ELK (Elasticsearch + Logstash + Kibana). Сфокусируемся на простом и бесплатном.
Вторая волна: кому придется переходить на онлайн-кассы этим летом
Релиз Yii 2.0.15 и расширений баз данных с исправленными уязвимостями
Сегодня мы выпускаем обновления Yii для нескольких последних версий 2.0.x и официальных расширений поддержки нереляционных баз данных для исправления найденных уязвимостей. Патчи исправляют проблему в методах слоя ActiveRecord: findOne()
и findAll()
, которые могут допустить SQL инъекцию, если входящие данные не подготовлены должным образом.
Мы рассматриваем это как уязвимость в Yii потому что документация для этих методов не содержала явного предупреждения о том, что в некоторых случаях передача нефильтрованых пользовательских данных может быть опасной. Мы благодарим Analitic1983 (Habr, GitHub) за обнаружение этой уязвимости.
Проблема относится в большей степени не к самому фреймворку, а к документации по использованию данных методов в приложении. Мы обновили документацию и дополнительно привели примеры кода, который может быть опасен. Однако, обновление документации не исправит приложения, в которых разработчики уже используют методы findOne()
и findAll()
небезопасно. Чтобы избежать наихудшего сценария – SQL инъекции, мы также изменили поведение этих методов и добавили принудительную фильтрацию входящих данных, которая ограничивает перечень возможных имён столбцов списком свойств модели ActiveRecord.
Исправление, хоть и убирает подавляющее большинство проблем, не исправляет их все, потому дальше в статье мы детально рассмотрим, какой код уязвим и что нужно сделать, чтобы обезопасить себя.
Документирование API — документация из тестов
В Google без опыта работы. Программист из Кремниевой долины о российских дипломах, собеседованиях и работе в США
Мой сегодняшний герой – Евгений Краско, программист из YouTube.
Программист из Google о российских дипломах, собеседованиях и работе в Кремниевой долине
– Я родом из Екатеринбурга, после окончания школы поступил в ИТМО на кафедру компьютерных технологий и переехал Петербург. Через 2 года я перевелся на кафедру высшей математики, а на 4 курсе решил, что все-таки надо заняться программированием. Практическому программированию я начал учиться на Java-курсах в Exigen Services, а на теоретические курсы пошёл в Computer Science клуб. Параллельно я начал поступать в магистратуру в Академический Университет на направление Software Engineering.
В магистратуре мне понравилось – я прошёл стажировки в Яндексе и JetBrains; стал работать преподавателем на кафедре – и после её окончания я остался в аспирантуре СПбАУ. Вместе с этим через полгода работы я решил попробоваться в Google (прим. – YouTube принадлежит Google) и получил оффер. Таким образом, Google – это мой второй работодатель, а как программиста и вовсе первый. Процесс переезда оказался довольно долгим: с момента первого интервью и до первого рабочего дня прошло почти полтора года. Даже после того, как ты получаешь оффер, остается еще очень много дел: получение визы, подбор команды и непосредственно сам переезд. Однако, такие длинные сроки сыграли мне на руку – благодаря им я многое успел в аспирантуре. Оставалось только защитить диссертацию, что я и сделал, вернувшись ненадолго в Россию уже из США через два года.
Полезное дизайнеру и разработчику. Свежие утилиты и инструменты для ускорения работы. Выпуск № 10
Information
- Rating
- Does not participate
- Registered
- Activity