Новости


Собираем пользовательскую активность в Js и ASP

После написания функционала авторекордера действий пользователя, названного нами breadcrumbs, в WinForms и Wpf, пришло время добраться и до клиент-серверных технологий. Начнем с простого — JavaScript.

Текстуры кода

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

Эх, не люблю писать бойлерплейты, ведь есть IntelliJ IDEA и Apache Velocity

Добрый день! Речь в этой статье пойдет о том, как частично сократить объем кода, который зачастую приходится набирать вручную или откуда-то копипастить (боже упаси), средствами IntelliJ IDEA, а конкретнее — шаблонами файлов и кода.

— бухой, пофиксю позже

long long ago; /* in a galaxy far far away */ // // _oo0oo_ // o8888888o // 88" . "88 // (| -_- |) // 0 = /0 // ___/`---'___ // .' \| |// '. // / \||| : |||// // / _||||| -:- |||||- // | | \ - /// | | // | […]

Ещё один шажок к C++20. Встреча в Альбукерке

Из центральной части Канады — на юго-запад США! Альбукерке расположен в штате Нью-Мексико: На встрече международного комитета по стандартизации C++, которая прошла в этом городе, приняли одно очень большое нововведение в С++20 и несколько маленьких.

Как можно взломать свой же Web проект?

Недавно мне позвонили и попросили помочь разобраться с очень странными симптомами на сайте. А симптомы выглядели вот так. Cовершенно разные клиенты звонили и рассказывали, что они на сайте попадают в личные кабинеты других случайных клиентов.

Приглашаем на конференцию YAPC::Russia 4 ноября

В эту субботу мы приглашаем всех Perl’оводов и им сочувствующих на ежегодную конференцию YAPC::Russia, посвящённую языку Perl и его сообществу. Она проводится в Москве и Санкт-Петербурге под названием May Perl, а в Киеве — под названием Perl Mova.

Что каждый программист на C должен знать об Undefined Behavior. Часть 1-3

Люди иногда спрашивают, почему код, скомпиливанный в LLVM иногда генерирует сигналы SIGTRAP, когда оптимизация была включена. Покопавшись, они обнаруживают, что Clang сгенерировал инструкцию «ud2» (подразумевается код X86) — то же, что генерируется __builtin_trap().

Игрострой: от хаотичного кода к грамотной архитектуре игры

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

Как отлаживать маленькие программы

Довольно много плохих вопросов, которые я вижу на StackOverflow, можно описать следующей формулой: Вот моё решение домашнего задания. Оно не работает. [20 строк кода] И… всё. Прим. пер.: это перевод статьи "How to debug small programs", на которую ссылаются в справочном разделе английского StackOverflow, посвящённом созданию минимальных, самодостаточных и воспроизводимых примеров. Мне кажется, она прекрасно […]

Игрушечный фронтенд для LLVM, написанный на Rust: Руководство для начинающих

Примечание переводчика Приведённый в статье код скомпилирован с достаточно старыми версиями крейтов peg и peg_syntax_ext. Для текущих версий в исходники нужно внести минимальные изменения. Я вставил изменённые участки в спойлеры по тексту статьи.

Работа с ресурсами, или как я пропихивал @Cleanup

Это вымышленная история, и все совпадения случайны. Наконец-то команда разработки компании Unknown Ltd. выпустила релиз вовремя. Руководитель отдела разработки Эндрю, системный архитектор Юг и простой рядовой разработчик Боб собрались на планирование.

Пять вещей, которые нужно знать о Spring Framework 5

На этой неделе, сразу за релизом Java 9 вышла новая мажорная версия одного из самых популярных фреймворков для разработки приложения на Java — Spring Framework версии 5. Под катом подробности и краткое описание, что же поменялось.

Не от мира сего: ученые создали искусственный мозг из серебра и заставили его учиться

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

Система генерации оружия

Привет, Гиктаймс, я хотел бы рассказать про свой первый проект на c#. Так как мне интересны компьютерные игры, хотелось сделать что-нибудь из этой области. Я взял идею из серии игр Borderlands, а именно систему генерации оружия.

Что «под капотом» у LinkedList?

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

PyTorch — ваш новый фреймворк глубокого обучения

PyTorch — современная библиотека глубокого обучения, развивающаяся под крылом Facebook. Она не похожа на другие популярные библиотеки, такие как Caffe, Theano и TensorFlow. Она позволяет исследователям воплощать в жизнь свои самые смелые фантазии, а инженерам с лёгкостью эти фантазии имплементировать.

Поддержка системных ошибок в C++

Предисловие Я долго думал, нужно ли делать перевод этого, уже известного, цикла статей под названием «System error support in C++0x», повествующего о <system_error> и обработке ошибок. С одной стороны он написан в 2010 году и меня попросту могут счесть некрофилом, а с другой стороны в рунете очень мало информации по этой теме и многие довольно […]

Создание языка программирования с использованием LLVM. Часть 6: Расширение языка: Операторы, определяемые пользователем

