Рубрика «Rust» - 32

Один из наиболее частых вопросов у новичков «Как мне угодить проверке заимствования?». Проверка заимствования — одна из крутых частей в кривой обучения Rust и, понятно, что у новичков возникают трудности применения этой концепции в своих программах.

Только недавно на сабредите Rust появился вопрос «Советы как не воевать с проверкой заимствования?».

Многие члены Rust-сообщества привели полезные советы как избежать неприятностей связанных с этой проверкой, советы, которые проливают свет на то, как вы должны проектировать свой код на Rust (подсказка: не так, как вы это делаете на Java).

В этом посте я постараюсь показать несколько псевдо-реальных примеров распространенных ловушек.

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

Команда связей с сообществом Rust рада сообщить о первом ежегодном соревновании Underhanded Rust. Это соревнование должно проверить наше предположение о готовности языка Rust и его экосистемы к написанию легко читаемого и надежного кода. Воодушевившись примерами Underhanded C и Underhanded Crypto, мы хотим, чтобы вы заставили Rust работать неправильно, используя лёгкий для чтения код, к которому сложно придраться. Нам нужна ваша помощь в поиске брешей в языке и способов их исправления. Сможете ли вы написать стопроцентно безопасный код, скрывающий логическую ошибку, или так спрятать эксплойт в unsafe коде, чтобы он прошел аудит? Попробуйте это сделать!

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

Весной прошёл первый митап сообщества rustycrate.ru в штаб-квартире «Лаборатории Касперского». А в мире Rust за прошедшие полгода произошло много интересного: были реализованы футуры и асинхронный ввод-вывод поверх них, сделан первый выпуск системы поддержки IDE, появилась инкрементальная сборка. Иными словами, опять есть о чем поговорить.

image

Поэтому, 22 ноября в 19:00 мы собираемся провести еще один митап сообщества. И приглашаем всех, кого интересует этот язык программирования в наш московский офис. На встрече мы планируем обсудить опыт реального применения Rust в задачах системного программирования и тестирования. Поговорим о том, что получается хорошо, а что — не очень. А докладчики из сообщества расскажут, как Rust помогает им и как его готовить, чтобы он помогал вам.

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

1 Почему JavaScript отстой
• 1.1 Плохая конструкция
• 1.2 Система типов
• 1.3 Плохие функции
• 1.4 Отсутствующие функции
• 1.5 DOM
2 Почему Lua отстой
3 Почему PHP отстой
• 3.1 Исправлено в поддерживаемых в настоящее время версиях
4 Почему Perl 5 отстой
5 Почему Python отстой
• 5.1 Исправлено в Python 3
6 Почему Ruby отстой
7 Почему Flex/ActionScript отстой
8 Почему скриптовые языки отстой
9 Почему C отстой
10 Почему C++ отстой
11 Почему .NET отстой
12 Почему C# отстой
13 Почему VB.NET отстой
15 Почему Objective-C отстой
16 Почему Java отстой
• 16.1 Синтаксис
• 16.2 Исправлено в Java 7 (2011)
• 16.3 Библиотека
• 16.4 Обсуждение
17 Почему Backbase отстой
18 Почему XML отстой
19 Почему отстой XSLT/XPath
20 Почему CSS отстой
• 20.1 Исправлено в CSS3
21 Почему Scala отстой
22 Почему Haskell отстой
23 Почему Closure отстой
24 Почему Go отстой
• 24.1 Базовые средства программирования (базовый язык)
• 24.2 Взаимосовместимость
• 24.3 Стандартная библиотека
• 24.4 Набор инструментальных средств
• 24.5 Сообщество
25 Почему Rust отстой
• 25.1 Безопасность
• 25.2 Синтаксис
• 25.3 Конструкция API и система типов
• 25.4 Сообщество
• 25.5 Набор инструментальных средств

Почему JavaScript отстой

