• Как происходит перехват сетевых данных?

    alexclear
    @alexclear
    A cat
    Тег "сниффинг" здесь явно лишний, простейший способ осуществить перехват - это прийти к авторам Telegram и попросить у них ключи. Кстати, одна из претензий независимых security профессионалов к имплементации криптографии в Telegram - это фактическое отсутствие perfect forward secrecy (что означает, что при утечке ключей предыдущие коммуникации можно будет расшифровать).
    Ответ написан
  • Как получать твиты адресованные на аккаунт в "живом" режиме?

    @Lol4t0
    Вам стоит посмотреть в сторону User Streams или Site Streams в зависимости от шаблона использования. Для непосредственно работы с API можно воспользоваться биндингами
    Ответ написан
    Комментировать
  • Как лучше реализовать чат клиент-сервер на java websocket?

    @bromzh
    Drugs-driven development
    В качестве клиента лучше брать SockJS, потому что он куда более гибкий: автоматом заменяет вебсокеты на поддерживаемую браузером технологию (лонг-поллинг, флэш, загрузка файлов и т.д.), автоматом меняет порты, если нужные не могут использоваться. При этом, делает он всё это прозрачно, код обмена сообщениями будет точно такой же, как в случае с обычными вебсокетами.

    Эту либу точно поддерживает SpringFramework. На счёт чистой Java EE не знаю. Поэтому, у тебя 2 варианта: использовать вебсокеты от спринга, а в остальном юзать Java EE фичи, вроде как есть много туторов, как скрестить EJB и Spring. Ну или используй полностью Спринг заместо Java EE.

    А если ты точно знаешь, какой браузер будет у пользователей, то можно и на чистых вебсокетах и Java EE замутить всё.

    P.S. Не используй томкат, бери полнофункциональные сервера: Glassfish 4 или WildFly 8 (бывший JBoss).
    Ответ написан
    5 комментариев
  • Как лучше реализовать чат клиент-сервер на java websocket?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Клиент socket.io
    Сервер https://github.com/mrniko/netty-socketio

    А еще можно ничего не переписывать и использовать flash на клиенте, он может в обычным сокетам коннектиться.
    Ответ написан
    1 комментарий
  • Как запустить такую связку(Java socket + client)?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    1)Можете клиент на флеше написать, он может не только на websocket работать.
    2)Любой VPS https://poiskvps.ru/
    Есть даже бесплатные haphost.com , но сам не пробовал.
    Ответ написан
    4 комментария
  • Есть ли java SDK для API Vkontakte?

    Можно использовать sdk для android, немного допилив его: вырезав всё, что относится к андройду. Поищите в гугле запросом "github java vk sdk/api".
    Ответ написан
    Комментировать
  • Есть ли java SDK для API Vkontakte?

    iLeonidze
    @iLeonidze
    xbooster.ru
    Наверное, Вы говорите про готовое SDK? Для Java, официальной такой библиотеки нет, но Вы можете использовать общие для всех методы: Серверные методы API, Платёжный API, Рекламный API, Offers API. Для более подробной информации ознакомьтесь с официальной документацией - там всё подробно описано.
    Ответ написан
    Комментировать
  • Майнинг litecoin на AMD Radeon HD 5570?

    @serber
    Мощность Вашей видеокарты 88 kH/s
    Учитывая текущую сложность сети Вы будете зарабатывать :
    В час: 0.058 руб.
    В день: 1.40 руб.

    Не могу понять, почему для майнинга btc мощность меряют в mhash/s, а для майнинга ltc меряют в khash/s ?
    Потому что сложность сети bitcoin больше, чем у litecoin
    Ответ написан
    2 комментария
  • Как можно отправить почту нескольким лицам в java spring?

    MimeMessageHelper.setTo(String[])

    MimeMessageHelper.addTo()

    Правда тогда ВСЕ получатели письма увидят адреса ВСЕХ получателей. Чтобы этого избежать используйте поле "Bcc" - оно не отсылается. А в поле "To" подставьте "левый" адрес (адрес списка рассылки, если есть).

    Если это не подходит - то рассылать только в цикле
    Ответ написан
    3 комментария
  • Какие сейчас тренды в Web разработке на Java?

    Quber
    @Quber
    PHP Team lead
    Покурите nodeJs
    Ответ написан
    Комментировать
  • Какие инструменты выбрать для создания web-приложения на java?

    AngularJS + UI Bootstrap + Spring + Hibernate.

    Формировать и управлять сложными формами на стороне клиента гораздо легче, чем формировать их на стороне сервера, а потом навешивать на них кучу лапшеобразного JavaScript/jQuery кода.

    AngularJS полностью берёт на себя пользовательский интерфейс, а Spring работает как RESTful сервис.
    Ответ написан
    Комментировать
  • Какой есть хороший 2D графический движок для Java?

    @FoxInSox
    Я довольно долго работал с LibGDX, в общем доволен.
    - Физический движок встроен
    - Частицы можно реализовать на встроенном Box2D
    - Свет в 2D довольно специфичная вещь, т.е. зависит от того какой вам эффект нужен. Но я видел Java библиоеку которая работает с LibGDX и Box2D для эмитации теней.
    - Классы для растровой анимации есть
    Ответ написан
    Комментировать
  • Каковы основные принципы регистрации и авторизации через социальные сети OAuth2?

    hbuser
    @hbuser Автор вопроса
    Отвечу сам себе.
    Здесь есть полезная конкретная информация о технической реализации.

    А если вкратце, то...

    Для авторизации, регистрации используется все та же таблица 'users'. Вместе с обычной регистрацией и авторизацией, когда при регистрации (в самом простом виде) в таблицу 'users' добавляются email, password и login пользователя, а при авторизации проверяется соответствие введенных login'а и password'а существующим в базе данных, аналогичным образом используется и регистрация/авторизация через социальные сети. Только в данном случае источником данных о пользователе для его регистрации является не непосредственный пользователь, который вводит данные в форму, а соц. сеть. Регистрация в данном случае достаточно прозрачная, т.е. не видна пользователю. Схема примерно следующая (без особенностей работы Oauth-протокола):


    1) Пользователь выбирает вход через соц. сеть.
    2) Происходит обращение к странице авторизации в этой соц. сети, если человек еще не авторизовывался там. После ввода данных, а если он ранее авторизовывался, происходит запрос на разрешение использования его данных.
    3) Если человек отказывается, то на этом конец. Если дает согласие, то выполняется перенаправление на указанную в настройках Oauth страницу сайта.
    4) У каждого пользователя в соц. сетях есть свой уникальный идентификатор, который можно запрашивать. Для своей таблицы 'users' нужно добавить пару дополнительных полей (например, вот такие): auth_via (enum('native, 'vk', 'mailru', '...')) - для обозначения типа регистрации пользователя, и social_id - здесь будет храниться уникальный идентификатор в соц. сети. Если нужно хранить какие-то специфические данные этого пользователя из соц. сетей, то можно создать доп. поля для этих данных.
    5) После того, как пользователь дал разрешение на использование его данных, необходимо запросить нужные данные от соц. сети, в т.ч. и идентификатор пользователя в соц. сети. Вот здесь и начинается невидимый процесс регистрации. Нужно проверить есть ли в БД пользователь с таким social_id, если нет, то вставляем social_id, данные пользователя из соц. сети, по необходимости, в БД. Все, пользователь зарегистрирован.
    Если же данные о пользователе есть, то необходимо запросить актуальные данные из соц. сети, сравнить их с теми, что в базе и если они изменились, то обновить их и в своей базе данных, если нет, то просто переходим к следующему шагу.
    6) Создается сессия с данными пользователя.

    Таким образом, к существующей таблице "родной" регистрации пользователей сайта присоединяется, условно говоря, таблица, поля, необходимые для регистрации/авторизации через соц. сети., и друг-другу они не мешают.

    ca4a4b263fd1424085988c9deaeb6d5b.png

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

    'AND WHERE `auth_via`="native"'

    , чтобы исключить пользователей, зарегистрированных из соц. сетей.

    Как видно, для каждого пользователя в таблице создается внутренний (внутрисайтовый, если так можно выразиться) первичный, автоинкрементный ключ. Соответственно, нет разницы для логики сайта между пользователем, зарегистрированным через соц. сеть и через сайт. Если говорить об интернет-магазине, то, для привязки заказов к пользователю, можно использовать единый, внутренний идентификатор ID.
    Ответ написан
    3 комментария
  • С чего начать изучение C++?

    nekipelov
    @nekipelov
    Когда-то собирал подборку, некоторые уже были упомянуты, но все же:

    Основы программирования на С++. Том 1
    Essential C++
    Автор: Стэнли Б. Липпман
    Издательство: Вильямс
    Серия: C++ In-Depth
    ISBN 5-8459-0349-1; 2002 г.

    Язык программирования C++. Вводный курс.
    C++ Primer
    Автор: Стенли Б. Липпман, Жози Лажойе, Барбара Му
    Издательство: Вильямс
    ISBN 5-8459-1121-4, 0-201-72148-1; 2007 г.

    Эффективное программирование на С++
    Accelerated C++
    Автор: Эндрю Кениг, Барбара Му
    Издательство: Вильямс
    Серия: C++ In-Depth
    ISBN 5-8459-0350-5; 2002 г.

    C++: базовый курс
    C++ from the Ground Up
    Автор: Герберт Шилдт
    Издательство: Вильямс
    ISBN 978-5-8459-0768-4, 5-8459-0768-3, 0-07-222897-0; 2008 г.

    Искусство программирования на C++
    The Art of C++
    Периодическое издание
    Автор: Герберт Шилдт
    Переводчик Татьяна Коротяева
    Издательство: БХВ-Петербург
    ISBN 5-94157-544-0, 0-07-225512-9; 2005 г.

    Как программировать на C++
    C++: How to Program
    Автор: Х. М. Дейтел, П. Дж. Дейтел
    Переводчик В. Тимофеев
    Издательство: Бином-Пресс
    ISBN 978-5-9518-0224-8, 0-13-185757-6; 2008 г.

    или сокращенный вариант:

    Как программировать на C++
    Small C++: How to Program
    Автор: Х. М. Дейтел, П. Дж. Дейтел
    Переводчик В. Тимофеев
    Издательство: Бином-Пресс
    ISBN 978-5-9518-0338-2; 2009 г.

    Программирование на C++ (+ CD)
    C++ Programming for the Absolute Beginner
    Автор: Дирк Хенкеманс, Марк Ли
    Издательство: Символ-Плюс
    Серия: Опыт не требуется
    ISBN 5-93286-050-2, 1-93184-143-8; 2005 г.

    Объектно-ориентированное программирование в C++
    Object-Oriented Programming in C++
    Автор: Р. Лафоре
    Издательство: Питер
    Серия: Классика Computer Science
    ISBN 978-5-94723-302-5; 2007 г.

    Философия C++. Практическое программирование
    Thinking in C++. Volume Two: Practical Programming
    Автор: Брюс Эккель, Чак Эллисон
    Переводчик Е. Матвеев
    Издательство: Питер
    ISBN 5-469-00043-5, 0130353132; 2004 г.

    Программирование на C++
    Автор: Коплиен Дж.
    Издательство: Питер
    Серия: Классика Computer Science
    ISBN 5-469-00189-Х; 2005 г.
    Ответ написан
    2 комментария