Search
Write a publication
Pull to refresh
0
0
Вова @vvsh

User

Send message

На пути к Rust 1.0

Reading time6 min
Views17K
Эта статья — перевод первого поста в официальном блоге языка программирования Rust, разрабатываемого Mozilla. Первая стабильная версия Rust совсем не за горами (предварительный прогноз — конец этого/начало следующего года), и авторы языка собираются опубликовать несколько вводных статей о том, что же такое особенное Rust предлагает.

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




Rust 1.0 уже в пути! Мы определились со списком фич и плотно заняты их реализацией. Наш план — выпустить бета-версию 1.0 в конце года. Если всё будет в порядке, то релиз 1.0 состоится вскоре после беты. Будущие версии в ветке 1.x будут обратно совместимыми, то есть существующий код будет ими компилироваться без изменений (естественно, за исключением багов в компиляторе).

Естественно, релиз 1.0 не означает только лишь стабилизацию («ваш код продожит компилироваться»); для нас он значит, что язык стал таким, каким мы хотим его видеть. Если ещё точнее, что он минимален. На данный момент язык выстроен вокруг простых базовых концепций, которые мы называем владением (ownership) и заимствованием (borrowing) (подробнее о них далее). Применяя эти концепции, всё остальное мы смогли вынести в библиотеки. Это очень здорово, потому что вы сами сможете написать аналогичные библиотеки. Из-за этого мы уверены, что Rust не только достигнет своих первоначальных целей, но и пойдёт дальше, применяясь в таких задачах, какие мы даже себе не представляли.

Читать дальше →

BitTorrent Bleep: защищенный мессенджер от BitTorrent

Reading time2 min
Views69K


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

И теперь разработчики BitTorrent представили новое приложение, защищенный мессенджер (пока только альфа-релиз), названный BitTorrent Bleep.

Читать дальше →

Приглашаем на HadoopKitchen

Reading time4 min
Views7.2K


Спешим сообщить вам о нашей новой инициативе, которая будет интересна как программистам, так и ряду других IT-специалистов: 27 сентября, в следующую субботу, в московском офисе Mail.Ru Group состоится первая встреча HadoopKitchen. Почему именно Hadoop и чем эта встреча может быть интересна непрограммистам?

  • Hadoop является центром настоящей экосистемы, с ним связаны многочисленные проекты и технологии.
  • Многие компании целиком полагаются на коммерческие дистрибутивы Hadoop.
  • Hadoop входит в продуктовые линейки почти всех крупных поставщиков информационных технологий, что говорит о его востребованности и популярности.

Программа первой Hadoop-встречи будет очень насыщенной, выступят аж четыре докладчика. Все они замечательные специалисты с большим опытом, которым хотят поделиться с аудиторией. Под катом читайте программу мероприятия и анонсы докладов.
Читать дальше →

Khan Academy разработала быструю JavaScript-библиотеку для работы с математическими формулами

Reading time2 min
Views20K
Фактическим стандартом для работы с математическими формулами в вебе, записанными в формате TeX, является библиотека MathJax. Платформа онлайн-обучения Khan Academy имеет в своём арсенале множество курсов, посвящённых математике. Один из важных пунктов миссии академии — сделать качественное образование доступным всем, независимо от географического и материального положения, поэтому для Khan Academy очень существенна быстрая работа сайта на слабых старых компьютерах и мобильных устройствах. Именно поэтому разработчики академии решили написать собственную библиотеку для рендеринга TeX в HTML, которая в перспективе могла бы полностью заменить MathJax и работала бы гораздо быстрее.

Библиотека KaTeX пока ещё довольна молода (текущая версия — 0.1.0) и пока ещё не может сравниться с MathJax по функциональности. Текущий список поддерживаемых функций доступен в вики проекта. KaTeX поддерживает меньше выходных форматов по сравнению с MathJax, которая умеет рендерить формулы в HTML+CSS, SVG и MathML. В КаТеХ реализован вывод в HTML, поддержка MathML планируется в будущем. KaTeX не поддерживает старые (старше 8.0) версии IE.


Ключевое преимущество KaTeX - скорость

Приходите на турнир по информационной безопасности и конференцию

Reading time3 min
Views21K
0100010000110010001000000100110000110010001000000100011000110010001000
0001010010001100100010000001010101001100100010000001000010001100100010
0000010001000011001000100000010001100011001000100000010100100011001000
1000000101010100110010001000000101001000110010001000000101010100110010
Это глайдер, но вы его не видите

Этот год был очень богат на уязвимости, красивые взломы и нестандартные методы атаки. В этом же году Минобороны решило создать специальные ИБ-войска для защиты критичных объектов. На очередной конференции C^2 эксперты расскажут про это и поделятся предметным практическим опытом.

