Search
Write a publication
Pull to refresh
53
0

Разработчик под Android, перешедший на Rust

Send message

Аплодисменты и одобрительные возгласы: тщательно управляемая драма в магазинах Apple

Reading time8 min
Views37K

Эти чрезмерно разрекламированные «гении» в гладком и прилизанном магазине Apple получают меньше, чем положено, и играют роль персонажей в хорошо продуманной сказке



Обновлённый магазин Apple в Лондоне обзавёлся деревцами в «роще гениев», и ставит своей целью стать местом, где люди просто проводят время.

Стив Джобс хотел, чтобы клиент мог понять магазин Apple «с первого взгляда», будто он стоит на горе Олимп. И магазины, вроде бы, действительно говорят сами за себя. Яркие, просторные, со стеклянной отделкой – большего контраста с гигантскими магазинами-лабиринтами, которые они должны были заменить, и желать нельзя.

Как и больших прибылей. С момента их запуска в 2001 году узнаваемые с первого взгляда магазины загребли больше денег – как в сумме, так и в пересчёте на квадратный метр – чем любой розничный продавец на планете, превратив Apple в самую богатую компанию мира. Однако эта прозрачность магазина Apple одновременно скрывает то, как делаются эти прибыли.
Читать дальше →

Эволюция планировщиков задач

Reading time12 min
Views19K


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

Дополнительные программные средства безопасности для NAS

Reading time24 min
Views13K


Цикл статей назван "Построение защищённого NAS". Поэтому в данной статье будет рассматриваться повышение уровня защищённости. Также, будут описаны и те инструменты, которые я не использовал, но возможно применить.

Читать дальше →

Так ли страшен Rust, как его малюют

Reading time10 min
Views41K

Некоторое время назад я начал понимать необходимость разнообразить мой опыт программирования исключительно на C#. После некоторого изучения различных вариантов, таких как Haskell, Scala, Rust и некоторых других, выбор пал на последний. Со временем я начал обращать внимание, что Rust всё больше и больше рекламируется исключительно как "системный язык", который нужен для вырвиглазно сложных компиляторов и супер-нагруженных систем, с особыми требованиями к безопасности и многопоточности, а для вариантов попроще есть Go/Python/Java/..., в то время как я с удовольствием и весьма успешно использовал его как замену моей рабочей лошадке C#.



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

Читать дальше →

Опыт внедрения автоматизации в процесс ручного тестирования на примере Android-приложения

Reading time8 min
Views7.8K
Хорошего тестировщика со способностями к критическому мышлению нельзя полностью заменить автоматизацией. Сделать его работу эффективнее — легко. С таким убеждением я пошёл в наш отдел тестирования с новой задачей, где мы вместе с Павлом взялись за её реализацию. Давайте посмотрим, что из этого вышло.

Совместно с нашими партнёрами мы активно разрабатываем, тестируем и поддерживаем семейство приложений для разных платформ: Android, iOS, Windows. Приложения активно развиваются, вместе с чем увеличивается и объём тестирования, в первую очередь — регрессионного.

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

Реализация такого подхода началась с одного из Android-приложений, о чём я и расскажу. Статья будет интересна начинающим авторам UI-тестов, в первую очередь для мобильных приложений, а также тем, кто хочет в некоторой мере автоматизировать процесс ручного тестирования.

Поехали!
Читать дальше →

Где опубликовать мобильное приложение

Reading time10 min
Views32K
Столкнулся с необходимостью опубликовать своё мобильное приложение и при этом же столкнулся с тем, что в рунете нет ресурса, где бы были собраны вместе хотя бы более-менее значительные площадки для размещения собственных творений. Может быть и есть такой ресурс, но он спрятан где-то глубоко в паутине интернета так, что в первых страницах поисковой выдачи не показывается.

image

