Pull to refresh
0
0
Send message

PHP-Дайджест № 132 (27 мая – 10 июня 2018)

Reading time4 min
Views16K

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.3.0 alpha 1, Yii 3.0 alpha 1 и другие релизы, свежая книга по асинхронному PHP, видеозаписи докладов, порция полезных инструментов, и многое другое. Приятного чтения!

Читать дальше →
Total votes 50: ↑48 and ↓2+46
Comments22

Релиз Apache Ignite 2.4 — Distributed Database and Caching Platform

Reading time5 min
Views4.9K
12 марта 2018 г., спустя 4 месяца после прошлой версии, вышел Apache Ignite 2.4. Этот релиз примечателен целым рядом нововведений: поддержка Java 9, множественные оптимизации и улучшения SQL, поддержка платформой нейронных сетей, новый подход к построению топологии при работе с диском и многое другое.

Apache Ignite Database and Caching Platform — это платформа для распределенного хранения данных (оптимизированная под активное использование RAM), а также для распределенных вычислений в близком к реальному времени.

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

Примеры использования: быстрый распределенный кеш; слой, агрегирующий данные из разрозненных сервисов (например, для Customer 360 View); основное горизонтально масштабируемое хранилище (NoSQL или SQL) оперативных данных; платформа для вычислений и т.д.

Далее рассмотрим основные новшества Ignite 2.4.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments5

Дайджест интересных материалов для мобильного разработчика #245 (12 марта— 18 марта)

Reading time3 min
Views7.8K
Праздники все закончились и вот у нас в дайджесте много интересных материалов – про успех ролла «Калифорния», правильную анимацию, борьбу с Siri внутри Apple, кроссплатформенную разработку, джуниоров и мидлов.

Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments0

Проблемы ООЯП: Неполноценная объектная парадигма и преждевременная типизация

Reading time6 min
Views6.6K

Здравствуйте коллеги!


В предыдущей статье речь шла о проблеме ООЯП в общем, в данной статье я бы хотел развить эту тему и показать более конкретно проблемы ООЯП.


Основные идеи: ООЯП имеют две ключевые проблемы: неполноценная объектная парадигма и преждевременная типизация. Неполноценная объектная парадигма не даёт определения понятию нетипизированной объектной композиции (композиция является важнейшим элементом любой парадигмы). Преждевременная типизация ограничивает семантику абстрактных понятий (семантических абстракций).

Читать дальше →
Total votes 17: ↑10 and ↓7+3
Comments51

Дайджест свежих материалов из мира фронтенда за последнюю неделю №306 (12 — 18 марта 2018)

Reading time4 min
Views16K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments2

Генерируем уровни для игры с помощью нейросетей

Reading time12 min
Views17K

Предисловие


За последние несколько лет прогресс в области искусственного интеллекта привёл к созданию методов машинного обучения на основе обучения представлениям (representation-learning) с несколькими слоями абстракции — так называемому «глубокому обучению». Общественное и медийное внимание было привлечено к этой области исследований благодаря древнекитайской настольной игре го. Несмотря на то, что сложность го часто сравнивают со сложностью самой жизни, программе AlphaGo, использующей глубокое обучение с подкреплением (deep reinforcement learning), удалось превзойти мирового чемпиона по го Ли Седоля. Удивительно, что исследования ИИ были использованы в играх и получили такое широкое общественное внимание. Стоит также заметить, что один из разработчиков AlphaGo, Демис Хассабис, был ведущим программистом Theme Park (1994 год) и ведущим программистом ИИ Black & White (2001 год). Игры и современный прогресс ИИ, возможно, имеют некую корреляцию.

Эта статья является постмортемом, отчётом о попытке нашей команды реализации генерирования уровней для Fantasy Raiders с помощью различных методов искусственных нейронных сетей. Раньше генерирование уровней было процессом кодирования знаний разработчика игры с помощью неких вероятностных техник. Однако для Fantasy Raiders мы написали программу, которая могла учиться и генерировать уровни на основании наших данных. Как нам кажется, в результате мы получили всего лишь ключ к решению задачи генерирования уровней, а не общее решение. Чтобы поделиться нашими открытиями с другими разработчиками игр мы хотим подробно рассказать о процессе наших исследований, от начала до конца.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments2

Годовой отчет по кибер- и инфобезопасности за 2017 год

Reading time7 min
Views9.6K
Здравствуй, Хабр. Мы бы хотели представить тебе краткую версию годового отчета по кибер- и инфобезопасности за 2017 год, написанный нами совместно с главным партнером — Wallarm, предоставившим информацию по наиболее заметным уязвимостям и взломам.

В 2017 году компании Qrator Labs и Wallarm отметили растущую диверсификацию угроз из-за увеличивающегося множества возможных векторов атаки. Диапазон критических уязвимостей современной глобальной сети настолько широк, что злоумышленники могут выбирать различные способы создания проблем для практически любой организации. И все большее количество инструментов может работать автоматически, делая централизованное управление излишним.

