Pull to refresh
5
0

Пользователь

Send message

Почему удостоверяющие центры не соблюдают требование CA/Browser к сертификатам

Reading time3 min
Views4.5K
Ежегодно форум CA/Browser обновляет базовые требования к серверным SSL/TLS-сертификатам (Baseline Requirements или BR).

Одно из таких требований указано в пункте 4.9.9 с пометкой MUST:

Ответы по OCSP (протокол статуса онлайн-сертификатов) ДОЛЖНЫ соответствовать RFC 6960 и/или RFC 5019. OCSP ответы ДОЛЖНЫ либо:

  1. Иметь подпись УЦ, выдавшим сертификаты, чей статус отзыва проверяется, или
  2. Иметь подпись OCSP Responder, сертификат которого подписан УЦ, выдавшим сертификаты, чей статус отзыва проверяется

В последнем случае подписывающий сертификат OCSP ДОЛЖЕН содержать расширение типа id-pkix-ocsp-nocheck, как прописано в RFC 6960.

Именно это правило нарушают практически все удостоверяющие центры (УЦ), что имеет некоторые последствия.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments0

Юнит-тесты переоценены

Reading time36 min
Views31K
Предлагаем вам перевод поста «Unit Testing is Overrated» от Alex Golub, чтобы подискутировать на тему юнит-тестов. Действительно ли они переоценены, как считает автор, или же являются отличным подспорьем в работе? Опрос — в конце поста


Результаты использования юнит-тестов: отчаяние, мучения, гнев

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

В процессе развития отрасли разработки ПО совершенствовались и методики тестирования. Они постепенно сдвигались в сторону автоматизации и повлияли на саму структуру ПО, порождая такие «мантры», как «разработка через тестирование» (test-driven development), делая упор на такие паттерны, как инверсия зависимостей (dependency inversion), и популяризируя построенные на их основе высокоуровневые архитектуры.

Сегодня автоматизированное тестирование настолько глубоко связано в нашем сознании с разработкой ПО, что одно сложно представить без другого. И поскольку оно, в конечном итоге, позволяет нам быстро создавать ПО, не жертвуя при этом его качеством, то трудно спорить о полезности тестирования.

Однако, несмотря на существование различных подходов, современные «best practices» в основном подталкивают разработчиков к использованию конкретно юнит-тестирования. Тесты, область контроля которых находится в пирамиде Майка Кона выше, или пишутся как часть более масштабного проекта (часто совершенно другими людьми), или полностью игнорируются.

Преимущество такого подхода часть поддерживается следующим аргументом: юнит-тесты обеспечивают в процессе разработки наибольшую полезность, потому что способны быстро отслеживать ошибки и помогают применять упрощающие модульность паттерны разработки.
Читать дальше →
Total votes 63: ↑56 and ↓7+49
Comments302

Руководство по перезаряжаемым литиевым аккумуляторам для начинающих

Reading time6 min
Views60K


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

Так много типов!


Первые коммерческие литий-ионные аккумуляторы вышли на рынок в 1991 году, и за прошедшие с тех пор почти 30 лет мы наблюдали быстрый их прогресс. В итоге у нас появилось множество различных технологий и типов аккумуляторов, делящихся по типу конструкции и используемых материалов. Чтобы правильно обращаться с аккумуляторами, важно знать, какой именно тип попал к вам в руки, и очень важно обратить на это внимание.
Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments33

Alfa Battle — онлайн-чемпионат по прикладному программированию

Reading time2 min
Views4.9K
Привет!

Сегодня мы запускаем Alfa Battle, онлайн-чемпионат по прикладному программированию для Java-разработчиков по всей стране. Пройдет чемпионат в режиме онлайн, и побороться за звание лучшего тоже можно будет в прямом эфире.



Мы не стали добавлять в программу какие-то общие задачи по теме, сферические кейсы и прочее — вместо этого будут реальные бизнес-задачи backend-разработки от нас и от партнёров мероприятия (Билайн и X5 Retail Group). Участвовать можно из любого города РФ, главное — желание и интернет-доступ.

Из призов будут деньги (250 000 / 150 000 / 100 000 рублей за первое, второе и третье места соответственно), приглашение на работу для авторов лучших решений (в офис или на удалёнку из своего города) и билет на Joker за самое креативное решение.