Поисковики соответствующий запрос с упорной настойчивостью вопрос «где» конвертируют в ответ «как...», предлагая ноль информации. Результат дал запрос «markets for publishing mobile apps» на английском языке и, среди прочего, выдал отличную актуальную статью, которую, дабы не потерять и каждый раз не прыгать в Google translator, решил перевести и опубликовать основное здесь. Кроме всего, в статье довольно много интересной и полезной другой информации.

Итак «App Stores List 2018» с сайта businessofapps.com. Ну, то есть,

Список магазинов мобильных приложений 2018


Читать дальше →

Заметки фитохимика. Хурма

Reading time13 min
Views94K

Мы откроем нашим чадам
Правду — им не всё равно,
Мы скажем: "Удивительное рядом,
Но оно запрещено!"
В.С. Высоцкий


Занимаясь решениями в области "зеленой химии" мне часто приходится иметь дело с растениями (и с их химическими составными частями). Многие знакомые об этом знают и при случае интересуются, а что вот в этом овоще интересного, а что вот в этом фрукте. И как правило ответ вроде "витамины и минералы" — не удовлетворяет человеческое любопытство. Поэтому я, периодически занимаясь тем или иным представителем флоры, писал в своем facebook заметку с указанием интересных фактов/химических соединений, которые можно найти в этом растении.

Вот и сейчас, в ожидании Нового года многие закупаются хурмой. Знают, что она полезна. А вот чем, кому? Мне с одной стороны приятно, что существует большое количество людей, которым недостаточно видео-ролика или пару слов "на отцепись" в описании, а с другой — грустно из-за этой повальной тенденции к упрощению. Поэтому… поэтому если хотите узнать больше про природные антиоксиданты, расширить свои знания по лекарственным свойствам хурмы и понять почему хурма и Coca-Cola созданы друг для друга — проследуйте под кат...


Читать дальше →

External — GUI для Golang

Reading time5 min
Views24K
Приветствую вас, коллеги!

Около месяца назад я опубликовал здесь статью GUI-фреймворки — на поток, где предлагалась технология создания GUI-фреймворков для разных языков программирования, основанная на подключении (tcp/ip или каком другом) к внешнему процессу, играющему роль своеобразного GUI-сервера. Здесь я хочу представить конкретную реализацию этой идеи — новый GUI-фреймворк для GolangExternal.

Зачем вообще потребовалось писать новый GUI для Golang, если в наличии уже имеется немало таких инструментов? В первую очередь, потому, что ни один из них не устраивал меня в полной мере. Нужно было что-то для создания десктопных приложений, кросс-платформенное, чтобы выглядело естественно для каждой платформы. По-возможности, не очень громоздкое, имеющее минимум зависимостей — я привержен минималистическому подходу.
Читать дальше →

Прага как место, достойное переезда из Питера — 3 года спустя

Reading time24 min
Views21K

"… Не может чуждой славянину
Быть чехов доблестных земля.
"
П.А. Вяземский


Небольшое предисловие


Нашего коллегу Андрея Дмитриева, как-то рассказавшего Хабру свою историю развития от бездомного до Senior Developer'a, недавно позвал поучаствовать в подкасте linkmeup наш другой коллега Loxmatiymamont. В рамках проекта "По'уехавшие" он общается с IT специалистами, которых объединяет одна деталь: когда-то они уехали работать из России в другую страну. Но, дабы не повторять миллион и тысячу подобных проектов, в этом подкасте нет разговоров про мотивацию, рассуждений "зачем и почему", а также поиска высших смыслов. Нет, здесь упор делается на бытовую часть вопроса жизни обычного человека в совершенно новом для него месте, без скучных сравнений а-ля "где огурцы дороже".


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



— Всем привет!
Нас
[linkmeup] раньше любили обвинять в какой-то предвзятости и то, что наш проект периодически продается [выпуски с представителями вендоров — ред]. И вот сегодня у вас будет новый повод это сделать, потому что в гости я позвал своего коллегу – это Андрей Дмитриев, он сейчас работает в Праге. Привет, Андрей!


— Привет!

Читать дальше →

Неизбежным старение делает физика, а не биология

