• Рационально использовать соц. сети для такой тематики?

    riky
    @riky
    Laravel
    когда у вас появится еще и группа, у вас появится вторая проблема - как получить трафик в группу. сам он туда точно не придет.
    Ответ написан
    Комментировать
  • Как работает приложение (типа вк, инстаграм и т.д.)?

    riky
    @riky
    Laravel
    опишу про вк.
    приложения работают через апи, а там только методы для запросов на сервер.

    но для сообщений например у них есть long pulling vk.com/dev/using_longpoll
    Принцип работы Long Poll соединения заключается в том, что сервер, получив запрос, удерживает его до тех пор, пока не произойдёт событие или не истечёт время, указанное в параметре wait

    то есть делаете запрос и ждете - когда запрос выполнится/завершится - либо произошло событие либо ничего.

    Для мобильных приложений есть пуши vk.com/dev/android_push но там только сообщения и друзья.

    Если нужно мониторить например лайки или комменты - то нужно время от времени дергать ленту событий.

    то есть как видим соц сети используют разные механизмы для разных ситуаций.

    upd:
    для событий связанных с группами (новый коммент, сообщение в группу, новая тема и тд) администратор может добавить callback url, и все эти события будут моментально сыпаться на него. https://vk.com/dev/callback_api
    это также позволяет постоянно не дергать апи в цикле.
    Ответ написан
    2 комментария
  • С чего начинать проектировать приложение?

    riky
    @riky
    Laravel
    Судя по вопросу ты не можешь выбрать что было в начале яйцо или курица. вначале не было ни того, ни другого, была другая абстрактная птица, которая может даже не летала, но как то ее дитя через несколько поколений мутировало в курицу.

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

    сделай например для начала заготовку, авторизацию (простой интерфейс + табличку в базе), потом добавление задачи в црм (+ табличку для нее), для начала можно с простейшим дизайном.

    Тебе сейчас нужно просто начать чтото делать. И делать понемногу все и фронтенд и бекенд и базу. Не бойся потом все можно отрефакторить/переделать. У тебя мало опыта чтобы сразу сделать хорошую архитектуру, но это не значит что нельзя начинать.

    И то что было в начале уродцем постепенно превратится в курицу, несущую золотые яица

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

    Советую сразу использовать какой нибудь php фреймворк, так хотя бы не придется ломать голову какую архитектуру должен иметь сервер и многие вещи будут уже готовы.

    Успехов.
    Ответ написан
    Комментировать
  • Написание кроссплатформенного приложения (linux/windows) + сервер статистики. Что выбрать?

    riky
    @riky
    Laravel
    Отвечал на второй ваш вопрос, тут также - требования размытые, но по ним видно что язык также любой подойдет.

    По двум вопросам могу предположить, что вы преподователь не ИТ специальности и судя по всему опыта в программировании у вас мало или нет, но есть желание сделать программу для тестирования студентов.

    Могу предложить познакомится с nodejs. на нем можно и десктоп проги писать (NWjs, electron atom) - кросплатформенные и серверную часть (которая к тому же экономна по ресурсам и не грузит). в дальнейшем можно и мобильные приложения (react native)
    плюсы - один язык везде (десктоп/сервер/фронтенд/мобильные) хотя везде будут свои нюансы конечно. и еще плюс - огромное сообщество.

    также многие здесь наверное порекомендуют Python также можно и десктоп писать и сервер, но порог входа будет выше.
    Ответ написан
    Комментировать
  • Что выбрать для написания сервера API?

    riky
    @riky
    Laravel
    У вас требования никакие, подойдет любой серверный язык (в комментах вам каждый напишет свой любимый язык программирования).
    Не совсем понятно что вы имеете под словом "нагрузку держал".
    хотя бы пишите до скольки одновременных сессий?

    PS если десктопы передают только статистику то нагрузки скорее всего там никакой. сразу замечу что такой вариант умные студенты легко взломают, если проанализируют трафик программами типа wireshark и тд. не забудьте хотя бы сигнатуру добавить, так уже посложнее будет, придется декомпилировать чтобы алгоритм понять. Правильнее всего конечно отправлять на сервер только ответы, а уже на сервере решать правильно или нет. Но если у вас тесты не оч серьезные, и их накрутка особо не интересна, то конечно и так можно.
    Ответ написан
    Комментировать
  • Мультипостинг. Публикация фото одновременно в нескольких соц. сетях. Как сделать?

    riky
    @riky
    Laravel
    Есть многочисленные сервисы, kuku io, smmbox и тд. есть разные проги - типа ботов, которые тоже умеют автопостинг.

    погуглите "автопостинг в социальные сети" материалов по теме миллион.

    2-3 часа тратит на выкладывание новых работ

    она там точно только выкладыванием занимается? может непосредственно выкладывание не занимает столько времени, а время тратится на другом (ответ на комменты, подготовка фото и тд)
    Ответ написан
    6 комментариев
  • Какой набор ПО использовать для раскрутки групп Вконтакте?

    riky
    @riky
    Laravel
    аналогов бота дополна помоему.

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

    если планируете сделать качественную долгоживущую группу, пробуйте лучше рекламную сеть или платные/бесплатные посты в смежных по тематике группах.
    Ответ написан
    1 комментарий
  • Как скачать все фотографии собеседника из переписки VK?

    riky
    @riky
    Laravel
    готовых решений не встречал
    можно сделать через вк апи, основная работа через метод https://vk.com/dev/messages.getHistory

    есть хороший опыт с вк, могу посодействовать за небольшую плату - на выходе будет php скрипт способный выкачать все картинки
    Ответ написан
    2 комментария
  • Как резултат цикла выводить снизу вверх?

    riky
    @riky
    Laravel
    array_reverse
    Ответ написан
    Комментировать
  • Парсер с Яндекса в WordPress?

    riky
    @riky
    Laravel
    C яндекса список 5 новостей со ссылками спарсить очень легко.
    но подводный камень в том что яндекс только дает ссылки на другие сайты, и конетнт придется с них парсить.

    а парсить главный контент произвольного сайта это задача over 100 lvl
    Ответ написан
  • Почему не работает сжатие изображения?

    riky
    @riky
    Laravel
    вставьте в начало скрипта хотя бы
    ini_set("display_errors", 1);
    error_reporting(E_ALL);

    увидите ошибки
    Ответ написан
    Комментировать
  • Нужна помощь гиков). Как отправить письмо через 15 лет?

    riky
    @riky
    Laravel
    по моему такое через юристов делается (или нотариусов?).
    можно сервис поискать, но гарантий будет меньше, чем если это будет настоящее бумажное письмо у живого человека.
    Ответ написан
    1 комментарий
  • Как составить регулярку как на qtranslate-x?

    riky
    @riky
    Laravel
    <?php
    
    $html = "<div>
    <img src='/logo.png'>[:ru]Привет мир[:en]Hello World[:]
    </div>";
    
    $lang = 'ru';
    
    echo preg_replace_callback('|\[:.*\[:\]|isuU', function ($find) use ($lang) { 
        if (preg_match('|\[\:' . $lang . '\](.*)\[\:|isuU', $find[0], $matches)) {
            return $matches[1];
        }
    }, $html);


    результат

    <div>
    <img src='/logo.png'>Привет мир
    </div>
    Ответ написан
  • Как правильно искать совпадения с рекулярками вида "*туттекст*тутещетекст*", где * любая последовательность символов?

    riky
    @riky
    Laravel
    а почему во втором случае должно быть совпадение?

    если ТЕКСТ1хотите не обязательным сделать так и пишите

    регулярка:
    .*(ТЕКСТ1)?.*ТЕКСТ2.*
    Ответ написан
    Комментировать
  • Как обрезать первую часть строки?

    riky
    @riky
    Laravel
    проще некуда
    второй параметр можно не указывать
    substr($string, -30);

    php.net/manual/ru/function.substr.php
    см
    $rest = substr("abcdef", -2);    // возвращает "ef"
    Ответ написан
    1 комментарий
  • Mysql - сохранить большое число(10^25) а потом использовать его для вычислений?

    riky
    @riky
    Laravel
    проблема начинается еще в пхп, поэтому и
    записал в varchar(200) но выходит 8.829090563937061e20

    в пхп числа превращаются в тип float и вся точность теряется.

    для точной работы с большими числами используется модуль bc
    пример для сложения php.net/manual/ru/function.bcadd.php
    то есть числа должны быть строго строками

    в mysql вы правильно делаете varchar для хранения, но с такими числами там работать нельзя.

    исходя из задачи надо думать чем можно поступиться
    то есть ... set `data`=`data`/112

    либо доставать в пхп и делить php.net/manual/ru/function.bcdiv.php а потом снова записывать
    либо если это надо для например сортировки то добавить поле double и дублировать в него, точность будет меньше но для сортировки должно хватить.
    Ответ написан
  • Область видимости и замыкания?

    riky
    @riky
    Laravel
    не закрытая i
    for (var i = 0; i < 10; i++) {
       setTimeout(function() {  
          console.log(i); // выведет 10 раз в консоли число 10, почему? 
       }, 100);
    }


    а здесь мы закрываем i в замыкание
    for (var i = 0; i < 10; i++) {
      (function(closure_i){
        setTimeout(function() {  
          console.log(closure_i); // выведет числа от 0 до 9
        }, 100);
      })( i );
    }
    Ответ написан
    Комментировать
  • Где внедрять зависимости?

    riky
    @riky
    Laravel
    пара вопросов на засыпку.
    - кто уполномочен создавать роутер, сейчас он без параметров но потом может быть нужны будут параметры. например роутеру понадобится доступ к базе или банальный путь к файлу с роутами где они прописаны.

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

    а представьте в другом проекте вам нужна будет другая реализация роутера? где вы будете вносить изменения?
    правильно создать новый роутер, и передать в фронт контроллер из бутстрапа, тогда у вас будет потом не тронутый фронт контроллер, иначе если вы будете менять конструктор ФК то этот класс становится не переносимым.

    очень рекомендую также использовать DI контейнер например из симфони
    symfony.com/doc/current/components/dependency_inje...

    тоже его в какой то момент начал использовать когда еще болел темой "я пишу свой фреймворк".
    очень сложная это задача для новичка - сделать правильную архитектуру, хотя для самообучения это супер.
    Ответ написан
    Комментировать
  • Что нужно для хорошей соц. сети?

    riky
    @riky
    Laravel
    Новая соц сеть никому не нужна, но для учебных целей, задача вполне интересная.

    сразу же задумайтесь о масштабировании, т.к. это здесь самая интересная задача.

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

    например все друзья хранятся на отдельном серваке, если для рендера лайков фоток нужно отрисовать ваших друзей в списке, то сервис фоток делает запросы к сервисам лайков и сервисам друзей, получает списки.

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

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

    особо не рассчитывайте что это дойдет до прода (либо делать чтото попроще где мало сервисов, типа твиттера), здесь главное научится принципам, дальше начнется одна рутина.

    ну и отдельное внимание уделить фронтенду, лучше делать сразу так же single page app, на reactjs

    Успехов!
    Ответ написан
    Комментировать
  • Функция похожая на array_shift, только по ключу (изъять элемент массива) - БРЕД?

    riky
    @riky
    Laravel
    достать все не нужное можно и фильтром array_filter

    php.net/manual/ru/function.array-filter.php
    Ответ написан
    Комментировать