Pull to refresh
0
@Lucky715read⁠-⁠only

User

Send message

Дайджест интересных материалов для мобильного разработчика #317 (23 — 29 сентября)

Reading time4 min
Views4.4K
В новом выпуске дайджеста альтернативный магазин приложений для iOS и тонкости публикации в старом Google Play, фреймворк автотетсирования и кодлабы по Kotlin, спрайтовые персонажи и 6 подкастов за неделю, гиперточные карты и тонкости дейтинга.

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

Agones, создаем многопользовательский игровой сервер. Архитектура и установка

Reading time5 min
Views8.5K

Agones (от др.-греч. agōn — «соревнование») позволяет развернуть кластер игрового сервера используя Kubernetes с возможностью Auto-Scaling. Этот open-source проект был создан в 2018 году, уже набрал 2500 звезд, был на Google I/O 2019, и на Хабре, к великому удивлению, еще не был упомянут. В топике описан краткий экскурс в архитектуру и инструкция по запуску тестового сервера на локальной машине. Если интересно, добро пожаловать под кат, вперед!


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

Дайджест свежих материалов из мира фронтенда за последнюю неделю №382 (22 — 29 сентября 2019)

Reading time4 min
Views11K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


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

Применение формальных методов валидации моделей для UI

Reading time9 min
Views4.1K
Привет, Хабр! Представляю вашему вниманию перевод статьи «FORMALLY SPECIFYING UIS» автора Hillel Wayne.


От автора


Относительно недавно я наткнулся на статью про Инженерные методы в разработке ПО, где vasil-sd рассказал про формальную валидацию спецификаций к создаваемым программным продуктам. В качестве инструментария был использован Alloy. Одним из основных лейтмотивов в комментариях был — разобрать статью в контексте какого-нибудь современного веб проекта, потому что дорого\долго\сложно использовать формальные методы там, где все делают быстро\дешево. Так как автор ссылался на блог Hillel Wayne, где такие примеры были, я решил перевести что-то из его статей в качестве дополнения к основному тексту vasil-sd

Предупреждение:

  • Все, что автор называет finite-state machine, я буду называть конечным автоматом или моделью конечного автомата.
  • Часть терминологии я почерпнул из статьи, ранее мною упомянутой, об инженерном подходе к разработке. Тем не менее, тема для меня относительно новая, потому обоих авторов(как зарубежного, так и не очень) мог понять не так — не ругайтесь.
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments3

Архитектура программного обеспечения переоценена, простой и понятный дизайн — недооценен

Reading time10 min
Views46K
image

Вашему вниманию предлагается перевод поста Гергелия Ороса, занимающего должность Engineering Manager в Uber. В нем он делится своим взглядом на проектирование крупномасштабных систем, основанном на собственном практическом опыте работы в Uber и Microsoft. В сочетании с комментариями на Hacker News, которые добавляют весомые контр-аргументы и дополняют точку зрения автора, его статья стала одним из самых интересных постов недели. В статье используется термин «дизайн кода» для сравнения с традиционной «архитектурой» — о нем подробнее можно прочитать здесь.

На мою долю выпало достаточно опыта в проектировании и создании крупномасштабных систем. Я принимал участие в переписывании распределенной системы платежей в Uber, проектировании и релизе Skype на Xbox One и выпуске в открытый доступ RIBs — мобильного архитектурного фреймворка, созданного в Uber. Все эти системы имели тщательно продуманный дизайн, прошли через несколько итераций, с ними связано множество совещаний, проведенных у маркерной доски, и других обсуждений. Затем придуманный дизайн сводился к дизайн-документу, который распространялся среди других разработчиков для сбора дополнительной обратной связи, который продолжался до тех пор, пока мы не переходили к разработке.

