Архив за 03 марта 2020 - 8

Что такое «чистый код» в 2020-м? - 1
«Чистый код» и чистый кот

Разработчиков хлебом не корми, дай поспорить о чистоте кода: например, недавно шумиху навёл пост Дэна Абрамова «Goodbye, Clean Code».

Но при этом у самого понятия «чистый код» нет чёткого определения. Главная книга по этому вопросу — «Clean Code», где Роберт «Дядюшка Боб» Мартин сразу заявляет: «сколько программистов, столько и определений». Впрочем, из этого он делает не вывод «говорить об этом бесполезно», а вывод «стоит сравнить разные определения». Поэтому в книге он привёл мнения нескольких выдающихся программистов о том, что такое чистый код.

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

В апреле Дядюшка Боб прилетит в Петербург выступить на трёх наших конференциях, и они как раз по трём разным направлениям (про .NET-разработку, про тестирование и про JavaScript). Поэтому мы спросили нескольких спикеров этих конференций, что такое чистый код для них, чтобы сравнить мнения экспертов индустрии в 2020-м.

А поскольку тема холиварная, наверняка кто-то из вас окажется не согласен с какими-то из мнений. В таком случае айда спорить в комментариях, это тоже весело!

Читать полностью »

Vivo NEX 3S 5G выйдет 10 марта — ожидаемые цены, наличие LPDDR5 и UFS 3.1

Компания Vivo подтвердила, что 10 марта официально представит свой новый флагман — Vivo NEX 3S 5G во время специальной трансляции. Последние сообщения показали, что смартфон имеет номер модели V1950A, а спецификации Vivo V1950A уже просочились в Сеть благодаря сертификациям TENAA и 3C. Теперь стали известны дополнительные подробности.

Читать полностью »

Zip-файлы: история, объяснение и реализация - 1

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

В статье очень подробно объясняется, как работают Zip-файлы и схема сжатия: LZ77-сжатие, алгоритм Хаффмана, алгоритм Deflate и прочее. Вы узнаете историю развития технологии и посмотрите довольно эффективные примеры реализации, написанные с нуля на С. Исходный код лежит тут: hwzip-1.0.zip.
Читать полностью »

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

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

Вчера мы узнали, что Sony готовит новый достаточно компактный по современным меркам смартфон. Мы предположили, что это не модель линейки Compact, и это оказалось так.

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

Для начала посмотрим на фотографии.

Читать полностью »

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

HTTP-заголовок Feature-Policy и контроль поведения веб-страниц в браузерах - 1

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

Например, можно сообщить браузеру о том, что он не должен позволять использовать API Geolocation, передав ему следующий заголовок:

Feature-Policy: geolocation 'none'

У использования заголовка Feature-Policy есть, с точки зрения безопасности и производительности, множество плюсов. Но мне сейчас особенно нравится то, как Feature-Policy можно использовать для того, чтобы сделать более заметными проблемы производительности сайтов, которые обычно легко проглядеть. Это можно сравнить с чем-то вроде «линтинга производительности». В частности, речь идёт о выявлении проблем с изображениями, используемыми в веб-проектах.
Читать полностью »

На сегодняшний день видеокарты AMD поколения Navi занимают несколько ценовых сегментов, стартуя со 170 долларов за младшую Radeon RX 5500 и заканчивая примерно 380-400 долларами за RX 5700 XT.

И так как это далеко не все сегменты, вполне логично, что далеко не новые модели на основе GPU Polaris всё ещё отлично продаются. Более того, нас ожидает даже новинка этого поколения.

Можно ли сфотографировать Луну на смартфон? Когда появились модели с перископными камерами, оказалось, что вполне можно. И, что вполне логично, обычно Луну на смартфон фотографируют ночью.

Можно ли сделать это днём? Новые снимки, полученные при помощи Samsung Galaxy S20 Ultra, доказывают, что можно. Автор не указал время съёмки, но и так видно, что это происходило днём в достаточно ясную погоду.

Читать полностью »

Добрый день. Прошло уже 2 года с момента написания последней статьи про парсинг Хабра, и некоторые моменты изменились.

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

Читать полностью »

Смартфон iPhone 9, который также называют iPhone SE 2, является одной из самых ожидаемых новинок первой половины 2020 года. Однако, несмотря на многочисленные утечки и слухи, мы всё ещё многого о нём не знаем.

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

Но сейчас у нас есть возможность взглянуть на ещё одно «живое» фото этого аппарата. Конечно, если это действительно iPhone 9, ведь можно вспомнить Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js