Учтите, что некоторые положения относятся не к самому JavaScript, а к программным интерфейсам веб-приложений (https://developer.mozilla.org/en/docs/Web/API).

Плохая конструкция

• Каждый скрипт исполняется в едином глобальном пространство имён, доступ в которое возможен в браузерах с оконным объектом.
• Camel-регистр никуда не годится:

XMLHttpRequest
HTMLHRElement

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

Команда Rust рада представить выпуск Rust 1.13.0. Rust — это системный язык программирования, нацеленный на безопасность, скорость и параллельное выполнение кода.

Как обычно, вы можете установить Rust 1.13.0 с соответствующей страницы официального сайта, а также ознакомиться с подробным списком изменений в 1.13.0 на GitHub. В этот выпуск вошло 1448 патчей.

Это была по-настоящему горячая пора в Rust. Мы участвовали в трёх конференциях подряд — RustConf, RustFest и Rust Belt Rust. Было классно увидеть так много любителей Rust; со многими мы встретились впервые! Мы много думали о будущем, разрабатывали план на 2017 и создавали инструменты, нужные нашим пользователям.

И несмотря на всё это, мы собрали новый выпуск с кучей новых крутых фишек.

Что вошло в стабильную версию 1.13

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

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

Мы рады представить новую версию Rust 1.12.1. Rust — это системный язык программирования, нацеленный на безопасную работу с памятью, скорость и параллельное выполнение кода.

Как обычно, вы можете установить Rust 1.12.1 с соответствующей страницы официального сайта, или с помощью rustup выполнив команду rustup update stable.

Что вошло в стабильную версию 1.12.1

Секундочку… один-точка-двенадцать-точка… один?

Несколько недель назад, в анонсе версии 1.12, мы сказали:

Выпуск 1.12 — возможно, самый значительный с момента выпуска 1.0.

И это правда. Одним из важных изменений был масштабный рефакторинг компилятора. Новый бэкенд MIR изменил его архитектуру и некоторые детали реализации. В целом процесс модернизации прошел так:

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

RailsClub 2016 22 октября, билетов осталось совсем мало. Не откладывайте регистрацию, если собираетесь идти! Мы публикуем разговоры с нашими спикерами, и сегодня это Steve Klabnik — член Rust core team, активный open source контрибьютер и очень интересный собеседник!
Автор книг “The Rust Programming Language”, “Rails 4 in Action” и “Designing Hypermedia APIs”. Живет в Бруклине, сам о себе пишет, что «проводит слишком много времени на GitHub».

Стив уже выступал на RailsClub в 2012 году. И мы также публиковали интервью с ним (любопытным можно посмотреть тут). С тех пор Стив плотно занялся Rust, сделал много интересных штук и мы поняли, что нужно обязательно пригласить его снова :)

Думаю, эта наша публикация будет интересна не только рубистам, но и поклонникам Rust, которых в России становится все больше. На последнем митапе к нам подошли ребята из русскоязычного Rust-сообщества rustycrate.ru . Приглашают всех, кто после RailsClub заинтересуется Rust, не стесняться присоединяться и задавать вопросы.

image
Доклад на нашей конференции — Exploring Ruby through Rust.
Ruby написан на C. Многие классы, которые мы знаем и любим, написаны на Ruby, некоторые нет. Изучая, как работает MRI мы можем узнать о Ruby много интересного. В докладе Стив покажет веселый хак: перепишет куски Ruby-интерпретатора на Rust. В процессе много узнаем о внутреннем устройстве Ruby и о том, как начать хакать код на С.

Под катом приводим наши вопросы, ответы Стива в оригинале и нашем вольном переводе:
Читать полностью »

Мы рады представить новую версию Rust 1.12. Rust — это системный язык программирования, нацеленный на безопасную работу с памятью, скорость и параллельное выполнение кода.

Как обычно, вы можете установить Rust 1.12 с соответствующей страницы официального сайта, а также ознакомиться с подробным списком изменений в этой версии на GitHub. В этот выпуск вошёл 1361 патч.

Что вошло в стабильную версию 1.12

Выпуск 1.12 — возможно, самый значительный с момента выпуска 1.0. Нам есть о чём рассказать, но если у вас мало времени, вот краткое содержание.

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

Реализация арифметики натуральных чисел с помощью чисел Пеано — популярная задача в обучение программированию. Мне было интересно, можно ли реализовать их на Rust. Таким образом моя задача: записать и сложить натуральные числа с проверкой на уровне типов.

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

Когда в нашей компании LTD BeGet встала задача прозрачной фильтрации атак на 4 уровне модели OSI, мы написали свое решение Syncookied. Данным решением мы бы хотели поделиться с Internet сообществом, так как на текущий момент аналогов ему мы не нашли (или мы о них не знаем). Есть платные решения на подобии Arbor, F5, SRX, но стоят они совершенно других денег и в них используются другие технологии защиты.

Почему для разработки мы выбрали язык Rust и фреймворк NetMap, с какими сложностями мы столкнулись в процессе — будет рассказано в этой статье.

» GitHub
» GitHub модуль ядра
» Страница проекта

Syncookied — OpenSource ddos protection system - 1
Читать полностью »


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