Гарантированные призы каждому участнику — набор ALFA BATTLE LIMITED EDITION и экскурсия по Alfa Digital. Под катом этапы чемпионата.
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments2

Как учить всех и каждого одновременно?

Reading time18 min
Views2.9K

Короткий ответ — дать возможность студентам учиться самостоятельно и сделать это неизбежным.

Более подробно рассмотрим педагогический эксперимент, проведенный в Новосибирском государственном университете. В НГУ я 6 лет вел спецкурс по тестированию программного обеспечения на принципах смешанного и дуального обучения. Мы начали с группы в 8 человек, а в последний год на курс записались 52 человека из 100 студентов потока, включая тех, кто уже работал в тестировщиками ПО.


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

Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments6

Когда написать свою IoT-платформу выгоднее, чем покупать готовую

Reading time5 min
Views7.6K
Привет!

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

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



Мы сели, посчитали total cost of ownership и другие плюсы и минусы использования ведущих платных платформ, сравнили это с возможностью пойти и написать свою платформу. И получилось, что сделать свою для нас — примерно в два раза дешевле, при этом платформа будет полностью соответствовать стеку технологий, принятых в SIBUR Digital.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments23

Часть 6. Карьера программиста. Свой стартап

Reading time10 min
Views10K
Продолжение рассказа «Карьера программиста».

Я не притрагивался к книге “Карьера программиста” ровно год, и видимо не зря. За последние месяцы, со мной произошло много трансформаций, которые позволят дополнить эту историю материалами о том, как создать и развивать IT-компанию. Это кажется закономерным. Если вы амбициозный программист или фрилансер, то рано или поздно задаетесь вопросом: «А что дальше?». Вот, я уже старший разработчик — а что дальше? Назначили архитектором — а что дальше?..

Но давайте вернемся к тому, где остановились. Последняя часть №5. Карьеры Программиста окончилась тем, что я заканчивал карьеру разработчика-фрилансера и собираюсь вложить все свои сбережения в создание стартапа. С момента публикации последней 5-ой главы, мне пришло с десяток личных сообщений на Хабр и даже несколько в социальные сети, с вопросом о продолжении книги. Многим читателям Хабра оказалось полезным и познавательным сие чтиво. И так как каждое дело нужно доводить до конца и на это дело есть спрос — спешу продолжить делиться своим опытом.
Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments14

Телефоны, которые создали историю дизайна

Reading time10 min
Views17K

За свои 150 лет истории (если вы принадлежите к поклонникам Меуччи, а не Грейама Белла, то назовёте другое число) телефон прожил огромное количество жизней. Его чрезвычайно долгая эволюция и история характеризуются множеством технологических революций. По сути, телефон стал носителем «вируса» глобализации, в основе современных коммуникаций лежит понятие «телефонного звонка», а идея возможности мгновенной связи с практически любым человеком в мире демонстрирует наше понимание параллельности индивидуального существования каждого. Всегда было и есть нечто невероятно новое и волшебное в возможности услышать далёкий голос, вести разговор между Лондоном и Нью-Йорком, иметь доступ к любой информации из другой части мира.

На протяжении всех этих лет сам телефон как объект претерпел множество трансформаций, это один из тех современных нам предметов, которые так нравится переосмыслять, анализировать и модифицировать художникам и дизайнерам, пытающимся интерпретировать дух времени, а иногда и предугадать его. Мы попробуем отследить его развитие от телетрофона Меуччи до iPhone, представив дизайн наиболее выдающихся телефонов и рассказав историю объекта, внёсшего такой существенный вклад в формирование нашей собственной истории.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments52

«Коммент-ревью» от Huawei: комментируйте посты про Wi-Fi 6 и получайте призы

Reading time1 min
Views903
Недавно мы анонсировали конкурс «Жаркая дискуссия про Wi-Fi 6» и благодаря вашему участию получили большое количество интересных историй, описаний, рассуждений. Некоторые из них легко тянут на статьи в серьезных тематических изданиях. Лидеры конкурса уже определены, и имена победителей мы скоро объявим. Но у вас еще есть возможность повлиять на наш выбор и получить профит самим.


Читать дальше
Total votes 16: ↑13 and ↓3+10
Comments0

Как инженеру вырасти в техлида