Если 2016 год можно назвать годом ботнетов и терабитных атак, то 2017 год был годом сетей и маршрутизации. Такие инциденты как спровоцированная Google утечка маршрутов сетей Японии, перехват чужого трафика Level3 в Соединенных Штатах и «Ростелекомом» в России, как и многие другие, демонстрируют устойчивые и высокие риски, связанные с человеческими факторами, основанные на бесхозяйственности и недостаточной автоматизации процессов. Храбрый инженер, уверенно останавливающий важный автоматический сценарий, может создать серьезные проблемы в доступности сетевых ресурсов.


Динамика количества атак за 2016–2017 гг
Total votes 47: ↑47 and ↓0+47
Comments0

[в закладки] Инструменты JS-разработчика, на которые стоит обратить внимание

Reading time10 min
Views22K
Программист Трэвис Фишер, перевод статьи которого мы публикуем сегодня, решил рассказать о самых полезных, с его точки зрения, модулях и вспомогательных инструментах для JS-разработки. Полезными он считает технологии, которыми пользуется постоянно и в ценности которых убедился на собственном опыте. В частности, речь пойдёт о библиотеках и утилитах, предназначенных для серверной и клиентской разработки на JavaScript. Трэвис говорит, что не стремился к тому, чтобы включить в свой материал нечто узкоспециализированное, или сделать что-то вроде очередного awesome-списка, которые сами по себе весьма полезны, но обычно оказываются несколько перегруженными. Здесь речь пойдёт лишь о том, самом лучшем, что он с полной уверенностью может порекомендовать другим.

image
Читать дальше →
Total votes 32: ↑28 and ↓4+24
Comments12

Профилирование: оптимизация

Reading time10 min
Views8.2K


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

Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments5

Слушайте! 50 лучших подкастов для разработчиков

Reading time12 min
Views19K
Развиваться, узнавать о технологиях и быть в курсе последних подходов – для ITшника особенно важно. Читать книгу не всегда удобно, смотреть видео-обзоры любят не все и времени много занимает.

Держите 50 IT-подкастов о технологических новинках в сфере ИБ, облачных технологий, IoT, тестирования и управления проектами. Все подкасты на английском языке, для прослушивания нужно знать его на уровне upper intermediate и выше.


Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments6

Конвертируем диапазон IP в бесклассовую адресацию (CIDR) и обратно в Go

Reading time4 min
Views28K
При прохождения очередного собеседования мне задали небольшое тестовое задание, написать на Go сетевой сканер открытых портов. Задание в принципе не сложное, но одним из условий было, что в качестве параметра может быть передан как IP-адрес, так и диапазон сетевых адресов в виде сетевой маски: 192.168.8.0/21.

Тема скорее всего очень тривиальная для сетевых инженеров и администраторов и, наверно, даже скучная. Моя цель просто изложить тут алгоритм перевод диапазона IP в сетевую маску (дальше по тексту CIDR) и обратно из CIDR в диапазон адресов.
Читать дальше →
Total votes 6: ↑5 and ↓1+4
Comments2

Считаем серверы, рабочие станции, лицензии, разливаем обновления и автоматизируем IT-процессы

Reading time5 min
Views9.8K
На одном из мест работы я как-то столкнулся с ситуацией, когда один коллега был пойман на свинчивании планок памяти из своей рабочей станции. Тот не стал отнекиваться и сразу сказал, что брал домой потестировать и собирался вернуть. Но все кагбэ поняли. Не знаю как у вас, но на моей памяти такое было единственный раз. Возможно, такое случается сплошь и рядом.

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

image
Посчитать всё
Total votes 12: ↑11 and ↓1+10
Comments12

Переписываем приложение под Blockchain

Reading time6 min
Views11K

Before and after


Отмечу сразу, что данная статья не о том как писать код на Solidity, а как существующую классическую архитектуру вашего приложения можно перевести на рельсы blockchain и думать в ключе децентрализации.


Пару лет назад я работал над одним интересным веб приложением сервиса p2p доставки посылок. По определенным причинам разработку пришлось заморозить на этапе прототипа, так что я просто выложил исходный код на GitHub и забыл про него.


В последнее время по роду деятельности мне довелось поработать с несколькими проектами связанными с криптовалютой и blockchain-технологиями. Познакомившись ближе с Ethereum и его идеологией децентрализованных приложений (ĐApp) я просто заболел этой идеей: никакой цензуры, никто не может прикрыть ваш бизнес, никто не может конфисковать ваши средства, невозможно просто взять и выключить сервер на котором работает ваше приложение. В определенный момент я пришёл к выводу, что именно в такой среде мой проект может иметь шансы на жизнь.


Итак, взглянем на фронт работ.

Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments71

#PostgreSQL. Ускоряем деплой в семь раз с помощью «многопоточки»

Reading time11 min
Views17K
Всем привет! Мы на проекте ГИС ЖКХ используем PostgreSQL и недавно столкнулись с проблемой долгого выполнения SQL скриптов из-за быстрого увеличения объема данных в БД. В феврале 2018 года на PGConf я рассказал, как мы решали эту проблему. Слайды презентации доступны на сайте конференции. Предлагаю вашему вниманию текст моего выступления.


Читать дальше →
Total votes 53: ↑52 and ↓1+51
Comments13