Reading time13 min
Views46K
Привет, Хабр! Представляю вашему вниманию перевод статьи Physics Makes Aging Inevitable, Not Biology. Автор Peter Hoffmann.

Наномасштабная теплофизика гарантирует наше угасание, независимо от того, сколько болезней мы излечим


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


Читать дальше →

Почему новый дизайн Gmail такой медленный?

Reading time3 min
Views100K
image
Как известно, в 2018 году компания Google провела крупнейший редизайн интерфейса своего почтового сервиса Gmail. Как обычно, довольны им оказались далеко не все — и на этот раз есть вполне объективные причины для недовольства сервисом. Почему загрузка Gmail стала занимать очень много времени, а действия вроде удаления или архивирования цепочки писем могут выполняться 4-6 секунд?

Пару дней назад подобным вопросом задался пользователь Hacker News — и он получил ответ от анонимного сотрудника Google, хлестко проехавшегося по культуре разработки внутри компании и своим коллегам.

С его слов, все это происходит в силу того, что в Google не предусмотрено никаких наказаний за подобные «промахи».

В стенах компании активно поощряют запуски (launch) — публичные релизы чего-либо. И то, что продукты могут содержать лишь половину необходимых фич, не работать, работать только из-под Chrome и прочее — это никого не волнует, ведь их создателям за это ничего не грозит. Это — норма.
Читать дальше →

PeerTube 1.0: видеохостинг без дата-центра и капитальных затрат

Reading time2 min
Views43K
image

Состоялся первый продакшн-релиз децентрализованной платформы PeerTube для организации видеохостинга и видеовещания. PeerTube представляет собой независимую легковесную масштабируемую альтернативу для YouTube, Dailymotion и Vimeo и использует браузеры посетителей в реальном времени для создания сети распространения контента. Наработки проекта распространяются на GitHub под свободной лицензией AGPLv3.

image


Идея PeerTube состоит в том, чтобы создать технологию, способную объединить разрозненные серверы с видео в общую федеративную сеть с взаимным обменом информацией, в которой посетители участвуют в доставке контента и имеют возможность подписки на каналы и получения уведомлений о новых видео.

10 библиотек, о которых должен знать каждый Android-разработчик

Reading time7 min
Views26K

10 библиотек, о которых должен знать каждый Android-разработчик


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

Читать дальше →

Зачем писать свой игровой движок?

Reading time20 min
Views29K
В декабре прошлого года, на конференции Games Gathering 2017, мы сделали доклад, в котором рассказали о том, надо ли компаниям, работающим в игровой индустрии, писать собственные движки.


Читать дальше →

390k. вебсайтов с открытой папкой .git

Reading time4 min
Views24K

В июле исследователь безопасности Владимир Смитка решил проверить интернет на предмет наличия открытых папок .git после того, как недавно был проведен подобный аудит для интернет доменов Чехии и Словакии.


leak


Как говорится: «никогда такого не было, и вот опять». Напомню, 9 лет назад точно такая же история была с российским сегментом интернета пораженным синдромом открытой .svn. Далее представлены результаты кропотливой работы чешского исследователя, инструментарий и методы.

Читать дальше →

Game over, пацаны

Reading time11 min
Views111K
— Я те говорю, гама вообще реальная! – продолжал размахивать на ходу руками Петр. – Не заметишь, как просидишь всю ночь!

— Да что за игра такая, которая только в компьютерном клубе есть? – продолжал, в свою очередь, удивляться Стас. – На дворе 2018 год, откуда вообще компьютерный клуб взялся?

— Ну, уж точно не из тех, которые… — Павел туманно показал глазами куда-то в сторону. – Без игровых автоматов, короче. А игра действительно стоящая.

— Стоящая? – Петр округлил глаза. – Да это, блин, мега-игра! Я ничего подобного не видел еще! Тут тебе ни жанров, ни ограничений, понимаешь? Хочешь – картошку выращивай, хочешь – машины проектируй, хочешь – войну начинай, хочешь – на Марс лети! Да хоть бы и вообще ничего не делай, просто сиди на улице и смотри, что люди делают! Ты такого кайфа не видал еще!