Reading time11 min
Views8.8K
Кто такие тимлид, архитектор или QA и чем они занимаются, в IT представляют себе примерно все. Но с пониманием, кто такой техлид, за что отвечает и как им стать, возникают трудности. Мы провели десятки интервью со специалистами крупных компаний и узнали, что это инженер, который инициирует процессы: связывает людей и инструменты с целями организации. Он берёт инициативу и ответственность за технологическое развитие продукта и радеет за качество технических решений. При этом качество это не только тестирование, а архитектура, дизайн, инженерные практики и эксперименты, работа с техдолгом и техническое совершенствование компании в целом.



Также мы выяснили, что для техлидов есть много конференций. Но почти все они концентрируются на  инструментах, а не на инженерных практиках и процессах. Именно поэтому мы запустили новую конференцию TechLead Conf 2020 Online — для тех, кто хотел бы стать техлидом и разобраться с тем, что такое качество. 

На TechLead Conf 2020 Online вторичен вопрос «С помощью какого технического инструмента решалась проблема?». Эта конференция для тех, кто борется за качество технических решений и берёт на себя ответственность за технологическое развитие продукта. С 8 по 10 июня мы изучим опыт внедрения и использования практик, управления технологиями и процессами в компании. Подробнее о программе и о чём будем говорить на мероприятии, расскажем дальше.
Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments0

Облачный‌ ‌opensource‌ ‌осциллограф‌ ‌за‌ ‌3500р‌ ‌и‌ его‌ ‌друзья

Reading time4 min
Views12K
Привет!‌ ‌

В‌ ‌этом‌ ‌посте‌ ‌мы‌ ‌хотим‌ ‌немного‌ ‌рассказать‌ ‌о‌ ‌парочке‌ ‌pet-проектов,‌ ‌которыми‌ ‌занимаются‌ ‌наши‌ ‌коллеги‌ ‌из‌ ‌Ульяновска.‌ ‌С‌ ‌такими‌ ‌проектами‌ ‌ситуация‌ ‌зачастую‌ ‌обстоит‌ ‌следующим‌ ‌образом:‌ ‌человек‌ ‌пилит‌ ‌их‌ ‌потихоньку‌ ‌для‌ ‌себя,‌ ‌показывая‌ ‌только‌ ‌паре‌ ‌друзей‌ ‌или‌ ‌коллегам,‌ ‌и‌ ‌особой‌ ‌огласки‌ ‌это‌ ‌дело‌ ‌не‌ ‌получает.‌ ‌ ‌

Хотя‌ ‌зачастую‌ ‌заслуживает.‌ ‌Из‌ ‌подручных‌ ‌материалов,‌ ‌энтузиазма‌ ‌и‌ ‌желания‌ ‌сделать‌ ‌что-то‌ ‌клевое‌ ‌просто‌ ‌потому,‌ ‌что‌ ‌можно,‌ ‌временами‌ ‌получаются‌ ‌отличные‌ ‌штуковины.‌ ‌К‌ ‌примеру,‌ ‌ребята‌ ‌из‌ ‌хакспейса‌ ‌Нейрон‌ ‌однажды‌ ‌просто‌ ‌just‌ ‌for‌ ‌fun‌ ‌сделали‌ ‌доступную‌ ‌базовую‌ ‌станцию‌ ‌2G.‌ ‌Понятное‌ ‌дело,‌ ‌что‌ ‌в‌ ‌больших‌ ‌городах‌ ‌(да‌ ‌и‌ ‌областях)‌ ‌она‌ ‌интересна‌ ‌только‌ ‌с‌ ‌точки‌ ‌зрения‌ ‌проекта‌ ‌и‌ ‌хобби,‌ ‌но‌ ‌для‌ ‌развивающихся‌ ‌стран,‌ ‌к‌ ‌примеру,‌ ‌это‌ ‌вполне‌ ‌себе‌ ‌полезная‌ ‌вещь.‌ ‌Во-первых,‌ ‌она‌ ‌работает,‌ ‌во-вторых,‌ ‌материальная‌ ‌составляющая‌ ‌весьма‌ ‌и‌ ‌весьма‌ ‌приятна.‌ ‌

Так‌ ‌вот,‌ ‌про‌ ‌наших‌ ‌ребят.‌ ‌

‌ ‌

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

