Задать вопрос
  • Как устроен сервис idonethis.com?

    FanKiLL
    @FanKiLL
    Про такую реализацию, вы навряд ли где то что то прочитаете. Это частные случаи и тут нет единственного решения.

    Есть бот, есть база данных, есть веб интерфейс. Бот заносит в базу данные а веб интерфейс их оттуда берёт и показывает. Вот и весь смысл. Как вы это реализуете - зависит от ваших скилзов.

    Evernote есть подобное, они выдают каждому пользователю специальный email куда можно отослать ссылку и evernote её обработает и добавит в блокнот.

    Это не стандартная штука так что общего решения нет, каждый делает как умеет.

    Можно не только через email, а например через твиттер. Пользователь посылает tweet на ваш аккаунт, вы его обрабатываете. Хештеги например #development значит занести в категорию development.

    Вообщем тут можно делать и делать)) и одной реализации нет.
  • На какие темы написать статьи по Ruby/Rails?

    FanKiLL
    @FanKiLL
    Не забудьте потом сюда ссылку запосить, чтобы мы не пропустили её.
    Спасибо.
  • На каком Frameworke написан Хабр?

    FanKiLL
    @FanKiLL
    Не правда, LiveStreet появился намного позже хабра.
    Хабр самописанный и несколько раз переписывался.
  • На какие темы написать статьи по Ruby/Rails?

    FanKiLL
    @FanKiLL
    Я как раз сейчас пишу api на рельсах))
    Там просто проверяем передаваемый токен из вне в before_action
    Например:
    before_action :check_contet_type
      before_action :check_access_token


    Есть конечно нюансы, как например сделать, чтобы если обращаются к api и такого раута нет или происходит 500 ошибка или 404 чтоб отдавалась ошибка в json, а если через браузер обычный запрос, показывала страницу с ошибками.
    Но согласен тема интересная, я за.
  • Какие есть редакторы кода / текста для textarea не wysiwyg?

    FanKiLL
    @FanKiLL Автор вопроса
    Ради 5-8 кнопок, ставить такого монстра?(
  • Как реализовать "Register with Facebook" аналогично Instagram на server-side?

    FanKiLL
    @FanKiLL
    Вот сейчас посмотрел как мы генерировали временные токены.
    Немного переписал подмешиваю туда через каждую цифру одну букву. Вышло примерно так:

    Shuffled Token: X1h4h0N6P6k6n6x9k6q2W|Q2W4A4f4x6K1i3r1T0f5Y2U4Z1x5X3
    Full Token: 1406666962|244461310524153
    Token: 244461310524153
    Created Token TimeStamp: 1406666962
    Created Token as Date: Sat Jan 17 08:44:26 IST 1970
    
    StopWatch: Generate Token running time (millis) 6 milliseconds


    Единственное, что в среднем генерация такого токена занимает 6-7 миллисекунд. Код на java, можно на android использовать.
  • Как реализовать "Register with Facebook" аналогично Instagram на server-side?

    FanKiLL
    @FanKiLL
    @devel787 по сути эти временные токены, что-то вроде капчи.
    Незачто, не знаю если я вам помог, или ещё больше запутал, тут по сути три разных токена, от фейсбука, ваш access_token + временный токен который отсылается и проверяется только на login и register запросах.
  • Как реализовать "Register with Facebook" аналогично Instagram на server-side?

    FanKiLL
    @FanKiLL
    У нас например в одном проекте, для этого генерировались такие временные токены.
    1406640371030010763526548
    Первые 10 цифр это timestamp время когда токен был сгенерирован, остальные 15 цифр, должны проверятся по определённому алгоритму. У нас это было просто, сумма всех 15 цифр должна быть mod 10, то есть делиться на 10 без остатка. Если отстатка нет значит токен валидный.

    Так же имея время генерации токена, вы можете ограничить его жизнь, то есть на сервере проверять timestamp если например прошло больше 5 сек, после генерации такой токен вы не принимаете.

    Это было временное решение, вы можете этот токен как то шифровать, перемешивать или через каждые 3 цифры подмешивать туда букву или какие то символы в виде маскировочного мусора, чтобы враги не догадались))
    Главное потом этот мусор на сервере почистить чтоб получить первозданый токен 1406640371030010763526548
    Можете ввести здесь www.onlineconversion.com/unix_time.htm первые 10 цифр от токена узнать когда он сгенерирован.
  • Как реализовать "Register with Facebook" аналогично Instagram на server-side?

    FanKiLL
    @FanKiLL
    Насчёт третьего пункта ещё скажу, что это пробела всех api где есть открытая часть, например логин/регистрация.
    Вы можете вместе с таким запросом отсылать какой то токен.
    Тем самым клиент подпишет что это запрос от него.
    Как сгенерить такой токен и как его распознать знаете только вы...)
    Сейчас объясню.

    Представьте как проверяют номера visa и других карточек - эти номера никуда не отправляют для проверки - чтоб сверится с базой данных или ещё каким - то хранилищем.
    Сама комбинация цифр - если провести через определённые алгоритм можно сказать валидный номер (не рабочий или есть там деньги) а именно валидный.

    Или как проверяют cd-key программы - тоже в этом духе
    Вот такой токен вы можете отсылать в открытые участки api - для всего другого есть access_token.

    Но если честно, я и сам не знаю как правильно защитить такие участки api.
    Сколько не защищай всё равно, кто то как вы сказали сделает курлом прописав правильные параметры и токены/шмокены.
  • Как реализовать "Register with Facebook" аналогично Instagram на server-side?

    FanKiLL
    @FanKiLL
    1) Да отсылает моб. приложение. После того как вы сделали как написал вам выше человек, повесили коллбек и авторизовались на фейсбуке. habrahabr.ru/post/135342

    2)Да можно в открытом виде, не вижу ничего криминального. Можно зашифровать, благо и клиент и сервер пишете вы, тогда 3 пункт можно не делать принципе - если уверенны в шифровании.

    3)Вот тут действительно проблема. по сути эта часть api у вас будет открыта, так как для логина у человека ещё нет вашего access_token.
    Злоумышленник, может привязать любой ID фейсбука к аккаунту - но он этим ничего не добьётся.
    Но да ладно. Вместе с ID, отправляйте на сервер access_token который выдал вам фейсбук для этого юзера и уже с сервера попробуйте получить например email юзера с api фейсбука - если access_token рабочий и ваш запрос пройдёт, значит юзер прислал верные данные а не просто в curl вбил рендомно id и токен.
  • Как можно узнать imei андроида через код?

    FanKiLL
    @FanKiLL
    Разве это не будет работать только на аппаратах с sim картой.
    Если попробовать такое на таблетах, получишь сплошные нули.
    Тем более, что требуется пермишен android.permission.READ_PHONE_STATE
    А его давать не любят.
  • В чем различие между классом, объектом и экземпляром?

    FanKiLL
    @FanKiLL
    Ну почему же, внутренняя реализация может быть и разная, но конечная цель (возвращаемое значение одно) что у М что у Ж ))
  • Как создать поддомены в Rails?

    FanKiLL
    @FanKiLL
    Соответственно у вас должен присутствовать
    app/controllers/api/posts_controller.rb

    class Api::PostsController < ApplicationController
    end
  • Как создать поддомены в Rails?

    FanKiLL
    @FanKiLL
    Ничего не надо делать и создавать cname записи в домене, рельсы всё сделает сам. Единственное что локально вы не сможете тестить домены.
    Если вы на винде то надо будет поправить host файл и прописать там чтобы 127.0.0.1 матчился на какой то домен.

    127.0.0.1		 sitename-dev.com
    127.0.0.1		 api.sitename-dev.com


    На маке для локалки использовать pow.cx

    constraints subdomain: 'api' do
      namespace :api, path: '/' do
        resources :posts
      end
    end


    Будут работать такие url - api.sitename-dev.com/posts

    namespace :api, path: '/', constraints: { subdomain: 'api' } do
     resources :posts
    end

    или так, будет работать точно также.

    Не знаю как ещё подробней. В офф документации на эту тему действительно мало.
  • Где посмотреть видео про использование Git?

    FanKiLL
    @FanKiLL
    для этого у вас есть файл .gitignore куда можно вносить файлы которые нужно игнорить или целые папки.
  • SSH ключи для GitHub работают на BitBucket?

    FanKiLL
    @FanKiLL
    Не знаю мистика какая-то. Может вы до этого уже работали с другим каким то своим репозиторием и пароль где то закешировался? Больше предположений нет.
  • SSH ключи для GitHub работают на BitBucket?

    FanKiLL
    @FanKiLL
    Так на инстансе у вас же другой ключ.
    Инстанс я как понимаю - это сервер?

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

    Иначе я вероятно не понимаю, что вы имеете ввиду.
  • SSH ключи для GitHub работают на BitBucket?

    FanKiLL
    @FanKiLL
    @ilusha_sergeevich может тогда это открытый репозиторий?
    Если репозиторий открытый можно клонировать свободно.
  • SSH ключи для GitHub работают на BitBucket?

    FanKiLL
    @FanKiLL
    в том что вы можете делать клон по такой ссылке https://username@bitbucket.org/username/repository...
    тогда ssh ключи тут вообще не причём, вас спросят логи и пароль при клоне.

    и есть ссылки вида git@bitbucket.org:username/repositoryName.git вот это уже по ssh и тогда должны быть использоваться ключи.