Все эти системы отличали большие масштабы: их создавали сотни разработчиков — или они использовали их в своих разработках — и сегодня они бьются в сердцах систем, которыми ежедневно пользуются миллионы людей. Причем, эти проекты создавались не с нуля. Система платежей должна была заменить две другие существующие платежные системы, используемые десятками других систем и дюжинами команд, и все это — без какого-либо ущерба для бизнеса. Переписывание приложения Uber было проектом, над которым одновременно работало несколько сотен инженеров — он включал в себя портирование всей существующей функциональности на новую архитектуру.
Читать дальше →
Total votes 73: ↑66 and ↓7+59
Comments66

Какой шум помогает концентрироваться и отдыхать, а еще — предотвращает потерю слуха при серьезных ДТП

Reading time4 min
Views31K
Никто не любит шум, и на то есть причины. Одно только шумовое загрязнение от автомобильных магистралей наносит ущерб здоровью каждого третьего европейца. А по данным ВОЗ, каждый год жители крупных городов суммарно тратят 750 млрд долларов на лечение заболеваний, связанных с потерей слуха из-за шума того или иного происхождения. Но есть шумы, которые не только не вредят здоровью, но помогают его сохранить, а также сконцентрироваться и расслабиться.

Читать дальше →
Total votes 36: ↑32 and ↓4+28
Comments23

Как работает децентрализованный мессенджер на блокчейне

Reading time8 min
Views29K
В начале 2017 мы начали создавать мессенджер на блокчейне [название и ссылка есть в профиле] с обсуждения преимуществ перед классическими P2P-мессенджерами.

Прошло 2.5 года, и нам удалось подтвердить свой концепт: сейчас доступны приложения мессенджера для iOS, Web PWA, Windows, GNU/Linux, Mac OS и Android.

Сегодня мы расскажем, как устроен мессенджер на блокчейне и как клиентским приложениям работать с его API.

Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments77

Взгляд изнутри: аспирантура в EPFL. Часть 4.2: финансовая сторона

Reading time18 min
Views9.2K

Посещая любую страну, важно не путать туризм с эмиграцией.
Народная мудрость

Сегодня я хотел бы рассмотреть, пожалуй, самый животрепещущий вопрос – баланс финансов при учёбе, жизни и работе за рубежом. Если в предыдущих четырёх частях (1, 2, 3, 4.1) я, как мог, старался избегать этой темы, то в данной статье мы подведём жирную черту под многолетней статистикой баланса заработной платы и расходов.

Disclaimer: Тема деликатная, и очень немногие готовы её освещать открыто, однако я попробую. Всё, что изложено ниже – попытка рефлексии на окружающую действительность, с одной стороны, а также выставление некоторых ориентиров для стремящихся в Швейцарию – с другой.
Так где же у швейцарца зарыт слиток золота?
Total votes 23: ↑23 and ↓0+23
Comments24

2. Типовые сценарии использования Check Point Maestro

Reading time7 min
Views4.4K


Совсем недавно компания Check Point презентовала новую масштабируемую платформу Maestro. Мы уже публиковали целую статью о том, что это такое и как оно работает. Если коротко — позволяет почти линейно увеличивать производительность шлюза безопасности путем объединения нескольких устройств и балансировки нагрузки между ними. Удивительно, но до сих пор сохраняется миф, что эта scalable платформа подходит только для больших датацентров или для гигантских сетей. Это совершенно не так.

Check Point Maestro разрабатывался сразу для нескольких категорий пользователей (мы рассмотрим их чуть позже), среди который есть и средний бизнес. В этом небольшом цикле статей я постараюсь отразить технические и экономические преимущества Check Point Maestro для организаций среднего размера (от 500 пользователей) и почему этот вариант может быть лучше классического кластера.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments0

Два любопытных эксперимента над человеческим мозгом, о которых стоит знать

Reading time4 min
Views21K
Первый эксперимент, даже серия экспериментов, была проведена советскими психиатрами в середине прошлого века. Название и авторы этой научной монографии за давностью лет уже стерлись у меня из памяти, поэтому перескажу основные моменты просто от себя.



