Рубрика «Программирование» - 466

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

Поиски новых способов коллективного взаимодействия для умного роя - 1

В лаборатории Технологического института Джорджии физики проводят эксперименты с роботами, выглядящими так, будто они были куплены в магазине «всё по $1». Роботы не могут передвигаться в пространстве или общаться друг с другом. В основном они машут ручонками, будто перевёрнутые на спину жуки.

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

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

На прошлой неделе случился релиз десятки — и хотя Graal был доступен и раньше, теперь он стал ещё доступней — Congratulations, you're running #Graal! — просто добавьте

-XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler

Что конкретно это может нам дать и где можно ожидать улучшений, и какие велосипеды надо начинать выпиливать?

Пример, который я буду рассматривать — частично надуманный, однако, основанный на реальных событиях.

Читать полностью »

В 2017 году Matthias Noback (автор A year with Symfony) опубликовал цикл из трех статей, в котором описал свои взгляды на идеальную архитектру корпоративных приложений, сформировавшуюся за долгие годы практики.Первая часть является вводной и не представляет особого интереса(можно ознакомитсья в оригинале). Переводом второй является данная статья. Перевод третьей будет доступен в скором времени.

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

Читать полностью »

Несколько дней назад зарелизилась новая версия Nginx — 1.13.10. Главная фича данного релиза — это нативная поддержка проксирования HTTP/2, и, как следствие, gRPC.

Читать полностью »

Меня зовут Роб Грэхам, я глава компании Errata Security, которая занимается Интернет-консалтингом. Сегодня мы поговорим о том, как просканировать весь Интернет и для чего это нужно. До сегодняшнего времени существовало мало инструментов для решения этой задачи, поэтому мы создали свои собственные инструменты. Интернет достаточно мал – в нём всего около 4 миллиарда адресов.

Просканировать Интернет достаточно просто – Вы садитесь перед компьютером, запускаете консоль с командной строкой и вводите адрес подсети. И Вы наблюдаете, как Ваш экран заполняется данными, а строки всё бегут и бегут дальше. В результате Вы получаете список открытых портов устройств с различными IP-адресами.

Конференция DEFCON 22. «Массовое сканирование Интернет через открытые порты». Роберт Грэхам, Пол МакМиллан, Дэн Тэнтлер - 1Читать полностью »

Операционные системы с нуля; Уровень 1 (старшая половина) - 1 Настало время следующей части. Это вторая половина перевода лабы №1. В этом выпуске мы будем писать драйверы периферии (таймер, GPIO, UART), реализуем протокол XMODEM и одну утилитку. Используя всё это мы напишем командную оболочку для нашего ядра и загрузчик, который позволит нам не тыкать microSD-карточку туда-сюда.

Младшая половина.
Начинать чтение стоит с нулевой лабы.

Читать полностью »

Сейчас глобальное сообщество Crossover насчитывает уже более 4000 разработчиков и профессионалов других специальностей в 138 странах мира. Из них более 400 человек живут и работают в России. А это значит, что российская экономика благодаря Crossover получила четыре сотни индивидуальных предпринимателей (ИП). И тут вы скажете: «Стоп, а откуда взялись ИП?» Дело в том, что у Crossover в России нет ни офиса, ни даже юрлица — как и нигде в мире, за исключением штаб-квартиры в техасском Остине. Все сотрудники компании работают полностью удалённо. Поэтому с официальной точки зрения Crossover в России не нанимает сотрудников, а заключает договоры о сотрудничестве с индивидуальными предпринимателями. Звучит непривычно? Вероятно — да. Может быть, мы ещё просто не оценили всех возможностей такого формата работы, а ведь у него есть целый вагон преимуществ перед традиционным наймом. Впрочем, как и маленькая тележка недостатков, о которой мы тоже расскажем.

Это вам не настоящая работа, а лучше: как политика найма Crossover останавливает утечку мозгов из России - 1

Как организовано сотрудничество с Crossover

Представим, что один из турниров Crossover, о которых уже был подробный рассказ в прошлый раз, остался для соискателя позади: с великолепным проходным баллом он оказался на витрине Crossover — маркетплейсе, где вскоре получил конкретное предложение о работе в одной из компаний холдинга ESW Capital — Aurea, Versata, DevFactory, 3seventy, Ignite Technologies и др.
Читать полностью »

В этой статье я хотел бы поговорить о логировании в Adaptivist ScriptRunner. Логи являются основным инструментом разработчиков и экспулатирующего персонала для анализа нештатных ситуаций в промышленной среде. Поэтому при разработке приложения мы должны подумать о том, что нам будет необходимо при анализе возникающих инцидентов.
image
Читать полностью »

Привет! Представляю вашему вниманию перевод статьи "REST API Best Practices" автора Krishna Srinivasan.

REST становится общим подходом для представления сервисов окружающему миру. Причина его популярности заключается в его простоте, легкости использования, доступе через HTTP и другие. Существует неправильное представление о том, что все данные, доступные через сеть, считаются REST, но это не так. В этой статье я собираюсь объяснить вам некоторые best practices, которые вы должны всегда помнить при реализации собственного REST приложения. Я бы хотел услышать ваш опыт в REST приложениях, поэтому если вы знаете best practies, которые не упомянуты в этой статье, пожалуйста, поделитесь с нами в комментариях.

Disclamer: все best practies основаны на моем личном опыте. Если вы имеете другое мнение, не стесняйтесь отправлять его мне на email, и мы обсудим его.

Здесь представлен список best practices, которые будут обсуждаться в этой статье:

1. Конечные точки в URL – имя существительное, не глагол
2. Множественное число
3. Документация
4. Версия вашего приложения
5. Пагинация
6. Использование SSL
7. HTTP методы
8. Эффективное использование кодов ответов HTTP
Читать полностью »

Всех с пятницей! В своём прошлом посте про хеш-стеганографию я предложил иной подход в стеганографии — не вкраплять никакой информации в контейнер, а просто упорядочивать контейнеры в нужном порядке и тем самым передавать скрытую информацию. Два дня назад romabibi опубликовал proof of consept для хеш-стеганографии в соц.сети вКонтакте.

Однако в использовании картинок как контейнеров есть важный изьян. Цитирую коммент alekseev_ap:

Всё это очень интересно, но КПД такой системы чрезвычайно низкий. Сколько надо отправить десятков (а то и сотен) килобайт чтобы передать строку из нескольких слов?!

Действительно, если изображение весит условно 0.5 — 2 Мбайт, а на каждое изображение мы передаем от 1 до 3 нибллов, то получаемая скорость очень мала: от 0.5 до 6 B/MB

Поэтому для практического применения нужно найти такой контейнер, который обладал бы следующими свойствами:

  1. был бы очень мал;
  2. при большом количестве контейнеров, стоящие друг за другом; не вызывал бы "подозрений";
  3. при смене порядка контейнеров, они бы не вызывали "подозрение".

Итак, капитан-очевидность решение: необходимо осуществлять хеш-стеганографию в больших датасетах. Одна строка — один ниббл (полубайт).

Хеш-стеганография в dataset-ах. На этот раз быстрая - 1

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js