Оглавление: Часть 1: Введение и лексический анализ Часть 2: Реализация парсера и AST Часть 3: Генерация кода LLVM IR Часть 4: Добавление JIT и поддержки оптимизатора Часть 5: Расширение языка: Поток управления Часть 6: Расширение языка: Операторы, определяемые пользователем Часть 7: Расширение языка: Изменяемые переменные Часть 8: Компиляция в объектный код Часть 9: Добавляем отладочную […]

Мириады запущенных задач на C#

Недавно на ресурсе Medium были опубликованы две статьи от одного и того же автора, затрагивающие функциональность C# async/await. Основными выводами были: рекурсивный вызов асинхронного метода в C# подвержен StackOverflowException goroutine'ы лучше задач (тасков) в .

Двойное затмение! Или почему Карбондейл, штат Иллинойс, является особенным

Перевод блога Double Eclipse! Or Why Carbondale, Illinois, Is Special Джеффри Брайанта, исследователя-программиста, Wolfram|Alpha Scientific Content. ________________________________________________________________________________ Предстоящее 21 августа 2017 года полное солнечное затмение — само по себе захватывающее событие.

Очень легкая система мониторинга с Телеграмом и Консулом

Всем счастья и добра! Эволюционно так получилось, что в моем личном владении оказался не маленький зоопарк различных серверов: от дешевого Supermicro до топового (на момент выпуска) HP Gen 8. Все конечно связано оптикой и прочими радостями жизни.

Контейнеры быстрого развёртывания

Тот самый момент, когда даже Флэш может позавидовать разработчикам. Ровно неделю назад у нас вышел крутой анонс о новой службе экземпляров контейнеров Azure (Azure Container Instances, ACI), которая максимально упрощает развёртывание контейнеров.

Программирование МК AVR на языке assembler в среде Linux

Введение Ни для кого не секрет, что микроконтроллеры семейства AVR прочно вошли в практику домашних поделок. Кроме того, уже несколько лет наблюдается массовое (на грани эпидемии) увлечение отладочными платами типа Arduino, построенными на базе все тех же AVR.

JetBrains MPS — IDE для разработки проблемно-ориентированных языков программирования

Введение MPS — это среда разработки языков программирования на платформе Intellij Idea. Она предоставляет возможность моделировать языки программирования, описывать структуры, сосредотачиваясь конкретно на дизайне и бизнес-логике, не отвлекаясь на парсеры, лексеры и различные сторонние фичи языка.

Как разбить айфон и запустить сервис для 15 млн пользователей

Летом 2014-го мы с друзьями были на прогулке, и случилось историческое событие. Во время съемки видео, внезапно, iPhone 5C выпал с рук моей жены и разбился об бетонный пол. Это на тот момент мне казалось печальной ситуацией.

Вы используете интерфейсы в Go неправильно!.

С таким громким заголовком я думал сначала написать статью. Нет, на самом деле, вполне возможно, что у вас всё хорошо и эта статья — не про вас. Но очень часто, когда люди приходят из других языков, можно видеть, как они пытаются «притянуть за уши» паттерны из того языка, к которому они привыкли, и они в […]

Tcl-Tk. Разработка графического пользовательского интерфейса для утилит командной строки

Тестируя облачный токен на различных платформах, меня не покидала мысль о некой несправедливости: почему утилиты конфигурирования токенов PKCS#11 на платформе MS Windows имеют графический интерфейс, а для других платформ его нет.

Нейросеть отыщет пропавших людей

Поиском без вести пропавших сейчас занимаются социальные службы и полиция. Но, возможно, как сообщает издание The New Atlas, скоро на помощь человеку придут машины, которые при помощи сложных алгоритмов будут находить людей, даже если те пропали несколько лет назад.

Создаём динамическую обложку ВКонтакте

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

Применение национальных языков в программировании на SPL

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

Понимание Array.prototype.reduce() и рекурсии на примере яблочного пирога

У меня были проблемы с пониманием reduce( ) и рекурсии в JavaScript, так что я написал эту статью чтобы объяснить их в первую очередь себе (эй, смотрите, это же рекурсия!). Эти концепции имеют некоторые сходства с приготовление яблочного пирога.

Pygest #9. Релизы, статьи, интересные проекты из мира Python [8 мая 2017 — 22 мая 2017]

Всем привет! Это уже девятый выпуск дайджеста на Хабрахабр о новостях из мира Python. В сегодняшнем выпуске вы найдёте интересные материалы, касающиеся Django, создания интерпретаторов, алгоритмов и многого другого.

Игры, в которых нужно писать код: Grid Garden, Elevator Saga и другие

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

Жизненный путь по граблям одного не совсем здорового на голову программиста

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

Потокобезопасный std::map с производительностью lock-free map

Примеры использования и тестирование потоко-безопасного указателя и contention-free shared-mutex В этой статье мы покажем: дополнительные оптимизации, примеры использования и тестирование разработанного нами потоко-безопасного указателя с оптимизированным разделяемым мьютексом contfree_safe_ptr<T> – это эквивалентно safe_ptr<T, contention_free_shared_mutex<>> В конце покажем сравнительные графики тестов нашего thread-safe указателя и одних из лучших lock-free алгоритмов из libCDS на процессорах Intel Core […]