Это исследование о делегировании разных функций левому и правому полушариям головного мозга. И любопытное там начинается сразу – с методологии исследования. Ибо это не какой-то софт с полями зрения от американских и британских психологов. Это истинный хардкор.

Дело в том, что в середине XX века ситуация с правами человека во всем мире была, мягко говоря, так себе. ГУЛАГ, расовая сегрегация, Гитлер, в конце концов. Ну, а если человек был психиатрический пациент – это, по сути, была подопытная свинка. Им делали электрошок, отрезали куски мозга, и всё это, практически без контроля со стороны гражданского общества.

Одним из методов лечения было оперативное вмешательство в мозг, с целью полного разрушения нервных связей между левым и правым полушарием. Вроде, они припадки так лечили, и, вроде как, даже получалось, не суть. Суть в том, что на выходе человек получался с головным мозгом, в котором два полушария совершенно не общаются между собой. Ему эти связи попросту рассекали скальпелем в ходе операции. И он потом с этим жил всю оставшуюся жизнь.
Читать дальше →
Total votes 44: ↑26 and ↓18+8
Comments24

Как я провела лето ВКонтакте

Reading time7 min
Views19K

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



Читать дальше →
Total votes 51: ↑28 and ↓23+5
Comments34

Регистрируем свой ИТ-бизнес в Сингапуре: what should I do?

Reading time9 min
Views3.9K
image

Здравствуйте, коллеги!

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

Именно поэтому планируемую изначально вторую часть заголовка «What can I do» (автор Алан Силсон, исполняет группа Smokie) пришлось переделать на «What should I do», так как «могу» и «должен» — глаголы совершенно разные, причём второй является гораздо более правильным в контексте темы статьи, чем первый. За всё остальное, включая практическую полезность материала, точность приводимых фактов и алгоритмов действия, я несу полную ответственность перед читателями.

Читать дальше →
Total votes 16: ↑10 and ↓6+4
Comments6

История одного удачного применения SRP в Legacy проекте

Reading time4 min
Views1.2K
В этой статье я расскажу на примере эволюции своего проекта историю перехода и видение контрактного программирования.

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

Что-то я буду описывать своим языком.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments5

Антипаттерны в React или вредные советы новичкам

Reading time7 min
Views12K
Привет, Хабр.

Ровно год прошел с момента, как я начал изучать React. За это время я успел выпустить несколько небольших мобильных приложений, написанных на React Native, и поучаствовать в разработке web-приложения с использованием ReactJS. Подводя итог и оглядываясь назад на все те грабли, на которые я успел наступить, у меня родилась идея выразить свой опыт в виде статьи. Оговорюсь, что до начала изучения реакта, у меня имелось 3 года опыта разработки на c++, python, а также мнение, что во фронтенд разработке нет ничего сложного и разобраться во всем мне не составит труда. Поэтому в первые месяцы я пренебрегал чтением обучающей литературы и в основном просто гуглил готовые примеры кода. Соответственно, примерный разработчик, который первым делом изучает документацию, скорее всего, не найдет для себя здесь ничего нового, но я все-таки считаю, что довольно много людей при изучении новой технологии предпочитают путь от практики к теории. Так что если данная статья убережет кого-то от граблей, то я старался не зря.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments50

Автостопом по DevOps с Экспресс 42

Reading time4 min
Views4K
DevOps уже у всех на слуху, но DevOps-трансформация для многих еще похожа на путешествие в неизведанный космос. Сегодня хочу рассказать о партнерстве, которое помогает нам самим исследовать эту вселенную и прокладывать надежный путь для других.

Все началось в 2015-м году, когда мы, Экспресс 42, совместно с Онтико воссоздали конференцию RootConf. Формально направление конференции значилось как «Профессиональная конференция по эксплуатации и DevOps», но фактически на докладах в основном обсуждали задачи системного администрирования.