Вот отчёт с прошлой конференции, возможно, интересный вам выступлением Митника.

После конференции начинается CTF-турнир по ИБ, уже не первый в России из линейки Cyber Challenge.
Читать дальше →

Подбор книг по C#

Reading time4 min
Views281K
image

Мы решили собрать в одну подборку самые, по нашему мнению, интересные книги нашего издательства, посвященные языку программирования C#. В посте собраны хорошие книги от пособий для начинающих (например, примелькавшаяся книга серии Head First) до изданий Джеффри Рихтера и Чарли Петцольда для практикующих программистов, в общем – на любой вкус по самым лучшим ценам в интернете.
Читать дальше →

Справочник по Java Collections Framework

Reading time6 min
Views795K
Данная публикация не является полным разбором или анализом (не покрывает пакет java.util.concurrent). Это, скорее, справочник, который поможет начинающим разработчикам понять ключевые отличия одних коллекций от других, а более опытным разработчикам просто освежить материал в памяти.

Что такое Java Collections Framework?


Java Collection Framework — иерархия интерфейсов и их реализаций, которая является частью JDK и позволяет разработчику пользоваться большим количесвом структур данных из «коробки».

Базовые понятия


На вершине иерархии в Java Collection Framework располагаются 2 интерфейса: Collection и Map. Эти интерфейсы разделяют все коллекции, входящие во фреймворк на две части по типу хранения данных: простые последовательные наборы элементов и наборы пар «ключ — значение» (словари).

image
Читать дальше →

Знакомство с платформой ASP.NET Web API из ASP.NET MVC 4

Reading time1 min
Views8.1K

Юрий Лазебник провел знакомство с платформой ASP.NET Web API из ASP.NET MVC 4


  • Когда может понадобиться API
  • Выбор архитектуры API: ReSTful vs. SOAP / RPC


Обзор конвейера обработки запросов Web API:
  • Хостинг в IIS vs. Self-hosted service
  • Роутинг запросов
  • Обработка исключений
  • Поддержка протокола OData
  • Точки расширения конвеера обработки запросов

JetBrains Upsource EAP: продукт для просмотра репозиториев и code review, с которым теперь можно поиграться

Reading time4 min
Views23K
Хабр, привет!
image
Меньше года назад мы рассказывали о разработке нашей новой веб-платформы для просмотра исходного кода.

За прошедшее время Upsource претерпел массу мелких и крупных изменений и стал, в частности, инструментом для code review. На днях же мы открыли программу EAP (Early Access Program), и предрелизные билды Upsource теперь доступны для всех желающих. На момент написания статьи число желающих стремительно приближается к тысяче, и не исключено, что вам тоже будет интересно лично познакомиться с нашим новым продуктом.
Знакомимся с Upsource

Почему вы никогда не должны использовать MongoDB

Reading time16 min
Views288K
Дисклеймер от автора (автор — девушка): Я не разрабатываю движки баз данных. Я создаю веб-приложения. Я участвую в 4-6 разных проектах каждый год, то есть создаю много веб-приложений. Я вижу много приложений с различными требованиями и различными потребностями хранения данных. Я разворачивала большинство хранилищ, о которых вы слышали, и несколько, о которых даже не подозреваете.

Несколько раз я делала неправильный выбор СУБД. Эта история об одном таком выборе — почему мы сделали такой выбор, как бы узнали что выбор был неверен и как мы с этим боролись.Это все произошло на проекте с открытым исходным кодом, называемым Diaspora.
Читать дальше →

Время против памяти на примере хеш-таблиц на Java

Reading time3 min
Views18K
Эта статья иллюстрирует т. н. компромисс скорости и памяти — правило, которое выполняется во многих областях CS, — на примере разных реализаций хеш-таблиц на Java. Чем больше памяти занимает хеш-таблица, тем быстрее выполняются операции над ней (например, взятие значения по ключу).

Читать дальше →

Ожидающая функция fnDelay

Reading time2 min
Views7.4K
Когда-то я написал очень простую функцию, которая казалась мне костылем в том уже не помню каком проекте. Но она хорошо выполняла свою обязанность. Тогда я называл ее ожидающей функцией, а JavaScript называл ее fnDelay. Дело в том, что в приложении может быть функционал, который срабатывает после изменения какого-нибудь состояния. Но это изменение происходит (или может гипотетически происходить) так часто, что функционал будет срабатывать очень много раз, хотя на самом деле нам необходимо выполнить его только для уже измененного состояния (или еще для нескольких промежуточных). Иначе может быть чувствительная проблема в производительности вашего приложения. Ну ладно, достаточно пустых слов, разберем конкретный пример.
Читать дальше →

Простой способ мониторинга времени отклика Sphinx индексов c помощью Zabbix

Reading time3 min
Views6.8K

Задача


