• Какие книги почитать по параллельному программированию на Scala?

    denisftw
    @denisftw
    Зависит от целей. Если нужно получить теоретический обзор по всем возможным подходам, то да, можно посмотреть на книгу "Learning Concurrent Programming in Scala", которую написал Александр Прокопец из EPFL. Если интересуют более практические вещи, то это конечно лишнее.

    По большому счету, основная абстракция для организации асинхронной обработки в Scala - это Future. Они типизированы, они composable, они поддерживаются практически всеми mainstream-библиотеками, описаны практически в любой книге по Scala 2.10+. Основной их минус - это то что они не lazy by design, из-за чего начинают сразу выполняться и требуют ExecutionContext для большинства операций. У Typelevel-тусовки есть множество альтернатив, которые этого недостатка лишены - ScalaZ Task, FS2 Task и наконец, Monix Task (кстати, очень хорошая документация - https://monix.io/docs/2x/eval/task.html).

    Akka, как таковая, конечно не является альтарнативой Future'ам - и применяться должна весьма ограничено: Actor'ы не типизированные, не composable. Основной их use case - это долгоживущие процессы с изменяемым состоянием. STM и блокировки на Scala практически никто не использует.
    Ответ написан
    Комментировать
  • Что нужно для анонимности в сети? Какие средства для этого имеются? Как скрыть своё местонахождение и действия с финансовыми операциями?

    @lakegull
    1. Скрывает IP, трафик не шифруется, соответственно провайдер всё про вас знает.
    2. Логи, мозги, наводки.
    3.Да, сведение фактов воедино, может способствовать разорению уютного гнёздышка.
    4. и 5. Воспользуйтесь услугами VPN-провайдеров, которые не ведут логи. Весь трафик будет зашифрован и со стороны провайдера невозможно будет определить что вы делали и куда заходили. Желательно, чтобы сервера VPN-провайдера находились в стране, где его законодательно невозможно обязать раскрыть логи ( при условии, что они всё таки ведутся).
    Становлению качественной анонимности предшествует процесс подготовки. Я очень надеюсь, что все ваши действия с финансовыми операциями легальны, поскольку мои советы предназначены для сохранения коммерческой тайны организации.

    Техническая сторона: если вы кому-то будете очень интересны, то успешность выхода на вас это в основном просто вопрос денег. К примеру заставить VPN-сервис раскрыть свои логи будешь стоить недёшево, а заставить сразу двух провайдеров в разных странах открыть свои карты будете стоить 10х недёшево, и не факт, что получится.
    Во этому поэтому есть смысл шифровать трафик последовательно, через 2 VPN-сервиса.

    "Социал-инженеринговая" сторона:
    На вас можно выйти по косвенным признакам: вдруг на пару часов шифранулись, чего обычно не делаете. Сообщение вроде безобидное отправили человеку, сразу образуется ненужная связь с вами, а те, кому надо, просто начинают копать дальше. А вы в курсе, что более половины аккаунтов в разных социальных сетях СНГ и почтовых ящиков взламывается за считанные часы и эти услуги стоят копейки - менее 15000 рублей?
    Советы следующие:
    Полностью прекращайте общение по бизнесу через социальные сети. Бизнес-партнёров в друзья не добавляете (даже в FB) и сообщения им не пишете, любые. Рабочую почту желательно завести у зарубежных сервисов, обычно они платные, но это всего то около 30$ в год. Покупаете VPN и шифрует весь свой трафик всегда, а не только когда проводите операции.

    UPD

    Твой Товарищ:
    Если мой айпи зашифрован, но трафик - нет. Местоположение пользователя вычисляется?
    IP не может быть зашифрован, он просто изменён на другой. Возможность вычисления местоположения зависит прежде всего от сервиса, который вы используете для смены IP-адреса. Доверять свою анонимность бесплатным прокси-серверам и всяким "анонимайзерам" - это себе дороже. Большинство платных прокси-серверов могут обеспечить вам смену IP-адреса и при этом, как я уже говорил, не ведут логов, поэтому технически вас найти будет либо очень сложно, либо вообще невозможно. Пара слов о работе прокси-сервера: он меняет ваш IP на свой. Этот "свой" он берёт у другого простого пользователя в интересующей вас стране, ПК которого заражён троянским ПО. То есть весь трафик от вас / к вам идёт через ПК этого пользователя.
    Помимо отсутствия шифрования, у прокси-серверов есть и другие минусы, это нестабильная скорость и обрыв соединения (когда пользователь с троянским ПО перезагружается или выключает ПК).
    Приоритет, чтоб локация моего устройства была недоступно для других глаз

    Если это смартфон с сим-картой внутри, то тут всё сложнее. Дело в том, что оператор связи может определить местонахождение любого абонента с точностью в несколько десятков метров (в городе). Но на смартфоне так-же можно настроить VPN (OpenVPN) и работать анонимно. GSM-анонимность - это отдельная тема, слишком большая, чтобы раскрывать её здесь. Многие прошаренные бизнесмены общаются по бизнесу только с отдельного аппарата, сим-карта которого зарегистрирована на кого-нибудь из своих охранников. В РФ пробивается любая информация, даже просушка телефонных разговоров, это лишь вопрос цены.
    И если я правильно понимаю, то трафик - это поток информации и деятельности в сети?
    Это те самые мегабайты и гигабайты информации, которую вы скачиваете с сети или наоборот отправляете в сеть. Информация разбивается на небольшие "пакеты", и они гуляют от сервера к серверу.
    И и очень важное что такое ЛОГИ?
    Это журнал протоколирования, который находится на каком-либо сервере, в нём ведётся учёт того, с какого сервера и во сколько пришёл пакет с данными и на какой сервер он был переадресован впоследствии. Это цепочка, следы на снегу, которые могут в итоге привести к вашему реальному местоположению. Эта цепочка обрывается на том месте, где сервер (в данном случае VPN-провайдер), не ведёт логи.
    Насчет по социал-инжиниринговой стороне мало понял, если есть время, то можете раскрыть?
    Социальная инженерия, это способ с помощью которого можно обойти технические средства защиты информации и получить желаемую информацию, опираясь на человеческий фактор и человеческие слабости. Если по простому - это развод кого-либо из ваших знакомых, с целью получить какую-либо информацию о вас. Если это делает профессионал, который предварительно собрал о вас информацию из открытых источников, то скорее всего вы даже не заметите, когда у вас из под носа уведут конфиденциальные данные. Эта тема ещё более огромная, чем GSM-анонимность.
    И насколько я знаю, то сторонние интерне-ресурсы обязаны по закону держать сервера с информацией на территории России. "Закон о персональных данных" который обязывает интернет-компании хранить личные данные российских пользователей внутри страны.
    VPN-провайдеры, у которых вы шифруете свой трафик, не хранят у себя на серверах скаченные вами данные. Они лишь обеспечивают транзитный трафик + его шифрование, ну и смену IP, конечно. Соответственно по действие закона о персональных данных не попадают.

    VPN работает, как показано на схеме:
    78d40072cea44952aa92a74e31288455.JPG

    По данной схеме ваш IP-адрес будет заменён на IP-адрес сервера в Нидерландах. То есть для владельца сайта, который вы посещаете, вы будите определяться как посетитель из Нидерландов.

    При VPN-соединении, провайдер, который предоставляет вам доступ в интернет может лишь посчитать объём скаченных вам данных, но не может определить их содержимое. Так-же не может определить происхождение этих данных.

    Напоследок.
    У любой анонимности есть две фазы:
    1) до того момента, как вашу личность начали ассоциировать с определённым событием
    2) после этого момента.

    В первом случае вам будет достаточно просто шифрования с последовательным соединением через двух VPN- провайдеров.
    Во втором случае риск утечки конфиденциальных данных многократно увеличивается. Если есть возможность не делиться конфиденциальной информацией с партнёрами по бизнесу, то не делитесь ею. Большинство людей взламывается на на раз-два.

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


    Видимо человек подразумевает что для провайдера вы не являетесь анонимным пользователем. Это верно, поскольку он вам предоставляет доступ в интернет по договору, оформленному на паспортные данные реального человека. На ваш или нет - это не важно. Физический доступ к ПК может быть у нескольких людей, но спрашивать прежде всего будут с того, чья фамилия в договоре. Разумеется это случиться только при условии что логи приведут к вам. Если всё сделать грамотно, то это не произойдёт никогда. А пока нету прецедента - никто никого искать не будет. Я повторюсь - попытка найти хвосты из IP-адресов, выстроить всю цепочку и выйти на реального человека, это очень недешёвое занятие и не факт, что будет хоть какой-нибудь результат. Браться за это дело заинтересованные лица будут только в том случае, если есть хоть какие-то гарантии, что результат покроет потраченные ресурсы. А пока вы не долларовый миллионер - никто такой марш бросок ради вас делать не будет.

    Вопрос о провайдере, который о вас знает иллюстрируется следующей аналогией:
    Вот вы идете по улице и видите вокруг себя людей, верно? Вы видите лица людей, возможно некоторые из этих лиц вам встречались ранее, возможно некоторых вы знаете по имени и даже знаете их паспортные данные (допустим коллегу по прошлой работе встретили). Вы знаете где эти люди сейчас находятся (в поле вашего зрения!), вы видите с кем они сейчас общаются, при желании вы даже можете запомнить номера и марку машины, куда они сели. Вопрос: ДАЛЬШЕ ТО ЧТО!
    Вы же не можете утверждать, что человек проходящий мимо вас в чёрных очках надел их потому, что хочет скрыть глаза, поскольку вам кажется, что очки в пасмурную погоду могут одевать только те, кто совершил какое-то преступление. Это всего лишь ваша интерпретация.
    Тоже самое и с провайдером - он не может утверждать, что вы занимаетесь чем-то нелегальным просто на основании того, что начали шифровать весь трафик. В мире любая вменяемая организация шифрует весь свой трафик. Это коммерческая тайна! Так должно быть! В противном в голове у службы безопасности такой организации - СОВОК.

    Последуйте моим рекомендациям: шифруйте ваши конфиденциальные данные и ни пускайте за штурвал ваших ПК и мобильных устройств людей, кого недостаточно хорошо знаете. Высыпаться станете лучше.
    Ответ написан
    19 комментариев
  • Что выучить Dart или CoffeeScript?

    andy722
    @andy722

    Я использую Dart в продакшене примерно последние полгода; в проекте человек 5 разработчиков. Применяем для фронтенда + JSP/Spring MVC/Tomcat, никакой экзотики.

    Когда хотелось отказаться от JS+jQuery, просмотрели кучу фреймворков/языков, так что выбор вполне осознанный.
    Основные плюсы по сравнению с CoffeeScript - все же более высокий уровень абстракции от JS, более чистый язык, более строгая типизация.

    По поводу других комментариев:

    > Когда и если Dart доведут до ума...

    Только что вышла версия 1.0 - первая стабильная.

    > Кофе полностью совместим с JS-библиотеками (напр. jQuery), а вот Dart
    > требует свои собственные библиотеки.

    В Dart есть interoperability с JS, в последних апдейтах совершенно прозрачная - то есть можно создавать объекты, работать с callback'ами прямо из Dart-кода, без всяких дополнительных манипуляций/proxy/scope и т.п.

    > Кофе упрощает вам синтаксис, а дарт усложняет.
    Если под упрощениями имеется в виду та каша, в которую со временем превращается JS-код - то нет.

    Ответ написан
    Комментировать