Важное‌ ‌примечание:‌ ‌все‌ ‌описанные‌ ‌в‌ ‌посте‌ ‌штуки‌ ‌так‌ ‌выглядят,‌ ‌потому‌ ‌что‌ ‌специально‌ ‌используют‌ ‌максимально‌ ‌дешёвые‌ ‌и‌ ‌доступные‌ ‌материалы,‌ ‌а‌ ‌корпуса‌ ‌вообще‌ ‌печатают‌ ‌на‌ ‌3D-принтере,‌ ‌который‌ ‌стоит‌ ‌в‌ ‌офисе.‌ ‌
Читать дальше →
Total votes 37: ↑31 and ↓6+25
Comments16

Бизнес-эксперт и программирование. Совмещать нельзя разделять

Reading time9 min
Views4K
Привет! Меня зовут Виктория Краснова, я не так давно писала большой пост про data-driven в нефтехимии. Но там было про сам подход и систему. Давайте сегодня поговорим о тех, кто этой системой будет пользоваться (и кто будет её улучшать). То есть о людях.

Вообще же, про data driven легко говорить и кайфово это реализовывать в компаниях, в которых большинство сотрудников являются power users, то есть легко напишут запрос к базе, не отрываясь от заваривания чая, а в голове у них есть вопросы и задачи, которые можно решить только при наличии технологии Big Data.



А теперь представьте себе, каково это — внедрять DAAS (data as a service), если ваши пользователи взаимодействуют между собой только языком Excel и Power Point. Возникает разрыв: те, кто владеет навыками программирования, не владеют предметной областью на должном уровне, чтобы предметно продемонстрировать все плюшки современных технологий, а бизнес-эксперты пребывают в состоянии недоумения из-за того, что любую известную задачу можно решить при помощи «Small Data» в лице Excel.

Для того, чтобы этот разрыв нивелировать, а в идеале вообще устранить, можно подойти к проблеме вот с каких сторон. Во-первых, набирать аналитиков со знанием SQL и Python. Во-вторых, учить существующих пользователей языкам программирования. И вроде как первый путь выглядит логичнее и проще, да? Но есть подводные камни, а именно:
Читать дальше →
Total votes 22: ↑16 and ↓6+10
Comments0

Компьютерное зрение на WebRTC-сервере с аппаратным ускорением от Intel OWT

Reading time10 min
Views7.6K

WebRTC упростил (в большинстве своем) получение и отправку видеопотоков в реальном времени. А значит, можно немного поразвлекаться с ними при помощи машинного обучения. В прошлом месяце я показал, как запустить компьютерное зрение (Computer Vision – CV) локально в браузере. Как я уже упоминал, локально – это, конечно, хорошо, но иногда требуется более высокая производительность, и для этого нам понадобится удаленный сервер. В данном посте я расскажу о том, как запускать серверные модели OpenCV с аппаратным ускорением на чипсетах Intel с помощью Open WebRTC Toolkit (OWT) с открытым исходным кодом.
Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments1

[Часть 2/2] Руководство по FFmpeg и SDL или Как написать видеоплеер менее чем в 1000 строк

Reading time65 min
Views6.3K

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

И хотя мы старались, в таком объёмном тексте неизбежны трудности перевода. Сообщайте о недочётах (желательно, в личных сообщениях) — вместе сделаем лучше.

Оглавление

Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments0

Все нововведения Windows 10 2004 (20H1)

Reading time8 min
Views226K
Сегодня вечером был выпущен финальный ISO-образ Windows 10 2004 (20H1). Им стал билд за номером 19041.208.vb_release_svc_im.200416-2050. Образы для разработчиков уже доступны на MSDN как вскоре и сами знаете где.


Читать дальше →
Total votes 112: ↑110 and ↓2+108
Comments420

Защита и взлом Xbox 360 (Часть 3)

Reading time9 min
Views63K


В 2011 году, через 6 лет после выпуска игровой приставки Xbox 360, исследователями был обнаружен занимательный факт — если на вывод RESET центрального процессора на очень короткое время подать сигнал «0», процессор не сбросит своё состояние (как должно быть), но вместо этого изменит своё поведение! На основе этой «особенности» был разработан Reset Glitch Hack (RGH), с помощью которого удалось полностью скомпрометировать защиту Xbox 360, запустить неподписанный код, тем самым открыв путь к взлому самой системы и победе над «невзламываемыми» приводами DG-16D5S.

