• Telegram Bot: требует ID пользователя, где его взять?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Дополню Евгений Колотилин - даже если Вы подставите id из внешнего источника - пользователь не увидит сообщений от бота, пока сам ему не напишет впервые.
    Ответ написан
    Комментировать
  • Как лучше управлять 20-ю тысячами маркеров на карте?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    С 20 000 маркеров могут быть варианты.
    Когда маркеров будет хотя бы 200 000 - без вариантов решение с bounds_changed + дополнительная логика на сервере когда маркеров в выдачу явно попадает слишком много (зум на страну условно)
    Ответ написан
    Комментировать
  • Можно ли программами/драйверами для MySQL подключаться к MariaDB?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    у всех форков mysql абсолютно одинаковые протоколы.
    можно.
    Ответ написан
    Комментировать
  • MySQL + GIT как?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    По первому вопросу: https://phinx.org/

    По второму вопросу: если это критически необходимо - дробить проект (и код соответственно) на подпроекты.
    Отдельно админка, отдельно сайт, отдельно какое нибудь внутренее апи с математикой итд.
    Ответ написан
    7 комментариев
  • Куда податься с ТЗ для разработки MVP (аналоги myheritage.com, geni.com, familyspace.ru)?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1. Imho времена когда деньги давали под идею - давно прошли.
    Деньги дают под работающий MVP с понятной монетизацией и четкой динамикой роста.
    Деньги дают под экспертизу человека который разработал проверенную гипотезу.
    Сейчас Ваша методология - не проверенная. Выстрелит или нет - не известно никому. Рыночная её ценность на данный момент - плюс минус те 2 месяца что Вы на неё потратили.

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

    3. Из конкретных нововведений о которых Вы пишите:
    а) патент на визуальное решение в российском праве вряд ли получится сделать, а в американском/европейском затянется на несколько лет минимум, с соответствующими расходами
    б) ограничения системы прав существующие на нынешних сайтах мне кажется вполне логичным и не понятно в чем тут преимущество. Впрочем это моя субъективная точка зрения.

    4. Из предложенных Вами вариантов - либо искать сооснователя, либо сделать презентацию про традиционные ценности™ и пытаться получить что-нибудь в гос.акселераторах.

    PS не хочу судить предвзято, но сочетания фраз
    профессиональный опыт не связан с разработкой интернет-проектов
    и
    адекватное, проработанное ТЗ
    в соседних предложениях вызывает у меня огромный скептицизм.
    Ответ написан
    1 комментарий
  • С какого языка начать изучать программирование?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Правильный ответ - в зависимости от сферы в которой хотите работать.

    Субъективно:
    Хотите в enterprise - учите java.
    Хотите мобильные приложение - objective c & swift под ios / java android sdk для android
    Хотите фрилансить по сайтам - PHP
    Хотите сидеть в студии и писать сайты - php, ruby, python
    Хотите много общаться с бухгалтерией - 1C
    Хотите заниматься frontend - javascript вообще + angular.js в частности.
    ...
    Ответ написан
    5 комментариев
  • Как отсортировать по алфавиту данные (при присутствии кавычек)?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Учтите что решение IceJOKER и Михаил Тодерашко будет работать ОЧЕНЬ медленно на даже на сравнительно небольшой базе.
    Такая сортировка не использует индексы.
    При каждом запросе, для каждой строки будет вычисляться значение функции TRIM, а потом еще и сортироваться.

    Правильное на мой взгляд решение - обновить поле name так что бы в нем не было кавычек.
    Если это не возможно - создать новое поле без кавычек и сортировать по нему.
    Ответ написан
    5 комментариев
  • Какие http коды ошибок возвращать?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Есть 2 точки зрения.
    Классический REST говорит что надо отдавать ошибки в http кодах сервера.
    На практике занимались разработкой api под мобильные приложения несколько лет и столкнулись с тем, что многие библиотеки используемые для работы с апи на мобильных приложениях:
    а) хреново работают с любым заголовком отличным от 200
    b) хреново работают с любыми методами отличными от GET/POST

    В итоге пришли к следующему решению (кусок из внутренней документации):
    84e91208aadc415ea342aa6f822275ea.png
    где code 400 говорит о том что серверу не нравятся какие то данные в запросе, error_code говорит о том что именно не нравится (почта, пароль итд - список свой в каждом методе api)
    Ответ написан
    Комментировать
  • Как запретить повторный запуск скрипта?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Я кстати не понял зачем нужен первый иф, если код в обоих ветках совпадает :)
    Вообще flock не самое правильное решение, советую ознакомиться с вариантами
    www.slideshare.net/fuenteovehuna/web-20-c?related=1
    слайды 34-35

    PS Вообще на 5.6 никаких изменений в этой функции вроде бы нет, php.net/manual/ru/function.flock.php попробуйте посмотреть на параметр wouldblock
    Ответ написан
    2 комментария
  • Как исправить это?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Ну как бы все написано же.
    SQL Вам говорит "в таблице msg нет колонки с названием categories"
    А почему нет? А потому что в коде CREATE TABLE Вы её назвали category

    PS А вообще это выглядит как не очень хороший код.
    Мне кажется a) не стоит использовать sqlite б) не стоит в коде модели заниматься созданием таблиц.
    Ответ написан
    2 комментария
  • Как при JOIN лимитировать данные по одной таблице?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Валидно - никак.
    Конкретно на mysql можно сделать говнокод через group by праймари ключа категории, в этом случае в полях из gallery будет возвращаться случайный кортеж из gallery. Но это поведение зависит от статуса директивы ONLY_FULL_GROUP_BY которую все нормальные люди включают, запрещая тем самым это непотребство.
    Ответ написан
    Комментировать
  • Возможно реализовать обмен "валюты" сайта на другие электронные деньги?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Советую почитать ФЗ-161.
    Заметят мгновенно, т.к все платежки сейчас или под банками или под НКО и соответственно нормы безопасности существенно отличаются от тех что были лет 5 назад.
    Т.е необходимо обоснование почему вы делаете эту выплату.
    Если получатель физлицо - надо или обосновать что это не является его доходом, или заплатить за него 13% подоходного.
    В общем геморроя очень много.
    Ответ написан
    3 комментария
  • Переход на авторизацию только по мобильному телефону?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    DevMan
    Профукал телефон/номер/вырубился роуминг (или его вообще нет) - давай досвидания.

    Как показывает практика - это вообще не проблема.
    Номер телефона восстановить гораздо проще чем украденную почту.

    Я вижу несколько других проблем:
    1) Затраты на отправку смс. Авторизация это достаточно частое событие в общем случае, смс надо будет слать много.
    2) Пользователи с опаской относятся к идее ввода на сайты чего либо пришедшего по смс, все эти истории с подписками чему то научили все таки.
    3) Долгий процесс авторизации. Пока смс придет, пока юзер перепишет код. Если такие условия будут на каком то обычном сайте - я как пользователь плюнул бы и ушел.

    В целом я не вижу причин почему авторизацию надо делать именно через одноразовый код.
    Если приложение с повышенными требованиям по безопасности - нужно использовать и логин пароль, и одноразовый код (т.к телефон могут украсть и авторизироваться)
    Если приложение обычное - лучше использовать вход по номеру телефона и паролю, а смс использовать для восстановления пароля или отправки пароля при регистрации.
    PS
    авторизован, ip занесен в базу, зашел с того же автоматом авторизован, нет отправляем новый код
    Лучше ставить куку и проверять её наличие, дополнительно сверяя IP если кука есть.
    UPD
    Kostik_1993 , DevMan : подтверждение любых критический действий через смс с одноразовым кодом - давным давно стандарт в банковской индустрии и понемногу проникает в остальные. Двухфакторная авторизация (по желанию пользователя в не критичных случаях и принудительно - в критичных), восстановление пароля - отличные кейсы для смс.

    По сути у нас сейчас нет способа иначе проверить пользователя.
    Или приложение на ios с биометрией, или одноразовые смс.
    При выборе нормального оператора связи - номер телефона это единственный способ связи с пользователем который пользователь не может неосознанно потерять на долгое время.
    Ответ написан
  • Сайт для бесплатной отправки СМС с API?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Халявы не бывает ©
    Оператор в любом случае хочет за отправку смс денег.
    Любые сервисы предоставляющий сколько то смс бесплатно - делают это за свой счет в целях рекламы.
    Бесплатной отправки смс всем подряд не бывает.
    Ответ написан
    Комментировать
  • Есть ли альтернатива PHP?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Основная претензия к PHP - огромное количество школьников которые прочитали полторы статьи, посмотрели 3 видео курса, собрали бложег на вордпресс и считают себя программистами.
    Есть некоторые шероховатости и нелогичности, но с каждым релизом их меньше и меньше.
    Я не вижу каких то принципиальных преимуществ у других скриптовых языков.
    Ответ написан
    1 комментарий
  • Можно ли доверить разработку сервиса по работе с финансовыми операциями фрилансеру на удаленке?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Начнем с того что для разработки чего угодно - доступ к счетам не нужен.
    Всегда должна быть четко разделена среда для разработки и production.
    Где то есть явно тестовые счета, где то можно их сделать.
    Соответственно реквизиты для подключения должны задаваться в конфигах и легко меняться при выкладке на боевые сервера.

    При этом у Вас остается вопрос наличия в коде закладок (или не преднамеренных уязвимостей) - но стоимость полноценного аудита кода будет сопоставима со стоимостью разработки.
    Ответ написан
    6 комментариев
  • Как правильно именовать сложные действия в REST API?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Все imho
    1) POST /missiles/[id]/launch мне кажется вполне нормальным
    2) POST /missile/[id]/country/[id] мне кажется вполне нормальным
    3) POST /country/[id]/destroy ;)
    4) POST /parade/start
    Ответ написан
    Комментировать
  • Сколько стоит интеграция с системой оплаты на кассе в магазине?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Потратил когда то 2 года жизни на разработку и запуск аналогичного проекта (система коллективной лояльности в виде мобильного приложения + интеграция с системами в заведениях)
    Писать честно говоря лень, но если наберете меня в скайп dentelis - расскажу голосом с чем Вам предстоит столкнуться и с технической стороны, и с юзабилити, и с точки зрения продаж всего этого.
    Ответ написан
    Комментировать
  • Если сотрудник работал без договора, является ли с юр. точки зрения написанный им в процессе работы код собственностью компании?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Есть отличная статья, ознакомьтесь: geektimes.ru/post/173265
    Особенно с пунктом 5
    Ответ написан
    Комментировать
  • Как лучше сделать MySQL базу данных типа account - key - value?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1) Без острой нужды я бы не стал класть в базу json. Особенно в mysql/sqlite. Это вот прямо источник кучи геммороя и проблем с произвордительностью когда выяснится что объект все таки можно для экономии ресурсов читать/писать не целиком.
    2) Если у Вас стоят ограничения в стиле "доступно только это" - значит у Вас явно нет каких то ощутимых нагрузок, так что делайте как угодно, начнутся живые проблемы - перепишите на postgresql/redis/... в зависимости от ситуации
    Ответ написан
    Комментировать