К примеру, у вас есть уже настроенный и распространённый по всей компании сервис мониторинга Zabbix а ещё вы пользуетесь поисковым движком Sphinx. Он ищет быстро, но встроенных средств для живого мониторинга его производительности в разрезе индекса не имеет. К примеру, поисковых серверов у вас много и вы хотите соотносить потребление ресурсов системы каждым конкретным индексом дабы понимать — как распределять их по серверам — а так же видеть — какая из коллекций начинает отвечать дольше, чем хотелось бы — и понимать, коррелируется ли это с возрастанием пользовательской нагрузки или ещё чем-то.
Читать дальше →

Заставьте сайт работать на сенсорных устройствах

Reading time8 min
Views69K


Сенсорные экраны на мобильных телефонах, планшетах, ноутбуках и настольных компьютерах открыли веб-разработчикам целый ряд новых взаимодействий. В переведенном руководстве Патрик Локи рассматривает основы работы с сенсорными событиями в JavaScript. Все рассматриваемые далее примеры есть в архиве.

Читать дальше →

ElasticSearch — агрегация данных

Reading time10 min
Views55K

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

Для всех, кому интересно как сделать свои запросы в ES интереснее и посмотреть на обычной поиск с другой стороны, прошу под кат.
Читать дальше →

Swift: проблемы и перспективы

Reading time4 min
Views38K
Второго июня 2014 года в мире Apple случилось то, чего не ожидал никто. Apple представила новый объектно-ориентированный язык программирования — Swift.

Чем может привлечь Swift?
В отличие от Objective-C, в котором для каждого класса необходимо создавать файлы *.h и *.m с интерфейсом и реализацией соответственно, в Swift нужно создать лишь один файл *.swift, в котором содержатся и интерфейс, и реализация. Это значит, что исходных файлов в проекте будет в 2 раза меньше, что является плюсом. Однако возникает вопрос — как же разделить свойства класса и методы на публичные и приватные? В Objective-C мы привыкли «прятать» приватные свойства и методы в *.m файлы. Сделать это в Swift на данный момент невозможно.
Читать дальше →

Полное описание идеи игры. Часть 1: Концепция

Reading time8 min
Views75K
Вступив некоторое время назад на скользкую тропу под названием «Я хочу написать свою игру», я пришёл к выводу, что процесс этот, несмотря на давнюю историю и большое количество успешных примеров, для начинающих разработчиков является весьма таинственным и слегка отдаёт шаманством. Я ни в коем случае не утверждаю, что в сети нет информации на эту тему, но вся она делится на две большие категории:
  1. Глобальные общефилософские рассуждения из разряда «10 причин, почему тебе не надо становиться инди-разработчиком игр»;
  2. Узко специализированные туториалы, решающие конкретную задачу: «Поворачиваем изображение в %framework_name% на произвольный угол при помощи %tool_name%»

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

Отказ от ответственности
По результатам статьи может оказаться, что твоя идея — «не очень» или вовсе не идея. Я всего лишь предлагаю форму упаковки, и если твоя супер_игра_будущего_убийца_%game_name% не ложится в эту форму, то у тебя два варианта:
  1. Найти тот формат описания, который тебя устроит. Главное — формализуй свои мысли в понятную форму.
  2. Смирись, что в текущем состоянии твоя задумка слаба и не годится ни на что, кроме курсовой работы или личной практики, и начинай её додумывать.

За душевные переживания, разочарования и бессонные ночи ответственности не несу.

Читать дальше →

Где и как используются возможности IBM Watson? Часть 2

Reading time3 min
Views14K


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

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

Читать дальше →

Линейная алгебра для разработчиков игр

Reading time19 min
Views796K
Эта статья является переводом цикла из четырёх статей «Linear algebra for game developers», написанных David Rosen и посвящённых линейной алгебре и её применению в разработке игр. С оригинальными статьями можно ознакомиться тут: часть 1, часть 2, часть 3 и часть 4. Я не стал публиковать переводы отдельными топиками, а объединил все статьи в одну. Думаю, что так будет удобнее воспринимать материал и работать с ним. Итак приступим.
Читать дальше →

Мобильное приложение HTML5: ошибка или успех. Попытка №1

Reading time8 min
Views4.4K
Продолжаю развивать воплощение моей мечты о разработке приложений на HTML5 для мобильных платформ: написал один раз — работает везде и всегда. В прошлой статье я получил не совсем мобильное приложение, скорее мобильный сайт, так как не была предусмотрена работа без сети. Постараюсь это исправить, а так же каждый (почти) сможет попробовать как все это работает на своих личных устройствах.

Итак, мы получим небольшое мобильное веб приложение, которое сможем запускать под несколькими мобильными платформами, кликнув при этом только несколько кнопок мыши.

image

Подробности

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity