Архив за 01 августа 2019 - 4

F-strings или как сделать код чуть более быстрым и читаемым - 1

В Python есть 3 способа форматировать строки, и один из них лучше других. Но не будем забегать наперед — о каком именно форматировании вообще речь? Каждый раз когда мы хотим поприветствовать пользователя по имени нам нужно вставить строку с именем в строку-шаблон. Большинство полезных записей в логах так же содержат значения переменных. И вот пример:

integer = 42
string = 'FORTY_TWO'

print('string number %s, or simply %d' % (string, integer))
print('string number {}, or simply {}'.format(string, integer))
print(f'string number {string}, or simply {integer}')

Первый способ, форматирование оператором %, пришел в Python еще из С — он имитирует функцию printf. Этот способ был первым в питоне, и остается единственным (из обсуждаемых в статье) в Python версии 2.5 и ниже.

Второй способ — это метод str.format, принадлежащий встроенному классу строк. Он появился с Python 3.0, и был портирован в версию 2.6. Этот метод был рекомендован как обладающий более богатым синтаксисом.

Третий способ, f-string, появился в Python версии 3.6. Как объяснено в PEP-0498, создание нового способа форматирования строк было мотивировано недостатками существующих методов, которые авторы характеризуют как подверженные ошибкам, недостаточно гибкие и не элегантные:

This PEP is driven by the desire to have a simpler way to format strings in Python. The existing ways of formatting are either error prone, inflexible, or cumbersome.

Итак, у нас есть три способа решить одну задачу. Но может это дело личного вкуса и предпочтений? Возможно, но стиль вашего кода (особенно кода в проекте с большим количеством участников) точно выиграет от единообразия. В лучшем случае стоит использовать один метод форматирования строк, тогда читать код станет проще. Но какой же метод выбрать? И есть ли разница в производительности кода?
Читать полностью »

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

Первым производителем, который выпустит ноутбук с поддержкой 5G, может оказаться компания Lenovo. Во всяком случае, ссылаясь на представителя китайской компании, пожелавшего сохранить анонимность, источник утверждает, что новинки выйдут до конца года, точнее говоря, в декабре. К сожалению, какие-либо технические подробности пока отсутствуют.

Инсайдер под ником RODENT950 опубликовал новые подробности о камере смартфона Huawei Mate 30, который будет представлен в октябре этого года.

Согласно новой информации, в основной камере Huawei Mate 30 будет три датчика изображения разрешением 40, 40 и 8 Мп. Главный модуль получит датчик изображения формата 1/1,5", а также объектив с диафрагмой от F/1,6 до F/1,4 с раскладкой пикселей RYYB (красный, жёлтый, жёлтый, синий), как у Huawei P30 Pro.

Фотоэкскурсия по Минералогическому музею имени Ферсмана - 1

Продолжаю писать про малопопулярные музеи научной тематики. В прошлый раз мы отправились в музей Физико-энергетического института в Обнинске. Темой сегодняшнего рассказа станет Минералогический музей имени Ферсмана.

ВНИМАНИЕ! Под катом много фотографий!
Читать полностью »

В этой статье будет использоваться ГРЯЗНЫЙ, небезопасный, "костыльный", страшный и т. д. метод eval. Слабонервным не читать!

Сразу скажу, что некоторые проблемы удобства использования решить не удалось: в коде, который будет передан в worker, нельзя использовать замыкание.
Работа с Worker "как хочется", а не "как можно"

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

Технологии, которые будут популярны в 2020 году - 1

Хоть это и кажется невероятным, 2020 год уже вот-вот наступит. Эта дату мы до сих пор воспринимали как нечто сошедшее со страниц научно-фантастических романов, и тем не менее, дела обстоят именно так — до 2020 года совсем рукой подать.

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

Визуализация новостей рунета - 1

Представьте себе, что вы поспорили с друганом, что было раньше — курица или яйцо повышение какого-то налога, к примеру, или новости на эту тему, или вовсе важное событие заглушили тучей новостей про новую песню, скажем, Киркорова. Удобно было бы посчитать, сколько новостей на каждую тему было в каждый конкретный момент времени, а потом наглядно это представить. Собственно, этим и занимается проект “радар новостей рунета”. Под катом мы расскажем, при чём здесь машинное обучение и как любой доброволец может в этом поучаствовать.

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

Специалисты аналитической компании Digitimes Research подвели итоги второго квартала на рынке планшетов и дали прогноз развития ситуации в третьем квартале.

По подсчетам аналитиков, в минувшем квартале было отгружено 32,66 млн планшетов. Это на 8,7% меньше, чем в первом квартале и на 11,9% меньше, чем год назад.

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

AirTest IDE разработан компанией NetEase и предназначен для "hard-to-automate" приложений, таких как, к примеру, игр. Собственно на них и делается основной упор разработчиками, хотя это не мешает использовать AirTest и для любых других приложений.

AirTest IDE работает под Windows, MacOS X и Linux и содержит в себе 2 фреймворка: AirTest и Poco. Данная разработка была представлена Xin Liu на Android Game Developer Summit 2018. Для написания тестов используется Pthong 2.7 и Python 3.3+. Такие важные вещи как поддержка запуска тестов сразу на большом количестве устройств, открытость исходного кода и бесплатность приложения, а также легкое написаное тестов — это те преимущества, которые выделяются разработчиками. Приложение может быть использовано как на Windows, так и на MacOS и позволяет автоматизировать приложения со следующих OS: Windows, iOS, Android.

AirTest Project на GitHub содержит 4 проекта: Airtest, Poco, iOS-Tangent, multi-device-runner.
Стоит также упомянуть, что NetEase предоставляет свою ферму физических устройств для автоматизированного тестирования, которая называется AirLab.

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

Сегодня в России состоялась презентация смартфона Vivo V17 Neo. В компании заявляют, что Vivo V17 Neo – первый смартфон компании, разработанный с учетом предпочтений российских пользователей.

Устройство оснащено дисплеем Super AMOLED диагональю 6,38 дюйма разрешением 2340 х 1080 пикселей с соотношением сторон 19,5:9 и встроенным дактилоскопическим датчиком, а также новой однокристальной системой MediaTek Helio P65. Есть также разблокировка смартфона с помощью функции «Распознавание лица».


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