В этом руководстве мы рассмотрим основные ошибки Django-разработчиков и узнаем, как их избежать. Статья может быть полезна даже опытным разработчикам, потому что и они совершают такие ошибки, как поддержка неподъёмно больших настроек или конфликтов имён в статических ресурсах.
Инженер-программист
Практическая оптимизация MySQL: измерять, чтобы ускорять

Петр Зайцев (Percona)
Сегодня мы поговорим о производительности.
Мы посмотрим на то, как подойти правильно к оптимизации MySQL, а также посмотрим на некоторые практические подходы к этому делу. Почему я считаю, что это важно? Дело в том, что когда у вас есть специфическая проблема, вы хотите, например, спросить: «А какой же мне установить размер кэша в MySQL?». Такой вопрос всегда можно ввести в Google или Yandex, и получить на него разумный ответ. Но как получить ответ об общем, о схеме анализа и оптимизации MySQL? Это куда более сложно.
Корректирующие коды «на пальцах»
Корректирующие (или помехоустойчивые) коды — это коды, которые могут обнаружить и, если повезёт, исправить ошибки, возникшие при передаче данных. Даже если вы ничего не слышали о них, то наверняка встречали аббревиатуру CRC в списке файлов в ZIP-архиве или даже надпись ECC на планке памяти. А кто-то, может быть, задумывался, как так получается, что если поцарапать DVD-диск, то данные всё равно считываются без ошибок. Конечно, если царапина не в сантиметр толщиной и не разрезала диск пополам.
Как нетрудно догадаться, ко всему этому причастны корректирующие коды. Собственно, ECC так и расшифровывается — «error-correcting code», то есть «код, исправляющий ошибки». А CRC — это один из алгоритмов, обнаруживающих ошибки в данных. Исправить он их не может, но часто это и не требуется.
Давайте же разберёмся, что это такое.
Для понимания статьи не нужны никакие специальные знания. Достаточно лишь понимать, что такое вектор и матрица, как они перемножаются и как с их помощью записать систему линейных уравнений.
Внимание! Много текста и мало картинок. Я постарался всё объяснить, но без карандаша и бумаги текст может показаться немного запутанным.
Обзор Splunk Machine Learning Toolkit

Помимо того, что Splunk может собирать логи практически из любых источников и строить аналитические отчеты, дашборды, алерты на основе встроенного языка поисковых запросов SPL, о котором мы писали в предыдущих статьях, Splunk еще имеет очень большую базу бесплатных аддонов и приложений.
Сегодня мы рассмотрим одно из самых популярных, с точки зрения пользователей, приложений — Splunk Machine Learning Toolkit.
Российские светодиодные лампы Uniel

UAC Bypass или история о трех эскалациях

Ах, да, в Майкрософт сообщили, они сделали вид, что им не интересно.
Алярм! Под катом около 4 мегабайт трафика – картинок и гифок.
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

В прошлый раз мы говорили о потоковом редакторе sed и рассмотрели немало примеров обработки текста с его помощью. Sed способен решать многие задачи, но есть у него и ограничения. Иногда нужен более совершенный инструмент для обработки данных, нечто вроде языка программирования. Собственно говоря, такой инструмент — awk.
Что ждет нас в ReactOS версии 0.4.5?

Приветствуем всех Хабражителей!
Мы решили прервать затянувшееся молчание и приоткрыть завесу неизвестности над тем, что интересного подстерегает всех в приближающемся релизе версии 0.4.5. Ждать релиза осталось совсем недолго, всего две недели.
5 худших приемов отечественного дизайна из 90-х
К нам в рубрику #logomachine_help присылают самые разные логотипы, но от многих по-прежнему веет тем самым любительским дизайном из 90-х. Мы собрали самые распространенные проблемы в 5 худших приемов, которых лучше избегать, если ты не возишь щебень на самосвале.

Pthreads: Потоки в русле POSIX
Современные операционные системы и микропроцессоры уже давно поддерживает многозадачность и вместе с тем, каждая из этих задач может выполняться в несколько потоков. Это дает ощутимый прирост производительности вычислений и позволяет лучше масштабировать пользовательские приложения и сервера, но за это приходится платить цену — усложняется разработка программы и ее отладка.

В этой статье мы познакомимся с POSIX Threads для того, чтобы затем узнать как это все работает в Linux. Не заходя в дебри синхронизации и сигналов, рассмотрим основные элементы Pthreads. Итак, под капотом потоки.
Получено первое научное свидетельство «высшего уровня сознания»