В 2018-м стало понятно, что в мире, где Dev и Ops живут в одном общем процессе, конференция только про системное администрирование уже неактуальна. Тогда мы начали постепенно менять формат конференции. Теперь наша конференция обо всем, что касается DevOps — от Kubernetes, до обсуждения изменения процессов и эффективного обмена знаниями.



Сейчас мы совместно с Программным комитетом взяли курс на все, что связано с превращением аналоговых бизнес-процессов в цифру. В программе DevOpsConf этого года упор на то, как все превращается в код и управляется в виде кода. Сообщество созрело и я уже предвкушаю, какая сильная получится конференция. Но сегодня речь о пройденном пути, о планах поговорим в другой раз.
Узнать, что еще значит 42, и получить видео
Total votes 23: ↑20 and ↓3+17
Comments1

Раскрытие номера телеграм v.2 — Социальная инженерия

Reading time4 min
Views17K

Предисловие


Сам способ раскрытия номера — есть совокупность одной технической возможности самого клиента и применения социальной инженерии (СИ). Вообще, эту функцию уже описывали ранее на Хабре, аж в 2016 году — ссылочка.

Автор уже было уловил «месседж» и хотел рассказать зевавшим пользователям, что это небезопасно!, но критике его статейка поддалась слабо. Однако, я пошел дальше и решил показать, как эта «функция» действует в руках «хацкера».

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

Что же должна сделать жертва, чтобы раскрыть свой номер? Рассмотрим пример.

image
Читать дальше →
Total votes 48: ↑34 and ↓14+20
Comments30

Книга «Безопасный DevOps. Эффективная эксплуатация систем»

Reading time7 min
Views8K
image Привет, Хаброжители! Приложение, запущенное в облаке, обладает множеством преимуществ, но в то же время подвержено особенным угрозам. Задача DevOps-команд — оценивать эти риски и усиливать защиту системы от них. Книга основана на уникальном опыте автора и предлагает важнейшие стратегические решения для защиты веб-приложений от атак, предотвращения попыток вторжения. Вы увидите, как обеспечить надежность при автоматизированном тестировании, непрерывной поставке и ключевых DevOps-процессах. Научитесь выявлять, оценивать и устранять уязвимости, существующие в вашем приложении. Автор поможет ориентироваться в облачных конфигурациях, а также применять популярные средства автоматизации. Требуется знание Linux и владение стандартными практиками DevOps, такими как CI, CD и модульное тестирование.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments1

Атрибуты C#: обо всех аспектах

Reading time19 min
Views42K
Здравствуй, читатель. В этой статье описаны атрибуты со всех сторон — начиная от спецификации, смысла и определения атрибутов, создания собственных и работе с ними, заканчивая добавлением атрибутов на рантайме и наиболее полезными и интересными существующими атрибутами. Если вам интересна тема атрибутов в C#, то добро пожаловать под кат.

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

Apache, ViewState&Deserialisation

Reading time4 min
Views2.5K
В данной статье рассмотрим уязвимость на основе подмены сериализованного Java-объекта ViewState и метод её эксплуатации на примере web-приложения виртуальной машины с HackTheBox, использующей технологию Apache MyFaces.

Читать дальше →
Total votes 24: ↑20 and ↓4+16
Comments4

Как я создал фильтр, не портящий изображение даже после миллиона прогонов — часть 2

Reading time7 min
Views5.7K
image

image

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

Он был немного более размытым и это устроит не всех. Однако он был лучше своих альтернатив — на самом деле именно этот фильтр использовался в оригинальной версии Bink 2. Из-за постоянной нагрузки на работе мне никогда не удавалось вернуться к нему снова и исследовать его подробнее.

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

Предупреждение о спойлерах: правильный ответ — «вероятно, нет» и «определённо, есть». Но прежде чем мы дойдём до того, почему на этот вопрос есть два ответа и что они означают, давайте получше подготовим испытательный стенд.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments2
1
23 ...

Information

Rating
Does not participate
Registered
Activity