Как сделать свою IDE уровня IDEA

Некоторое время назад я опубликовал пост, в котором поднял тему низкого уровня качества моего любимого инструмента — PyCharm, и спросил: что делать? Данная проблема видится мне совершенно обескураживающей: 21-й век на дворе, а единственная доступная мне профессиональная IDE развивается по принципу «лучше — больше, но хуже».

22. CS50 на русском: Лекция #22 [Гарвард, Основы программирования, осень 2015 год]

Представляем 22-ую (из 24-х) лекцию легендарного Гарвардского курса CS50, который мы переводим и озвучиваем специально для JavaRush. В этой лекции профессор Сказелатти из Йельского Университета демонстрирует использование искусственного интеллекта в играх.

Библиотека Google Benchmark

Не так давно я писал о C++ библиотеках для микробенчмаркинга. Я рассказал о трех библиотеках: Nonius, Hayai и Celero. Но в действительности я хотел поговорить о четвертой. Мой Windows тогда не поддерживал Google Benchmark library, так что я не мог ее протестировать.

Автоматизация печати в корпоративных системах или как подружить свой «велосипед» с принтером

Привет, читатель! Хочу поделиться с тобой наболевшим опытом, надеюсь, будет полезен. Сегодня расскажу о том, как разрабатывали систему печати документов в корпоративной системе. С чего все начиналось А началось все с разработки ERP-платформы в одной торговой компании примерно 2 года назад.

Как не наступать на грабли в Go

Этот пост является версией моей же англоязычной статьи "How to avoid gotchas in Go", но слово gotcha не переводится на русский, поэтому я буду использовать это слово как без перевода, так и немного непрямой вариант — "наступать на грабли".

Избавляемся от ConcurrentModificationException

Как известно, ConcurrentModificationException к многопоточности никакого отношения не имеет. Возникает эта гадость, когда мы пытаемся модифицировать коллекцию во время итерирования по ней. Как обычно, это имеет исторические корни: коллекции и итераторы появились в Java 1.

Релиз CLion 2017.1: C++14, C++17, код на дизассемблере в отладчике, Catch, MSVC и многое другое

Привет! Спешим поделиться радостной новостью – мы выпустили первый в этом году релиз нашей кросс-платформенной IDE для C и C++, CLion 2017. 1! Наши планы, как обычно, немного превосходят наши возможности и ресурсы.

Приглашаем на Go meetup 14 апреля

В пятницу 14 апреля мы приглашаем вас в наш московский офис на Go meetup. Мы послушаем доклады экспертов и пообщаемся на профессиональные темы. В программе встречи пять докладов. — Go Template Toolkit Сергей Свистунов, Lazada В докладе речь пойдет о трансляторе шаблонов в Go-код (https://github.

Готовимся к собеседованию по PHP: Всё об итерации и немного про псевдотип «iterable»

Не секрет, что на собеседованиях любят задавать каверзные вопросы. Не всегда адекватные, не всегда имеющие отношение к реальности, но факт остается фактом — задают. Конечно, вопрос вопросу рознь, и иногда вопрос, на первый взгляд кажущийся вам дурацким, на самом деле направлен на проверку того, насколько хорошо вы знаете язык, на котором пишете. И, разумеется, какими […]

Как искать паттерны в биржевых данных и использовать их в торговле?

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

Ищем спикеров на Go meetup 14 апреля

Наше внутреннее сообщество Go-разработчиков в Mail. Ru Group активно развивается, коллеги регулярно встречаются для обмена опытом и полезными ресурсами. Мы знаем, как важно общаться с людьми из других команд и проектов, иметь возможность спросить совета, обсуждать только что появившиеся технологии и поделиться опытом.

Опечатка в коде официального кошелька Zerocoin позволила украсть криптовалюты на $648 тыс

Курс Zcash (ZXC) в течение последнего месяца во время того, как неизвестный злоумышленник или злоумышленница обналичивал(-а) средства 16 февраля 2017 года группа разработчиков Zerocoin нашла баг в официальной реализации Zerocoin.

Лучшее

Настоящий ИИ можно создать, решив три основные проблемы

На проходившей в прошлом месяце в Лондоне конференции по вопросам глубинного машинного обучения несколько раз затрагивалась одна тема: важность понимания того, чем на самом деле мы занимаемся. В то время как такие компании, как Google, продолжают заявлять, что все мы живем в «первом веке ИИ», когда технологии машинного обучения лишь начинают открывать для себя новые […]

Актуальное

ИИ от NVIDIA научился рисовать 3D-графику по-человечески

На конференции SIGGRAPH (Special Interest Group on Graphics and Interactive Techniques — Специальная группа по графическим и интерактивным методам) компания NVIDIA продемонстрировала свой новый ИИ, способный создавать трёхмерные графические изображения.

Microsoft учит детей программировать с помощью игры Minecraft

Игра-конструктор Minecraft стала феноменом игровой индустрии. Любительский проект, созданный шведским программистом Маркусом Перссоном, быстро обрёл миллионы фанатов и превратился в одну из самых прибыльных игр в мире.

DARPA хочет создать идеальное программное обеспечение, не требующее обновлений

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