Усреднённые изменения в уровне сложности активности мозга по алгоритму Лемпеля — Зива по одному каналу (это лишь одна из нескольких измеряемых математических метрик сложности сигналов) для трёх психотропных препаратов: псилоцибина, кетамина и ЛСД. Красный цвет соответствует увеличению уровня сложности. Изображение: Университет Сассекса
Понимание неврологической основы сознания — одна из самых сложных загадок, которая стоит перед современной наукой. Формулировки «сознания» поэтому варьируются от крайне широких до крайне узких, но на интуитивном уровне все примерно понимают, что есть разница между уровнем сознания (в какой мере сознателен человек) и содержанием сознания (мысли, ощущения, чувства). Соответственно, большинство неврологических исследований изучают эти два измерения по отдельности. По активности мозга гораздо проще установить разницу между уровнями сознания — активность мозга у бессознательного человека и у человека в сознании хорошо заметна. Формально это выражается через индекс разнообразия нейронных сигналов — математическую характеристику уровня сознания.
Экстремальная миграция на PostgreSQL: без остановки, потерь и тестирования
Буквально месяц назад в Яндекс.Деньгах завершился переезд сервиса профилей пользователей с Oracle на PostgreSQL. Так что теперь у нас есть опробованное решение по миграции больших объемов данных без потерь и остановки использующего их сервиса.
Под катом я расскажу подробнее о том, как все происходило, зачем мы выбрали для миграции SymmetricDS и почему без «ручных» усилий все равно не обошлось. Поделюсь также некоторыми наработками по вспомогательному коду для миграции.
Как я сделал самый быстрый ресайз изображений. Часть 2, SIMD
Это продолжение цикла статей о том, как я занимался оптимизацией и получил самый быстрый ресайз на современных x86 процессорах. В каждой статье я рассказываю часть истории, и надеюсь подтолкнуть еще кого-то заняться оптимизацией своего или чужого кода. В предыдущих сериях:
→ Часть 0
→ Часть 1, общие оптимизации
В прошлый раз мы получили ускорение в среднем в 2,5 раза без изменения подхода. В этот раз я покажу, как применять SIMD-подход и получить ускорение еще в 3,5 раза. Конечно, применение SIMD для обработки графики не является ноу-хау, можно даже сказать, что SIMD был придуман для этого. Но на практике очень мало разработчиков используют его даже в задачах обработки изображений. Например, довольно известные и распространенные библиотеки ImageMagick и LibGD написаны без использования SIMD. Отчасти так происходит потому, что SIMD-подход объективно сложнее и не кроссплатформенный, а отчасти потому, что по нему мало информации. Довольно просто найти азы, но мало детальных материалов и разбора реальных задач. От этого на Stack Overflow очень много вопросов буквально о каждой мелочи: как загрузить данные, как распаковать, запаковать. Видно, что всем приходится набивать шишки самостоятельно.
Индексы в PostgreSQL — 1
Предисловие
В этой серии статей речь пойдет об индексах в PostgreSQL.
Любой вопрос можно рассматривать с разных точек зрения. Мы будем говорить о том, что должно интересовать прикладного разработчика, использующего СУБД: какие индексы существуют, почему в PostgreSQL их так много разных, и как их использовать для ускорения запросов. Пожалуй, тему можно было бы раскрыть и меньшим числом слов, но мы втайне надеемся на любознательного разработчика, которому также интересны и подробности внутреннего устройства, тем более, что понимание таких подробностей позволяет не только прислушиваться к чужому мнению, но и делать собственные выводы.
За скобками обсуждения останутся вопросы разработки новых типов индексов. Это требует знания языка Си и относится скорее к компетенции системного программиста, а не прикладного разработчика. По этой же причине мы практически не будем рассматривать программные интерфейсы, а остановимся только на том, что имеет значение для использования уже готовых к употреблению индексов.
В этой части мы поговорим про разделение сфер ответственности между общим механизмом индексирования, относящимся к ядру СУБД, и отдельными методами индексного доступа, которые в PostgreSQL можно добавлять как расширения. В следующей части мы рассмотрим интерфейс метода доступа и такие важные понятия, как классы и семейства операторов. После такого длинного, но необходимого введения мы подробно рассмотрим устройство и применение различных типов индексов: Hash, B-tree, GiST, SP-GiST, GIN и RUM, BRIN и Bloom.
Получил 1.2K звезд на GitHub с ужасной архитектурой. Как?
Почему все драйверы в Windows датируются 21 июня 2006 года

Почему в каждой новой версии Windows все драйверы датированы одним и тем же днём 21.06.2006 г.? Microsoft вообще когда-нибудь обновляет драйверы или они там собралась просто группа бездельников? Наконец-то мы узнали ответ на этот вопрос из заметки в неофициальном блоге The Old New Thing на сайте Microsoft.
Один из разработчиков компании Microsoft под ником zac_l объяснил, в чём дело. Сакральная дата 21.06.2006 распространяется даже на драйверы вроде Storage Spaces и современные процессоры, которые вообще не существовали десять лет назад, так что о лености разработчиков здесь речи не идёт. Причина в другом.
Пару слов в защиту корректоров осанки

Расскажем то, что знаем.
Agile у каждого свой: как плыть по течению, управлять проектами и не страдать
Вы, конечно, знаете, что это метод гибкой разработки ПО. Некоторые учатся: ходят на курсы, слушают лекции, потом с адской болью внедряют эти принципы в процесс работы команды, а кто-то просто работает на совесть, не пытаясь называть это модным «Agile». Тут нет и не может быть никакого идеального решения, потому что все люди разные, с разным ритмом, представлением о работе и характерами. Так и не все команды могут работать по одинаковым принципам.
Рассказываем о том, что Agile это не свод правил, высеченный в камне, а советы, которые команды могут применять. Или нет. Учимся мудро подходить к организации рабочего процесса. И использовать на практике только те принципы, что близки вам (ну и заказчику!).

Об опасностях беспроводных клавиатур и мышей

Изображение: home thods, Flickr
Компьютерные мыши и клавиатуры с радиоинтерфейсом и USB-трансивером стоят немногим дороже обычных проводных моделей и пользуются популярностью. Но такие устройства не защищены от взлома: собрать набор для проведения атаки можно всего за 300 рублей, а вестись она может с расстояния до 1 км.
Мы протестировали безопасность устройств Logitech, A4Tech и Microsoft. В ходе тестов нам удалось перехватить данные, передаваемые клавиатурами и мышами, дешифровать трафик и осуществить ряд других атак. Обнаруженные уязвимости могут привести к утечке паролей, платежных реквизитов, персональных данных и другой важной информации.
Information
- Rating
- Does not participate
- Location
- Красногвардейское, Адыгея, Россия
- Date of birth
- Registered
- Activity