— Ну прям заинтриговали. – улыбнулся Стас. – Далеко еще?

— Нет, сейчас, за углом вход. – ответил Петр.

— Э, пацаны, стоять!
Читать дальше →

Оптимизация графики для веба: самое важное

Reading time54 min
Views98K
Автор электронной книги — Эдди Османи, один из руководителей разработки Google Chrome

tl;dr


Cжатие изображений всегда должно быть автоматизировано


Оптимизацию графики обязательно надо автоматизировать. О ней легко забыть, рекомендации меняются, да и сам контент может легко проскользнуть мимо конвейера сборки. Для автоматизации при сборке используйте imagemin или libvips. Есть и много других.

Большинство CDN (например, Akamai) и сторонних решений вроде Cloudinary, imgix, Fastly Image Optimizer, Instart Logic SmartVision и ImageOptim API предлагают комплексные автоматизированные решения для оптимизации изображений.

На чтение статей и настройку конфигурации вы потратите время, которое дороже оплаты их услуг (у Cloudinary есть бесплатный тариф). Но если всё-таки не хотите отдавать работу на аутсорсинг по соображениям стоимости или из-за дополнительной latency, то выбирайте приведённые выше варианты с открытым исходным кодом. Проекты Imageflow или Thumbor предлагают альтернативу на собственном хостинге.
Читать дальше →

Прибор для измерения СО2

Reading time3 min
Views19K
Однажды, сидя на работе и чувствуя некомфортность в дыхании, решил собрать измеритель СО2.
Изучив несколько статей на эту тему сформулировал требования к прибору.

  1. Прибор должен быть с экраном, так как это должен быть переносной девайс.
  2. Прибор не должен зависеть от интернета по той же причине.
  3. Прибор должен уметь логировать значения во времени, которые удобно в любой момент просматривать. А это означает, что он должен иметь собственный веб сервер и свою вайфай точку.

Последний пункт неоднозначно привел к вводу, что прибор будет на ESP. Так как большой производительности мне не нужно, то выбираю дешевый вариант — ESP8266, 07 которая. Дома как раз завалялся экземпляр с 1 мб памятью.

Заказал недостающие запчасти на алиэкспресс, а ими были:

  1. Oled display 96x64 SSD1331.
  2. MH-Z19B CO2 sensor.
  3. DS1307 RTC module.
Читать дальше →

Ученые нашли способ обратить процесс старения клеток

Reading time6 min
Views91K


Многие люди мечтают, что при их жизни найдут способ остановить старение. Теперь можно перестать мечтать. Реальная жизнь переплюнула научную фантастику. Исследователи смогли не только остановить, но и обратить процесс старения – вернув человеческие клетки обратно к их «молодому» состоянию. Правда, пока что только в лаборатории. Ученые рассчитывают, что скоро их открытие позволит создавать лекарства против естественной дегенерации тканей. И указывают на то, какие продукты нам нужно употреблять, чтобы достичь похожего эффекта в своём организме.

Читать дальше →

Что нового в ConstraintLayout 1.1

Reading time4 min
Views10K

ConstraintLayout


ConstraintLayout упрощает создание сложных макетов в Android, позволяя создавать большую часть вашего пользовательского интерфейса с помощью визуального редактора в Android Studio. Его часто называют более мощным RelativeLayout. С помощью ConstraintLayout вы можете избегать множества уровней вложенности при вёрстке сложных экранов.


Недавно была выпущена стабильная версия ConstraintLayout 1.1, и теперь он выглядит очень зрело. Полная его оптимизация ещё больше увеличивает его быстродействие, а новые элементы, такие как барьеры и группы, превращают создание по-настоящему крутого дизайна в достаточно тривиальную задачу.

Читать дальше →

Information

Rating
8,029-th
Location
Bratislava, Bratislava, Словакия
Date of birth
Registered
Activity