Давайте же рассмотрим в деталях, как работал RGH, как разработчики пытались залатать дыру и как эти заплатки смогли обойти!
Читать дальше →
Total votes 152: ↑152 and ↓0+152
Comments65

5 JavaScript-библиотек для работы со строками

Reading time6 min
Views11K
Работа со строками может оказаться непростым делом из-за того, что она подразумевает решение множества разноплановых задач. Например, для простого приведения строки к «верблюжьему» стилю понадобится несколько строк кода:

function camelize(str) {
  return str.replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function(match, index) {
    if (+match === 0) re
turn ""; // или if (/\s+/.test(match)) для пробелов
    return index === 0 ? match.toLowerCase() : match.toUpperCase();
  });
}

Этот фрагмент кода, кстати, в роли ответа на вопрос о приведении строк к «верблюжьему» стилю, собрал больше всего голосов на Stack Overflow. Но даже он не в состоянии правильно обработать, например, такую строку:

---Foo---bAr---


Результат обработки строки ---Foo---bAr---

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

Поговорим о нескольких JavaScript-библиотеках, предназначенных для работы со строками.
Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments9

Три подводных камня машинного обучения и как их избежать

Reading time8 min
Views3.8K

Ученые из бесчисленных областей обращаются к алгоритмическому анализу данных, Патрик Райли из Google призывает к четким стандартам научных исследований и отчетов.



Инженеры TAE Technologies и Google в Калифорнии используют машинное обучение для оптимизации оборудования, производящего высокоэнергетическую плазму. Источник: Liz Kuball.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments0

Wi-Fi 6 и Huawei P40: где связь?

Reading time2 min
Views6.2K
Уважаемые друзья! Если вы интересуетесь технологиями, то, наверняка, не раз уже слышали про новый стандарт высокоскоростной беспроводной передачи данных шестого поколения — 802.11ax. Или в простонародье Wi-Fi 6.

Если кратко, то новый стандарт более чем в четыре раза превосходит Wi-Fi 5 (802.11aс) по пропускной способности на абонента, а также по количеству одновременно подключенных абонентов. При этом время задержки снижено в три раза. Звучит круто и многообещающе, не правда ли?


Читать дальше →
Total votes 9: ↑7 and ↓2+5
Comments40

Как лазеры и сенсоры помогают сохранить нервы судьям

Reading time11 min
Views2.4K
Привет, Хабр!

Оценить выступление спортсмена – задача, которая с каждым годом не становится проще. Увеличиваются скорости, усложняются программы, появляются новые элементы и их связки. Сравните хотя бы выступления фигуристов или гимнастов в Лондоне, Рио, Ванкувере или Сочи и программы, за которые их предшественники получали золото полвека назад. Разницу ощутит даже тот, кто не следит за спортом.



А судьи кто? Пусть и прекрасно разбирающиеся в своей сфере, но все же обычные люди, которые устают, отвлекаются, моргают, поддаются эмоциям. Результат – спорные решения, после которых болельщики готовы отправить всю судейскую коллегию «на мыло».
Раз человек не идеален, то почему бы не компенсировать слабые стороны последними достижениями науки и техники. Очередной dead heat у финиша навел Эдварда Мейбриджа на мысль, что вовремя сделанная фотография пересекающих черту скакунов избавит от горячих споров и не менее горячих их последствий, когда ставки столь высоки. К практике перешли быстро и впервые фотофиниш во время скачек был использован уже в конце XIX века. Первый видеоповтор отметит в этом году 65-летний юбилей. В теннисе еще с 1970-х годов используется electronic line judge – компьютеризированная система, которая определяет куда приземлился мяч.

Такие системы эффективны, когда к победе ведет определенное действие (пересечь финиш первым, забить мяч в ворота, прыгнуть выше соперников и т. д.), но почти бесполезны, когда лучшего определяют, например, по технике выполнения элементов, их количеству и последовательности в программе. Здесь нужно что-то посложнее простого Instant Replay. Компания Fujitsu в качестве решения видит технологию 3D-сенсоров, которая позволяет в реальном времени сканировать, оцифровывать и оценивать движения атлетов. Подробнее о принципе ее работы под катом.
Total votes 7: ↑6 and ↓1+5
Comments5
1

Information

Rating
Does not participate
Works in
Registered
Activity