Сущности (entities) и сервисы (services) как основа распределенной логики для MVC шаблона проектирования
При разработке разных по масштабу приложений становится все более интересно применять различные подходы к проектированию веб приложения. В последнее время особо остро встал вопрос о разделении логики в большом проекте, базирующийся на MVC шаблоне проектирования.
Читать дальше →
Снова TOR, снова SSL Strip
Если кто-то еще не в курсе, то 9 августа некий Nusenu, владелец выходной ноды в TOR, опубликовал пост, в котором заявил, что более 23% всех выходных нод находятся под контролем злоумышленников, которые перехватывают трафик пользователей и подменяют на лету Bitcoin кошельки в попытке увести чужие средства. Оригинал статьи находится здесь.

Особенность ситуации в том, что атакующие применяли технику sslstrip, которая почему-то считается давно умершей и утратившей актуальность. Пока т.н. специалисты твердят об HTTP Strict Transport Security (= HSTS) и прочих preloaded списках доменов, сетевые злодеи вовсю эксплуатируют старую технику, которой не чурался и Эдвард Сноуден.

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

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

Думаете это «сюр»? Нет, это реальный случай.

Читать дальше →
[Из песочницы] Hilt еще один DI?

Встречайте Hilt — Dependency Injection (DI) в JetPack, но это не правда, так как Hilt это просто обертка для Dagger2. Для небольших проектов сможет встать более удобным инструментом и хорошо интегрируется с остальными продуктами в JetPack.

Читать дальше →
[Перевод] Пользовательский инструмент, который не помешал бы вам в вашем приложении
В преддверии старта базового курса «iOS-разработчик» подготовили для вас еще один интересный перевод.





Примечание: Эта статья был написана незадолго до WWDC 2020, но вам следует читать ее только после просмотра конференции. Все, о чем здесь пойдет речь, уже доступно — вам не нужно скачивать бета-версию или ждать до осени, чтобы использовать это. Также, я собираюсь обновить статью, если что-нибудь относящееся к ней зарелизят на WWDC

Большинство из вас, вероятно, уже работали или в настоящее время работают над приложением, для которого значительная часть функциональности зависит от связи с сервером посредством HTTP. Когда что-то работает не так, как ожидалось, или вы просто хотите понять область кода, с которой вы еще не знакомы, часто бывает полезно посмотреть HTTP-запросы, идущие между приложением и сервером. Какие запросы были сделаны? Что именно отправляет сервер? Для этого вы, вероятно, используете такие инструменты, как Charles Proxy или Wireshark.

Однако эти инструменты часто довольно сложны в использовании и особенно в настройке. Они могут потребовать, чтобы вы настроили собственный SSL сертификат и выполнили множество нетривиальных операций, чтобы заставить устройство доверять ему. Они также отображают очень много информации, которая может вам никогда и не понадобиться для понимания вашего приложения. И в то же время их трудно сопоставить с тем, что происходит в вашем приложении. Что, если я скажу вам, что существуют инструменты, которые могут выполнять большую часть этой работы, требующие от вас значительно меньше мороки с их настройкой, и отображающие информацию в виде, который намного более сопоставим с тем, что на самом деле происходит в вашем приложении? Читать дальше →
Курс “Введение в информационный поиск” и немного истории

Меня зовут Павел Браславский, я научный сотрудник JetBrains Research и доцент Питерской Вышки.


Осенью прошлого года я после большого перерыва прочитал курс “Введение в информационный поиск”, на этот раз — для студентов академических программ JetBrains в Питерской Вышке и ИТМО. Come-back получил продолжение — зимой я прочитал мини-курс с обзором моделей информационного поиска и подходов к оценке для сотрудников Tinkoff, а весной — обзорную лекцию про информационный поиск в рамках курса по обработке естественного языка. В этой статье я кратко расскажу о курсе и его “исторических предпосылках”.


image

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