Предлагаем вашему вниманию цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. Это пятая часть, которая будет посвящена ошибкам использования непроверенных или неправильно проверенных данных. Очень большое количество уязвимостей существуют благодаря как раз использованию непроверенных данных, что делает данную тему интересной и актуальной.
На самом деле, причиной уязвимости может стать ошибка почти любого типа, даже обыкновенная опечатка. Собственно, если найденная ошибка классифицируется согласно Common Weakness Enumeration, то значит она является потенциальной уязвимостью.
Анализатор PVS-Studio, начиная с версии 6.21, научился классифицировать найденные ошибки согласно Common Weakness Enumeration и назначать им соответствующий CWE ID. Читать дальше ->
Предлагаем вашему вниманию цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. Это пятая часть, которая будет посвящена ошибкам использования непроверенных или неправильно проверенных данных. Очень большое количество уязвимостей существуют благодаря как раз использованию непроверенных данных, что делает данную тему интересной и актуальной.
На самом деле, причиной уязвимости может стать ошибка почти любого типа, даже обыкновенная опечатка. Собственно, если найденная ошибка классифицируется согласно Common Weakness Enumeration, то значит она является потенциальной уязвимостью.
Анализатор PVS-Studio, начиная с версии 6.21, научился классифицировать найденные ошибки согласно Common Weakness Enumeration и назначать им соответствующий CWE ID. Читать дальше ->
Предлагаем вашему вниманию цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. Это пятая часть, которая будет посвящена ошибкам использования непроверенных или неправильно проверенных данных. Очень большое количество уязвимостей существуют благодаря как раз использованию непроверенных данных, что делает данную тему интересной и актуальной.
На самом деле, причиной уязвимости может стать ошибка почти любого типа, даже обыкновенная опечатка. Собственно, если найденная ошибка классифицируется согласно Common Weakness Enumeration, то значит она является потенциальной уязвимостью.
Анализатор PVS-Studio, начиная с версии 6.21, научился классифицировать найденные ошибки согласно Common Weakness Enumeration и назначать им соответствующий CWE ID. Читать дальше ->
Предлагаем вашему вниманию цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. Это пятая часть, которая будет посвящена ошибкам использования непроверенных или неправильно проверенных данных. Очень большое количество уязвимостей существуют благодаря как раз использованию непроверенных данных, что делает данную тему интересной и актуальной.
На самом деле, причиной уязвимости может стать ошибка почти любого типа, даже обыкновенная опечатка. Собственно, если найденная ошибка классифицируется согласно Common Weakness Enumeration, то значит она является потенциальной уязвимостью.
Анализатор PVS-Studio, начиная с версии 6.21, научился классифицировать найденные ошибки согласно Common Weakness Enumeration и назначать им соответствующий CWE ID. Читать дальше ->
Предлагаем вашему вниманию цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. Это пятая часть, которая будет посвящена ошибкам использования непроверенных или неправильно проверенных данных. Очень большое количество уязвимостей существуют благодаря как раз использованию непроверенных данных, что делает данную тему интересной и актуальной.
На самом деле, причиной уязвимости может стать ошибка почти любого типа, даже обыкновенная опечатка. Собственно, если найденная ошибка классифицируется согласно Common Weakness Enumeration, то значит она является потенциальной уязвимостью.
Анализатор PVS-Studio, начиная с версии 6.21, научился классифицировать найденные ошибки согласно Common Weakness Enumeration и назначать им соответствующий CWE ID. Читать дальше ->
Каждый из нас видел волнующие и торжественные моменты, когда, например, устанавливается связь с космонавтами или со спутником. Люди радостно вскидывают руки, искренне и тепло улыбаются, иногда обнимаются, особенно если событие значимое. Команда ЛАНИТ улыбалась, обнималась, вскрикивала и жала влажной от пота взволнованных рук мышкой кнопку «Опубликовать» 51 раз. 2 февраля исполняется год, как мы пришли на Хабр. Эмоции, опыт, находки, факапы, паника и много позитива — в нашей истории успеха под катом. Все это точно пригодится тем, кто хочет раскачать свой корпоративный блог на Хабре, но не знает, как.
Каждый из нас видел волнующие и торжественные моменты, когда, например, устанавливается связь с космонавтами или со спутником. Люди радостно вскидывают руки, искренне и тепло улыбаются, иногда обнимаются, особенно если событие значимое. Команда ЛАНИТ улыбалась, обнималась, вскрикивала и жала влажной от пота взволнованных рук мышкой кнопку «Опубликовать» 51 раз. 2 февраля исполняется год, как мы пришли на Хабр. Эмоции, опыт, находки, факапы, паника и много позитива — в нашей истории успеха под катом. Все это точно пригодится тем, кто хочет раскачать свой корпоративный блог на Хабре, но не знает, как.
Каждый из нас видел волнующие и торжественные моменты, когда, например, устанавливается связь с космонавтами или со спутником. Люди радостно вскидывают руки, искренне и тепло улыбаются, иногда обнимаются, особенно если событие значимое. Команда ЛАНИТ улыбалась, обнималась, вскрикивала и жала влажной от пота взволнованных рук мышкой кнопку «Опубликовать» 51 раз. 2 февраля исполняется год, как мы пришли на Хабр. Эмоции, опыт, находки, факапы, паника и много позитива — в нашей истории успеха под катом. Все это точно пригодится тем, кто хочет раскачать свой корпоративный блог на Хабре, но не знает, как.
Каждый из нас видел волнующие и торжественные моменты, когда, например, устанавливается связь с космонавтами или со спутником. Люди радостно вскидывают руки, искренне и тепло улыбаются, иногда обнимаются, особенно если событие значимое. Команда ЛАНИТ улыбалась, обнималась, вскрикивала и жала влажной от пота взволнованных рук мышкой кнопку «Опубликовать» 51 раз. 2 февраля исполняется год, как мы пришли на Хабр. Эмоции, опыт, находки, факапы, паника и много позитива — в нашей истории успеха под катом. Все это точно пригодится тем, кто хочет раскачать свой корпоративный блог на Хабре, но не знает, как.
Каждый из нас видел волнующие и торжественные моменты, когда, например, устанавливается связь с космонавтами или со спутником. Люди радостно вскидывают руки, искренне и тепло улыбаются, иногда обнимаются, особенно если событие значимое. Команда ЛАНИТ улыбалась, обнималась, вскрикивала и жала влажной от пота взволнованных рук мышкой кнопку «Опубликовать» 51 раз. 2 февраля исполняется год, как мы пришли на Хабр. Эмоции, опыт, находки, факапы, паника и много позитива — в нашей истории успеха под катом. Все это точно пригодится тем, кто хочет раскачать свой корпоративный блог на Хабре, но не знает, как.
CQRS — это стиль архитектуры, в котором операции чтения отделены от операций записи. Подход сформулировал Грег Янг на основе принципа CQS, предложенного Бертраном Мейером. Чаще всего (но не всегда) CQRS реализуется в ограниченных контекстах (bounded context) приложений, проектируемых на основе DDD. Одна из естественных причин развития CQRS — не симметричное распределение нагрузки и сложности бизнес-логики на read и write — подсистемы Большинство бизнес-правил и сложных проверок находится во write — подсистеме. При этом читают данные зачастую в разы чаще, чем изменяют.
Не смотря на простоту концепции, детали реализации CQRS могут значительно отличаться. И это именно тот случай, когда дьявол кроется в деталях. Читать дальше ->
CQRS — это стиль архитектуры, в котором операции чтения отделены от операций записи. Подход сформулировал Грег Янг на основе принципа CQS, предложенного Бертраном Мейером. Чаще всего (но не всегда) CQRS реализуется в ограниченных контекстах (bounded context) приложений, проектируемых на основе DDD. Одна из естественных причин развития CQRS — не симметричное распределение нагрузки и сложности бизнес-логики на read и write — подсистемы Большинство бизнес-правил и сложных проверок находится во write — подсистеме. При этом читают данные зачастую в разы чаще, чем изменяют.
Не смотря на простоту концепции, детали реализации CQRS могут значительно отличаться. И это именно тот случай, когда дьявол кроется в деталях. Читать дальше ->
CQRS — это стиль архитектуры, в котором операции чтения отделены от операций записи. Подход сформулировал Грег Янг на основе принципа CQS, предложенного Бертраном Мейером. Чаще всего (но не всегда) CQRS реализуется в ограниченных контекстах (bounded context) приложений, проектируемых на основе DDD. Одна из естественных причин развития CQRS — не симметричное распределение нагрузки и сложности бизнес-логики на read и write — подсистемы Большинство бизнес-правил и сложных проверок находится во write — подсистеме. При этом читают данные зачастую в разы чаще, чем изменяют.
Не смотря на простоту концепции, детали реализации CQRS могут значительно отличаться. И это именно тот случай, когда дьявол кроется в деталях. Читать дальше ->
CQRS — это стиль архитектуры, в котором операции чтения отделены от операций записи. Подход сформулировал Грег Янг на основе принципа CQS, предложенного Бертраном Мейером. Чаще всего (но не всегда) CQRS реализуется в ограниченных контекстах (bounded context) приложений, проектируемых на основе DDD. Одна из естественных причин развития CQRS — не симметричное распределение нагрузки и сложности бизнес-логики на read и write — подсистемы Большинство бизнес-правил и сложных проверок находится во write — подсистеме. При этом читают данные зачастую в разы чаще, чем изменяют.
Не смотря на простоту концепции, детали реализации CQRS могут значительно отличаться. И это именно тот случай, когда дьявол кроется в деталях. Читать дальше ->
CQRS — это стиль архитектуры, в котором операции чтения отделены от операций записи. Подход сформулировал Грег Янг на основе принципа CQS, предложенного Бертраном Мейером. Чаще всего (но не всегда) CQRS реализуется в ограниченных контекстах (bounded context) приложений, проектируемых на основе DDD. Одна из естественных причин развития CQRS — не симметричное распределение нагрузки и сложности бизнес-логики на read и write — подсистемы Большинство бизнес-правил и сложных проверок находится во write — подсистеме. При этом читают данные зачастую в разы чаще, чем изменяют.
Не смотря на простоту концепции, детали реализации CQRS могут значительно отличаться. И это именно тот случай, когда дьявол кроется в деталях. Читать дальше ->
CQRS — это стиль архитектуры, в котором операции чтения отделены от операций записи. Подход сформулировал Грег Янг на основе принципа CQS, предложенного Бертраном Мейером. Чаще всего (но не всегда) CQRS реализуется в ограниченных контекстах (bounded context) приложений, проектируемых на основе DDD. Одна из естественных причин развития CQRS — не симметричное распределение нагрузки и сложности бизнес-логики на read и write — подсистемы Большинство бизнес-правил и сложных проверок находится во write — подсистеме. При этом читают данные зачастую в разы чаще, чем изменяют.
Не смотря на простоту концепции, детали реализации CQRS могут значительно отличаться. И это именно тот случай, когда дьявол кроется в деталях. Читать дальше ->
Традиционно группа разработчиков Windows подписывает постер (в данном случае изображение DVD) с выпуском новой версии Windows. Ко времени окончания вечеринки по поводу релиза на нём будут сотни или тысячи подписей
«Опыт — это то, что ты получаешь только после того, как он тебе понадобится» — Стивен Райт
Мне понравился содержательный блог Терри Кроули («Что действительно случилось с Vista»). Терри работал в группе Office и проделал фантастическую работу, описывая сложные козни вокруг Windows Vista и связаного, но заброшенного проекта Longhorn — с точки зрения внешнего наблюдателя.
Он верно подметил многие из проблем, которые преследовали проект, и я не хочу повторять о них снова. Я только подумал, что будет честно изложить инсайдерский взгляд на те же события. Не рассчитываю на такое же красноречивое или исчерпывающее изложение, как у Терри, но надеюсь пролить некоторый свет на то, что пошло не так. Прошло десять лет с момента выхода первой версии Windows Vista, но эти уроки сейчас кажутся актуальными как никогда. Читать дальше ->
Мы продолжаем знакомить вас с самыми интересными новостями по PostgreSQL. Первый выпуск был почти месяц назад. Наш второй выпуск собрал в полтора раза больше материалов, а к существующим разделам добавился новый – книги о Постгресе и технологиях БД.
Релизы и коммиты
Cybertecобъявил выход pgconfigurator — визуального конфигуратора для редактирования файла postgresql.conf. Можно настраивать:
параметры репликации;
параметры, связанные с контрольными точками;
ввод/вывод, оптимизировать параллельные запросы;
конфигурировать память.
DevartпредлагаетdbForge Studio for PostgreSQL — графическую среду для работы с базами данных и объектами PostgreSQL.