• Скриншотер для Mac с прямой ссылкой на изображение?

    hbuser
    @hbuser
    Почему про Clip2net забыли?..
    Ответ написан
    Комментировать
  • Windows or Mac для разработки?

    hbuser
    @hbuser
    Отвечая на основной вопрос - да, есть.
    Можно долго ругаться на Mac OS. Она действительно очень неудобна после Windows. Нужно постоянно что-то допиливать, придумывать. То программы нет под MacOS, надо устанавливать что-то, чтобы запустить программу, то еще что-нибудь. То база данных нужной программы под Windows не совместима с MacOS. Элементарно, всю жизнь печатаешь десятипалым слепым, а тут точка с запятой не там, где надо. Есть объективные моменты. Но лично для меня последней каплей в сторону Mac'a стало вот что. Использую Laravel, там в недрах используется установщик пакетов, который генерирует нереальные по длине пути, которые в наложении на ограничение по длине пути в Windows, вызывают ошибки при работе в программе. Я неделю бился с этой белибердой, весь stackoverflow перечитал. Не победил, чтобы это было просто, легко воспроизводимо. И второе. При настройке Vagrant с использованием virtualbox под windows были проблемы, задокументированные в багтрекере баги, которые касались именно Windows. Которые, как ни странно, висят давно и проблема периодически повторяется (проблема Virtualbox'а). Это тоже был трындец. Пришлось искать 'костыли'. Достала подготовительная работа, хочется инструмента, а проблем хочется связанных не с инструментом, а с реализацией логики имеющихся задач. Перешел на Mac. Не фанат и не ругатель этой экосистемы, но некоторые вещи раздражают отсутствием логики, хоть и лучшие умы работали над ней. Но для целей разработки все-таки отлично подходит. Тут и беспроблемность работы, близкий к телу терминал, UNIX'овые возможности, хорошее зарубежное коммьюнити, и пр. К тому же, а для меня это важно, MacOS-софт более красив. Испытываешь какое-то эстетическое удовольствие. Все-таки, основное средство ввода информации для человека - это зрительный канал.

    Update. Энтузиазма убавилось. Абсолютно нишевый продукт. Не буду перечислять минусы, их много, но вкратце опишу. Пользуюсь только для разработки. Работать на нем можно либо дизайнером, либо разработчиком, либо видео верстать. Нормальная работа в общепринятом понимании, когда вы запускаете любые программы, которые вам попадутся: какой-нибудь софт для проектирования гидравлических систем, например, от производителя и пр. софт от других производителей, 1С, Консультант, разные программы учета и пр. классический софт для рабочего компьютера - это беда. Паралели и пр. хрень быстро надоедает, надоедает постоянно что-то запускать, переключаться, делать лишние движения. Это превращается в ...дец. Многие вещи в Mac OS нелогичны. Безотносительно к Windows, просто нелогичны. Мак также тупит, виснет, славливает "синий экран смерти" (только он не синий) и кто сказал, что это редкость, очень на это надеялся (за те деньги, что они берут, я хотя бы не должен этого замечать, но нет, крашится, виснет, надо перезагружать и перезапускать кучу софта, хочется пожаловаться - некуда), но нет, в печенке уже стоит известная проблема со вторым монитором. Многим софтом удобнее пользоваться под Windows. Microsoft Word - стандарт де факто в деловом мире - это очередной кабздец. Фотошопом и иллюстратором удобнее пользоваться под Windows. Проблема с принтером, который печатает без проблем только из pages. В соответствии с моими нуждами я не могу делать все под одной системой, поэтому приходится пользоваться двумя (windows, mac). А это тоже какая-то хрень. Так и до третьей и четвертой системы недалеко. Низкий поклон Эпплу, что они смогли сделать настолько обычный продукт за такие неадекватно большие деньги (технический дизайн мне вообще никуда не уперся, не люблю, когда техника на виду, убираю все в техническое помещение, чтобы глаз не мозолило, на виду только устройства ввода и вывода, поэтому кастомный аппаратный дизайн мак мини, аймака мне как козе баян, для меня это инструмент, а что там нарисовано, яблоко или апельсин, мне..., в общем понятно), смогли всех убедить в том, что это не только нужно покупать, но это еще выделает вас среди прочих потребителей. Гениально. Простой домохозяйке - очень дорогая игрушка для серфинга интернета. Знающему человеку - инструмент для конкретных вещей. Как универсальное устройство - нет. Это как машина выходного дня. С ней хорошо, но и без нее можно. Макбук уже внес свою порцию раздражения и лежит без дела. Хочу быстренько кино посмотреть - х... мне, не подключишь самый обычный hdmi к нему без дополнительного развода себя любимого на деньги и без переходника, который хрен пойми где валяется. Фильм на флешку копируется адски долго. Любой телевизор поддерживает NTFS, а на маке это удовольствие платное, ладно платное - медленно до злости. Наверное, каждая микроволновка поддерживает NTFS. Короче, только для серфинга интернета и для просмотра онлайнового видео. На этом с макбуками закончено. Обновление не планируется. Как калькулятор и интернет-просмотрщик еще очень долго прослужит.
    Apple вообще ограничивает меня как пользователя в разных вещах. Не люблю этого. к iPhone не могу подключить автомобильный сканер (охренели ребята-ограничители). Флешку записать не могу. Основной компьютер - это тоже ограничения по мелочам. То не запустишь, это не можешь сделать, что-то долго, что-то неудобно и нелогично. Зато шрифты со сглаживанием и есть с десяток красивых софтин.
    Очень нишевая хрень, по-другому не скажу. Для своих конкретных целей. Не панацея, со своими плюсами и минусами, если знаете, зачем он вам, надо брать. Если нет, то точно можно прожить и без продукции apple, т.к. маржинальная модель Apple вносит свой отпечаток. Не универсальная система на все случаи жизни. Три варианта применения указал выше, плюс интернет браузинг. Не важно, есть деньги или нет, если не жаль переплачивать за дизайн и визуальные плюшки, то отличный вариант. Для разработчика, даже не под iOS, действительно находка, т.к. система все-таки UNIX, длинные имена файлов, коммьюнити вокруг разработки на мак и пр. и пр. мелочи. Это да. У меня он свою узкую нишу занял.
    Это все в разрезе взгляда на технику как на инструмент, а не как на объект для ... (вставить свое).
    Ответ написан
    Комментировать
  • Какие менеджеры паролей позволяют хранить пароли локально и подходят под описанные требования?

    hbuser
    @hbuser Автор вопроса
    Резюмирую.
    KeePass - базовый вариант, на котором после первых ответов остановился.
    Не понравилось юзабилити. Может много, но то, как этим пользоваться - не очень понравилось.
    1password - пропала возможность один раз купить программу и забыть, только подписка. Не может быть полностью заточена под локальное использование.
    Остановился на двух: Enpass и SafeInCloud. Выбрал в итоге Enpass.
    Все так, как я бы это сделал сам. Можно полностью заточить под локальное использование: база на домашнем NAS, синхронизация с ним же, бэкапы туда же. Приятные мелочи в сравнении с SafeInCloud: более приятный экран разблокировки на PC, более приятный интерфейс (хотя по большому счету они почти полные аналоги друг-друга; сначала даже хотел поддержать SafeInCloud, т.к. это отечественная разработка, но потом выбрал второй, о чем дальше). Качественные плагины для браузеров, работает на всех необходимых мне системах: MacOS, Windows, Android. Удобная подстановка паролей на телефоне. Модель ограничений в обоих приложениях одинакова и связана она с мобильным приложением. И вот тут начинаются отличия. На SafeInCloud это ограничение по времени. А на Enpass - ограничение по количеству элементов (паролей), т.к. на мобильном телефоне мне не нужны все пароли, то для меня этот вариант предпочтителен. Можно было бы закрыть глаза на это, учитывая стоимость обоих: Enpass - 600 р., в то время как SafeInCloud - 200 р., но есть еще одно "но". Enpass позволяет синхронизировать базу через WiFi, чего не может SafeInCloud. Итог - Enpass.
    Кстати, использование подстановки по отпечатку пальца в телефоне просто бесподобна.
    P.S. Вот тут обзор - www.reviews.com/password-manager , кстати, единственный из троицы без регулярной составляющей и с возможностью работы в "офлайне".
    Ответ написан
  • Чем обработать фото после загрузки?

    hbuser
    @hbuser
    image.intervention.io - рекомендую.
    Ответ написан
    Комментировать
  • Программируемый станок для формовки деталей кузова?

    hbuser
    @hbuser
    Не очень хорошо ориентируюсь в теме, но уже вижу трудности. Тут или литье или специальный пресс. Не думаю, что существует универсальный пресс. Если даже предположить, что он есть ( а технология эта должна быть очень не простой), то использовать можно только для строго вертикальной формовки. Но если есть углубления под углом, то про универсальность очень сложно вести речь с технической точки зрения. Судя по различным репортажам об автомобильных производствах, даже там такого нет. Просто пресс. Просто мысли вслух...
    Ответ написан
  • Проверка данных. Насколько целесообразно делать так?

    hbuser
    @hbuser
    Что именно вы имеете в виду под бредом? Производительность, красота, логичность, минимальное количество строк кода, отсутствие повторений, ... .
    Можно было бы записать немного по-другому, но и то что есть - не сказать, что это бред. Просто код. Обыкновенная проверка.
    Это не какой-то требовательный к ресурсам код, не что-то особенное. Повторюсь... просто код.
    P.S. Если недостатки на ровном месте искать, то это только если фен-шуй за уши подтягивать...
    Ответ написан
  • Во сколько лет лет можно принимать платежи на своём сайте?

    hbuser
    @hbuser
    Wallet one позволяет вам зарегистрировать кошелек? Посмотрите их требования, они обязаны работать в соответствии с законодательством. Если вы удовлетворяете всем условиям и можете создать аккаунт, значит можете принимать деньги. Другое дело с ИП. Если вы получаете доход, а это коммерческая деятельность, то вам необходимо заниматься этим в соответствии со все тем же законодательством. Если вы занимаетесь коммерческой деятельностью, то регистрировать ИП или не регистрировать - ваш выбор. По общему правилу и правильно - регистрировать (это если отвечать конкретно на ваш вопрос, т.к. не ИП единым...) Можно и не регистрировать, но нужно ознакомиться с последствиями, подумать на тему того, готовы ли вы с ними смириться, и сделать выбор в пользу того, что вам подходит.
    P.S. Если речь про работу за вознаграждение, то есть вариант работы по гражданско-правовому договору (грубо говоря, берете на себя функции подрядчика). Вот тут можете почитать о сопутствующем - www.garant.ru/consult/nalog/500931
    Ответ написан
  • Какие ресурсы помогут в изучении английского языка для веб-разработки?

    hbuser
    @hbuser
    Как обычно - свои пять копеек. Истины и приемы элементарные, но тем не менее...
    Вы говорили, что не все слова встречаются в словарях. Бывает, но очень редко. И то, в большей степени зависит от словаря, а именно от его объема. Все времена знаете, словарный запас немаленький - это уже очень немало. Все зависит от автора, но, как правило (обучающая литература по определению должна быть простой по изложению, т.к. раскрываются неизвестные ранее для читателя темы и текст и без излишней академичности языка сложен для понимания; это мое личное замечание, не претендую на абсолютное знание всех существующих текстов), тексты достаточно просты для понимания. Основной непонятный момент при вашем уровне знаний может быть только вот в чем... Бывает, что знаешь перевод слова, но нет возможности провести параллель с русским языком, т.к. устоявшаяся терминология имеется и в одном языке и в другом, и не всегда ясно как одно связано с другим (либо какой-то речевой оборот, который сложно п ). В таком случае я бы посоветовал вот что. Поставьте на компьютер, например, Abbyy Lingvo (у него хорошие словари, многие переводчики им пользуются). Программа может показывать перевод слов в текстах. Это немного автоматизирует и упростит перевод неизвестных терминов. А параллели между терминами в языках поможет провести Google. Зачастую достаточно написать слово и намек на контекст его использования. А во многих случаях терминология в русском языке - это калька с английского. Так что не все так сложно.
    Если вернуться к вашему вопросу, то нельзя указать какой-то конкретный всеобъемлющий ресурс. Технических тем очень много. Каждую в рамках одного ресурса затронуть очень сложно. Единственным значимым источником информации могут служить словари. Важно, что все ваши попытки изучения должны иметь прикладной характер (нужно быть, наверное, гением, чтобы изучать что-то в вакууме). Т.е. сначала должен быть текст (тема) для чтения и понимания, и только потом работа с конкретным текстом и точечная работа со словами и оборотами. Не иначе... Хотя... можно и иначе, но это сложно, если заранее неизвестна предстоящая тема для чтения.
    Ответ написан
    Комментировать
  • Какой php фреймворк наиболее прост в освоении?

    hbuser
    @hbuser
    Мои пять копеек. Laravel - молодой фреймворк, но современный и очень хорошо проработан. Поддерживает много разных современных плюшек изначально, из коробки (например, PSR-4, composer, как основное средство установки расширений и пр.), на которые некоторые фреймворки, которые существуют больше, чем Laravel только перебрались. Отличается тем, что в нем очень многое достаточно человекопонятно и логично. Создан быть простым. Многое может. Создано много расширений для него (по сути, это любое расширение, которое можно установить с помощью composer, а это 77 тыс. штук расширений, адаптированное для Laravel, что тоже не сложно, но можно и без этого. Не будет сильно удобно, но жить можно.), а если чего-то нет, то packagist предложит все, что душе угодно и установить это дело 2-х минут. Около него очень быстро продолжает расти сообщество единомышленников. Очень много информации по нему на stackoverflow и вообще в интернете. Есть IRC-чаты, в которых много понимающих людей и можно получить помощь в любое время дня и ночи. Есть ребята, которые посвящают себя урокам по нему и делают это очень качественно. Возьмем того же Jeffrey Way. Красавец в плане подачи информации и произношение отличное, американское, не британское. Слушать одно удовольствие. На западе про него знают и разработчики востребованы, у нас его знают плохо. Только относительно продвинутые и открытые новому разработчики. Я настоятельно рекомендую этот фреймворк. Он прост - раз. Он научит работе с различными современными сопутствующими технологиями. Например, из коробки доступен box для vagrant. А это уже немного другой уровень в сравнении с WAMP на Windows.
    Сейчас на базе Laravel уже и микрофреймворк доступен.
    Кстати, в IRC можно задать вопрос и самому автору.
    Еще момент. Автор не городил своих велосипедов. Это качественный продукт. Многое хорошо работающее и хорошо себя зарекомендовавшее там из Symphony, очень многое. Своеобразная квинтэссенция существующих наработок, технологий + свои наработки и своя логичная интерпретация работы с фреймворком.
    Ответ написан
    2 комментария
  • Как открыть свой онлайн университет?

    hbuser
    @hbuser
    Ищите в направлениях:
    - регистрация негосударственного образовательного учреждения
    - лицензирование образовательной деятельности
    И пара ссылок из гугла:
    pravo.news/administrativnoe-pravo-rossii-kniga/dey...
    www.center-bereg.ru/l259.html
    Консультант плюс вам в помощь. Вопрос очень обширный, чтобы можно было развернуто ответить в рамках формата данного ресурса.
    Ответ написан
    Комментировать
  • О скорости SATA3 SSD на SATA2 контроллере. Есть ли резон?

    hbuser
    @hbuser
    Озадачился этим же вопросом.
    Могу только процитировать абзац из хорошей статьи.

    Очевидно, что вы получите заметный прирост к отзывчивости системы, даже используя разъём SATA 3 Гбит/с. На практике интерфейс 3 Гбит/с не сдерживает производительность основных приложений. Интерфейс SATA III вступает в игру в синтетических тестах, достигающих технологических пределов, в задачах рабочих станций/серверов или в во время передачи больших объёмов данных с SSD на SSD.

    Источник: www.thg.ru/storage/ustanovka_ssd_v_sistemu_s_sata_...
    Статья - более чем исчерпывающая. В отличие от ответа, который помечен решением, там имеются доказательства.
    Ответ написан
    Комментировать
  • Постраничная навигация или подгрузка?

    hbuser
    @hbuser
    Добавлю свои пять копеек по поводу удобства.
    Случается такая забавная штука, даже на достаточно популярных ресурсах.
    В футере имеется ряд ссылок, дублирования которых нет в верхней части страницы. И на сайте нет стандартной постраничной навигации. Так вот, когда пытаешься до этого футера добраться, то, естественно, ничего не выходит, он постоянно убегает. Очень забавно это выглядит.
    Браузер может начать тормозить, если содержимого много, а то и совсем вылетать.
    Возможно, имеет смысл реализовывать эту "модную фичу" там, где идет постоянный поток оперативной информации и не очень важно, что было неделю или две назад, т.к. это удобно. Если требуется четкая навигация по некому набору информации, то сделать это будет достаточно сложно. Как вариант, можно сделать для архива отдельную страницу со стандартной навигацией.
    Ответ написан
    1 комментарий
  • Где взять хорошую литературу по проектированию веб-приложений (сайтов)?

    hbuser
    @hbuser
    > - проектирование сайтов с учетом высокой нагрузки

    Бутылочным горлышком в работе любого сайта является база данных. Для этого есть отличная книга - MySQL. Оптимизация производительности (Бэрон Шварц). Подчерпнете большое количество информации об оптимизации под высокие нагрузки. Отличный труд на эту тему. Поймете то, что написано в книге - сможете создавать высоконагруженные проекты. Эта книга - настольная книга.

    > - лучшие алгоритмы оптимизации узких мест включая советы по оптимизации запросов к базе

    Та же книга.
    > - безопасность (sql inj, xss)

    Курсы от центра Специалист (Проектирование безопасности веб - сайтов и эффективная защита от атак)

    - роутинг

    Тут только брать какой-нибудь фреймворк и разбираться как работает. Догматов тут нет. В книгах про это не пишут. Роутинг - это логическая часть веб-приложения. Поэтому только фреймворки и уроки на тему создания сайта с нуля.

    - взаимодействие с сервером и советы где лучше применять с целью оптимизации

    Где лучше применять что?

    - кеширование в деталях и без прикрас (затрагивая аспекты безопасности)

    Какое именно кеширование интересует?
    Ответ написан
  • Что выбрать для написания web-страницы с авторизацией и работой с базой данных?

    hbuser
    @hbuser
    Я свои пару слов тоже внесу. Ответчики какие-то оторванные от мира. Какой С#.NET, какой Java? С дуба рухнули? Я понимаю, что каждый одеяло в свою сторону тянет, но человек с этим никогда не сталкивался. Вы что ему советуете? Чего-то стоящего с чего можно было бы начать изучение я здесь не увидел.

    Стандартных для веб-разработки является стек программ xAMP (где x - название операционной системы). Apache, Mysql, PHP. Львиная доля веб-проектов разрабатывается с их помощью. Поэтому начинайте изучать именно их. И оставьте в покое Java. :) Не нужен он вам. Использовать какие-то CMS не советую совсем. Лучше начать с "кирпичиков".

    Для начала сделайте (если нет желания что-то создавать на каждом этапе изучения, то просто изучите это) статический сайт на HTML и CSS. Это первое с чего надо начать. Потом добавляете PHP сюда. Потом JS. Не используйте чистый JS. Используйте Jquery - самая популярная в мире библиотека для разработки разных "динамичностей" на сайте (AJAX, разные события, слайдеры, движульки). Для jQuery существует очень много разных плагинов. Обратите внимание на безопасность сайтостроения. После того как поймете эти штуки можно начинать пользоваться фреймворком. Из фреймворков советую Laravel (объективно хорош, вокруг него собралось большое сообщество, вдохновлен Ruby, а Ruby считается чуть ли не эталоном по "хорошести", логичен, мощен и прост в использовании). Для разработки советую использовать Sublime text.

    С чего начать изучение. Есть курсы Евгения Попова, которые очень сильно ругают и не зря. Но нужно отделять зерна от плевел. Со своей задачей он справляется хорошо - дать быстрый старт в разработке. А ошибки и пр. несовершенство его кода будете исправлять потом. Благодаря этим курсам можете обрести начальное понимание. Далее, советую курсы от центра Специалист по веб-разработке (у них и про безопасность сайтостроения и про настройки сервера и про jquery и про php есть, полноценные, очень качественные курсы). А, вообще, знаете что?.. Начните с них и если только что-то вам не будет понятно, ну совсем, то только в этом случае вернитесь к Попову... в крайнем случае. Специалист дает отличную базу. Это полноценные курсы с методичками и заданиями.

    Порядок изучения:
    HTML и CSS уровень 1
    HTML и CSS уровень 2
    PHP уровень 1-4 (Борисова Игоря Олеговича, у него интересный говор, но все очень хвалят за прекрасное преподнесение информации)
    Проектирование безопасности веб - сайтов и эффективная защита от атак

    JavaScript. Уровень 1. Основы веб-программирования -
    JavaScript. Уровень 2. Расширенные возможности -
    JavaScript. Уровень 3б. AJAX. Разработка веб - приложений для Web 2.0 -
    Специалист. Использование jQuery. Уровень 1. 2013 год
    30-days-to-learn-jquery от Nettuts.

    То, что помечено минусом, можно пропустить, если покажется, что много всего. Но это полный курс. Курса по Jquery - должно хватить. И то, я бы его заменил на это - https://courses.tutsplus.com/courses/30-days-to-le... Отличнейший ресурс tutsplus, но это в том случае, если нет проблем с языком. У Джефри есть очень много всего, очень качественный материал.

    Все то, что описал - платное. Но тут я закончу говорить об этом и вы меня поймете, потому, что , я надеюсь, не сочтете это проблемой.

    Для разработки под Windows исполользуйте OpenServer.

    Есть еще следующий этап изучения и организации всей этой котовасии, но вам этого хватит, чтобы полно изучить тему, а после можно будет вернуться к следующему этапу. :)
    Ответ написан
    6 комментариев
  • Какой есть пакет для Laravel 4 для транслитерации русского в латиницу?

    hbuser
    @hbuser
    А на packagist не пробовали заходить?

    https://packagist.org/packages/jbroadway/urlify

    Поддержка русского языка. Устанавливается штатными для laravel средствами (composer).
    Ответ написан
    Комментировать
  • Laravel - как ограничить выводимые ошибки?

    hbuser
    @hbuser
    Попробуйте в config/app.php выставить директиву debug в false.
    А вообще, как и сказали, надо передавать переменную или проверять ее наличие перед использованием.
    Ответ написан
    Комментировать
  • Как реализовать авторизацию в Laravel?

    hbuser
    @hbuser
    Попробуйте так:

    Auth::loginUsingId($user->id, true);

    laravel.com/api/source-class-Illuminate.Auth.Guard...

    А вообще, на будущее, у Laravel есть irc-комната. Будьте уверены - там вы получите ответы на любые вопросы. Данный сайт - не лучшее место для вопросов по Laravel.
    Ответ написан
    3 комментария
  • Хочу добавить на свой веб-сервис OAuth2 авторизацию, если ли материалы, как это сделать?

    hbuser
    @hbuser
    Как и сказали, здесь или здесь можно почитать о самом принципе авторизации. Могу подтвердить слова в первой ссылке о том что, процедура, описанная там, применима к любым соц. сетям, т.к. используется один и тот же протокол. Только ссылки будут другие. А если говорить о конкретной технической реализации, то - вот здесь. Там и общая информация и конкретно по всем необходимым для русского человека соц. сетям. Мне помогло. Плюс, можете глянуть сюда. Это мой вопрос. Никто ответа не дал, поэтому сам себе ответил. Думаю, этой информации будет достаточно. Мне хватило.
    Ответ написан
    Комментировать
  • Каковы основные принципы регистрации и авторизации через социальные сети 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 комментария