Изображение из пакета приложения в WebView, React Native, Android

Если вам потребуется отобразить статичный контент в WebView в Android приложении, сделанном на React Native, и при этом использовать в HTML контенте изображения, хранящиеся локально в пакете приложения, то вы можете настроить WebView так, чтобы его source содержал в baseUrl указание на file:///android_asset/тогда в итоге вы сможете отобразить тег img со значением src="./image.png", где image.png – это имя файла изображения, изображение при этом необходимо поместить в папке android/app/src/main/assets. Конечно, вы можете использовать более глубокие пути до папок и файлов и более сложную иерархию каталогов.

iPhone X

Я один обратил внимание на странное устройство экрана в новом iPhone X? Что за второй слой матрицы дисплея, обращенный внутрь?

Источник

Если судить по снимкам iFixit, то так и есть — матрица загнута в нижней части, только не столь красочно, как в ролике это выглядит: 1, 2

JavaScript

Немножко юмора
const a = 0
const b = undefined
const c = 1 / 'a'
console.log(isNaN(a), a, typeof a)
console.log(isNaN(b), b, typeof b)
console.log(isNaN(c), c, typeof c)

Консоль:
false 0 "number"
true undefined "undefined"
true NaN "number"

То есть Not a Number имеет тип number! 🙈

И бонусом весёлое видео:

P.S. Не стоит воспринимать эту запись слишком серьёзно.

В преддверии iPhone 8

— Хорошо, что они это сделали, потому что технология в Xerox просто провалилась. Почему?
— Почему? Я много думал об этом и я многое потом понял об этом, поработав с Джоном Скалли. И теперь картина ясна. То же самое случилось и с Джоном Скалли. Джон пришел из PepsiCo. И они меняли свой продукт раз в 10 лет. Для них новый продукт это как бутылка нового размера. Так? И если вы менеджер по продукции, вы не меняете кардинально политику компании. Но кто повлиял на успех PepsiCo? Люди из отделов продаж и маркетинга! В итоге именно они получили повышение и стали управлять компанией. Может, с PepsiCo всё было хорошо, но то же самое может случиться с технологическими компаниями, которые становятся монополистами, как IBM или Xerox. Если бы вы были менеджерами по продукции в IBM или Xerox, вы бы выпускали всё новые копиры или компьютеры. В итоге люди, которые приносят успех компании, из отделов торговли и маркетинга, встают во главе компании, а менеджеры по продукции отстраняются от принятия важных решений. И компании забывают, что такое выпускать хорошую продукцию. Чутьё нужной продукции, талант, которые сделали их монополистами, загнивают благодаря тем, кто управляет компанией, которые не представляют концепцию хорошей продукции, в отличии от плохой. Они не понимают искусство хорошей идеи и воплощения её в хорошую продукцию и в глубине души они вовсе не хотят помочь потребителю. Это и случилось с Xerox.

Стив Джобс, «Потерянное интервью», 2012

Хакинтош за 50 тысяч рублей

С недавних пор я работаю за новым MacBook Pro 15″ c процессором Core i7 на 8 потоков – этому я несказанно рад. Но вот чему не рад – это моему домашнему Mac mini 11 года выпуска, в котором стоит старенький Core i5 c 4 потоками. Хоть я и сделал в минике Fusion Drive, добавив SSD на 120 гигабайт, а так же впихнув в него максимум оперативной памяти, доведя её объем до сопоставимых с новым ноутбуком 16 гигабайт, всё равно по главному качеству – производительности – домашний компьютер теперь отстает от рабочего в 3 раза! Этот контраст несколько печалит, так как такое разительное отличие в работе крайне заметно. Миник на фоне ноутбука стал казаться «тормозом», хотя раньше меня он более-менее устраивал.
В связи с этим решил посмотреть, что можно предпринять, чтобы изменить такое положение вещей, так как брать ноутбук с работы не вариант и домашний компьютер надо обновлять. В конце концов ему уже 6 лет!

Читать далее Хакинтош за 50 тысяч рублей

Режим «Картинка в картинке» в macOS Sierra

Забавный случай возник сегодня: у меня есть файл mp4 и установленная macOS Sierra, в которой есть крайне удобный режим просмотра «Картинка в картинке», но посмотреть с помощью плееров в таком режиме файл нельзя! Не умеет этого даже родной QuickTime. В VLC есть опция «Поверх всех окон», но она не поддерживает полноэкранные приложения и рабочие столы, а «картинка в картинке» – поддерживает. Например, видео с Youtube очень удобно смотреть параллельно с работой в других приложениях (например, лекции или трансляции).

И вот смотрел я на этот файл, смотрел, и подумал: «Раз он mp4, значит должен быть «родным» для системы… А закину-ка я его в Safari!». В Finder выбрал файл, нажал комбинацию CMD+Alt+C (скопировать абсолютный путь до файла) и вставил в адресную строку Safari — всё заработало!

Быстрая отправка сообщений в мессенджеры

Бывает, надо сделать кнопку «Поделиться» для определенного мессенджера. Самый быстрый способ — это url-схемы. Можно просто вызвать [[UIApplication sharedApplication] openURL:url];  для правильно сконфигурированной ссылки и установленный на телефоне мессенджер примет переданный текст для дальнейшей обработки.

Сейчас покажу, как это сделать для WhatsApp, Viber и Telegram. Читать далее Быстрая отправка сообщений в мессенджеры

Live Rendering и локализация

Есть в Xcode отличная возможность сразу в интерфейсе Interface Builder видеть итоговый результат отрисовки отличных от стандартных компонентов. Например, вы можете сделать свою кнопку с обводкой, добавив три свойства:

Значения этим свойствам можно буден назначить в панели инспектора при редактировании xib или storyboard, а при правильной реализации класса эти изменения тут же отобразятся на вашей кнопке. Подробнее прочитать можно тут, тут и в официальной документации.

Я же хочу поделиться результатом компиляции нескольких идей относительно локализации объектов, находящихся в xib или storyboard.

Читать далее Live Rendering и локализация