Вертим логи как хотим ― анализ журналов в системах Windows

Reading time6 min
Views119K


Пора поговорить про удобную работу с логами, тем более что в Windows есть масса неочевидных инструментов для этого. Например, Log Parser, который порой просто незаменим.


В статье не будет про серьезные вещи вроде Splunk и ELK (Elasticsearch + Logstash + Kibana). Сфокусируемся на простом и бесплатном.

Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments6

Вторая волна: кому придется переходить на онлайн-кассы этим летом

Reading time9 min
Views13K
Расставляем все точки над i в вопросах, кому в соответствии с новым 54-ФЗ надо переходить на онлайн-кассы этим летом, когда внедрять в чеки полную номенклатуру и кого это все вообще не коснется. А также даем несколько советов по дальнейшим шагам, подбору кассовой техники, регистрации и налоговому вычету.


Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments16

Релиз Yii 2.0.15 и расширений баз данных с исправленными уязвимостями

Reading time4 min
Views11K

Сегодня мы выпускаем обновления Yii для нескольких последних версий 2.0.x и официальных расширений поддержки нереляционных баз данных для исправления найденных уязвимостей. Патчи исправляют проблему в методах слоя ActiveRecord: findOne() и findAll(), которые могут допустить SQL инъекцию, если входящие данные не подготовлены должным образом.


Мы рассматриваем это как уязвимость в Yii потому что документация для этих методов не содержала явного предупреждения о том, что в некоторых случаях передача нефильтрованых пользовательских данных может быть опасной. Мы благодарим Analitic1983 (Habr, GitHub) за обнаружение этой уязвимости.


Проблема относится в большей степени не к самому фреймворку, а к документации по использованию данных методов в приложении. Мы обновили документацию и дополнительно привели примеры кода, который может быть опасен. Однако, обновление документации не исправит приложения, в которых разработчики уже используют методы findOne() и findAll() небезопасно. Чтобы избежать наихудшего сценария – SQL инъекции, мы также изменили поведение этих методов и добавили принудительную фильтрацию входящих данных, которая ограничивает перечень возможных имён столбцов списком свойств модели ActiveRecord.


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

Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments22

Документирование API — документация из тестов

Reading time4 min
Views18K
Пост в продолжение темы экспериментальных решений, откуда будет переиспользован код для примера. В прошлом посте я затронул тему, как можно написать тесты на простой сервис, когда он выступает в роли черного ящика и из кода теста у нас нет прямого доступа к коду тестируемой программы. Ещё раз остановлюсь на том, что тестируемый сервис был реализован на языке Go, а тесты к сервису на языке Ruby и фрэймворке для тестирования RSpec. Стэк был выбран из собственных предпочтений и не имеет ключевого значения к рассматриваемой теме. В этой статье хочу рассмотреть вопрос документирования API, вновь используя не совсем стандартное решение.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments0

В Google без опыта работы. Программист из Кремниевой долины о российских дипломах, собеседованиях и работе в США

Reading time5 min
Views65K
Есть у меня одно увлечение – интервьюировать IT-специалистов из Кремниевой долины. Не с целью приема на работу, а просто о жизни в США и работе в крупных компаниях.
Мой сегодняшний герой – Евгений Краско, программист из YouTube.


image
Программист из Google о российских дипломах, собеседованиях и работе в Кремниевой долине

– Я родом из Екатеринбурга, после окончания школы поступил в ИТМО на кафедру компьютерных технологий и переехал Петербург. Через 2 года я перевелся на кафедру высшей математики, а на 4 курсе решил, что все-таки надо заняться программированием. Практическому программированию я начал учиться на Java-курсах в Exigen Services, а на теоретические курсы пошёл в Computer Science клуб. Параллельно я начал поступать в магистратуру в Академический Университет на направление Software Engineering.

В магистратуре мне понравилось – я прошёл стажировки в Яндексе и JetBrains; стал работать преподавателем на кафедре – и после её окончания я остался в аспирантуре СПбАУ. Вместе с этим через полгода работы я решил попробоваться в Google (прим. – YouTube принадлежит Google) и получил оффер. Таким образом, Google – это мой второй работодатель, а как программиста и вовсе первый. Процесс переезда оказался довольно долгим: с момента первого интервью и до первого рабочего дня прошло почти полтора года. Даже после того, как ты получаешь оффер, остается еще очень много дел: получение визы, подбор команды и непосредственно сам переезд. Однако, такие длинные сроки сыграли мне на руку – благодаря им я многое успел в аспирантуре. Оставалось только защитить диссертацию, что я и сделал, вернувшись ненадолго в Россию уже из США через два года.
Читать дальше →
Total votes 49: ↑37 and ↓12+25
Comments63

Полезное дизайнеру и разработчику. Свежие утилиты и инструменты для ускорения работы. Выпуск № 10

Reading time5 min
Views16K


10-й «Юбилейный» выпуск полезных штук для дизайнеров и разработчиков. Сегодня в выпуске 31 ссылка на всякие свежие полезности. Больше добавить нечего → изучайте сами и делитесь с друзьями!
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments3
1
23 ...

Information

Rating
Does not participate
Registered
Activity