Профиль пользователя заблокирован сроком с 17 мая 2024 г. по 17 мая 2025 г. по причине: нарушение правил сайта
  • Как вывести строки из базы данных по месяцам?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Наименее затратный:
    select * from news order by `date_pub` ASC, где date_pub собственно дата публикации новости.
    (Если новости не публиковались задним числом - можно и по id сортировать)

    А далее цикл в php вида
    $last_printed_month = '';
    foreach ($news_list as $item) {
      $curr_month = date('Y-m',$item->date_pub);
      if ($curr_month!=$last_printed_month) {
       echo ($last_printed_month = $curr_month);
      }
      echo $item->title;
    }
    В вашем тестовом примере ничего не написано про год, но мне кажется он нужен :)
    Если хочется писать месяц именно русскими буквами - надо написать крошечную функцию которая сконвертирует порядковый номер месяца - в строку :)
    Ответ написан
  • Как оптимально получить все даты за месяц, за которые есть запись?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    а если вот так
    SELECT DISTINCT DATE(`date`) as result_date FROM
    (
    SELECT `date` as tmp_datetime
    FROM `news` 
    WHERE `date` BETWEEN '2014-01-01' AND  '2014-02-01'
    ) tmp

    UPD
    Я думаю что заводить отдельное поле date - однозначно не стоит.
    Если Вам нужно часто показывать этот календарик - я бы сделал отдельную табличку в которой закешировал даты в которых есть новости (и соответственно её обновлял при публикации/удалении новостей)
    Ответ написан
  • Какие знания/нвыки необходимы для написания своего API?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1) Вопрос использовать ли вообще ООП или нет - он очень условен.
    Без ООП не работает любой современный фреймворк.
    Поскольку MVC таки использовать надо - соответственно ооп у вас будет автоматом)

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

    3) API это по сути обычный набор скриптов, отличающийся от обычных страниц тем, что в web страницах вы отдаете html - а в API вы отдаете JSON/XML/что_то_ещё (я лично советую использовать JSON по целому ряду причин, но вопрос в целом холиварен)
    REST API (опять же дефакто массовый стандарт) - это договоренность о некоторых базовых принципах, по сути о форматах запроса, ответа, об отсутствии состояний (stateless)
    Возвращаясь к пункту 2 - многие фреймворки дают автоматизацию в построении rest api, например вот свежая статья с примерами по Yii2 habrahabr.ru/post/240149

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

    4) В любом случае - начните с написания документации для самого себя:
    Какие у вас есть сущности(ресурсы в терминологии rest), опишите их.
    Какие действия над ними может производить клиент.
    По каким условиям клиент может запрашивать фильтрацию каких сущностей.
    Есть ли у вас необходимость передавать сущности не целиком (тоже холиварный вопрос)
    итд

    Прошу прощения если получилось сумбурно, писал одновременно с утренним кофе :)
    Ответ написан
    Комментировать
  • Зачем делать приведение к типу BOOL в конструкции IF?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    и то и то imho говнокод.
    если в переменной подразумевается число - надо проверять его как число, а не делать такие вот преобразования.
    впрочем я достаточно далек от темы, могу ошибаться
    Ответ написан
    2 комментария
  • Что не так с приложением от github для windows?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    попробуйте sourcetree, imho гораздо приятнее
    Ответ написан
    Комментировать
  • Как скрыть сервер?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Я не админ, но тем не менее, как я понимаю:

    Если Вы поднимете на vds свой dns - все равно ip итогового сервера клиент получит.
    Если Вы поднимите на vds какой то прокси - ip фактического сервера скрыть можно, но абузы будут сыпаться на vds уже.
    Последний способ хорош чем что поднять vds с проксей заметно быстрее и проще чем боевой сервер)
    Ответ написан
    Комментировать
  • Как реализовать обновление базы данных на андроиде с сервера?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Если у Вас база обновляется редко, целиком и уже есть инструменты для этого - то можно и файлик на сервер заливать.

    Но классическое решение - сделать REST api, которое будет отдавать контент в мобильное приложение. Заодно в рамках api можно сделать версионность, и отдавать не все данные, а только то что изменилось.
    Ответ написан
    Комментировать
  • Как правильно натягивать страницу на CMS?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Поскольку в общем случае верстку и натягивание на cms делают разные люди - то верстальщик делает html макет в котором какие то тестовые данные забиты статикой, а тот кто натягивает уже нарезает это на кусочки, вставляет вывод из базы итд.
    Ответ написан
    Комментировать
  • Как сделать редирект в контроллере с помощью ajax?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1. Почитайте основы клиент-серверных технологий вообще phpfaq.ru/na_tanke

    2. Ответ нет. Редирект затронет очевидно же только ajax запрос.
    Если вы хотите редиректнуть уже загруженную страницу - вам надо это сделать из js.
    Ответ написан
    Комментировать
  • Подскажете умный и надежный маршрутизатор с USB 3G/4G, WiFi 2.4 и 5, DynDNS?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    У меня ASUS RT-AC68U вроде бы умеет все что Вам нужно
    Ответ написан
  • Как после submit, редиректить на нужную страницу?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    В коде который отвечает за /actions/registration/ пишите что то вроде

    <?php
    
    if (count($_POST))
    {
    
      ...какой то код регистрации
    
     header('Location: http://mysite.com/link/to/redirect');
     die();
    
    }
    Ответ написан
    2 комментария
  • Как запустить сервис, который постоянно опрашивает по апи другие сервисы?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Если N это хотя бы минута или больше - то скрипт который опрашивает гуглкалендарь можно и нужно запускать по крону.
    Ответ написан
    Комментировать
  • Как определить узкое на сервере?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Раскидайте по коду таймеры, далее по вкусу - можно их писать куда нибудь, можно просто паралельно с тестом рукам открыть код и посмотреть результаты.
    По крайней мере будет понятно где тормозит. Сейчас явных для решения явно не достаточно.

    Гипотетически (версия из головы) может например быть какой то кривой кеш, который захлебывается, постоянно перегенерится - вот и загрузка 100%

    upd еще гипотетическая версия - у вас например есть какие то тяжелые транзакции которые мешают разным потокам скрипта.
    Ответ написан
    2 комментария
  • Как передать переменную в другой файл?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Вопрос с кучей придуманных ограничений.
    1. Почитайте про MVC. И код понятнее станет и читабельнее, и упоминаний страниц не будет.
    2. Если Вы хотите без перезагрузок - вам нужно написать js код, который при изменении формы будет слать ajax запрос и соответственно рендерить его на страницу.
    api.jquery.com/jquery.ajax в самом конце примеры
    Ответ написан
  • Почему может быть разница в показателе отказов Google Analytics и Я.Метрике?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Внезапно wiki https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BA%D...
    Если пользователь просмотрел только одну страницу сайта, то счётчик Google Analytics посчитает такое посещение как «отказ». Для уменьшения значения показателя отказов в панели аналитики за счёт учёта таких посетителей существуют специальные коды скриптов.
    Ответ написан
    Комментировать
  • Как правильно разработать легкомасштабируемую платёжную систему?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1. Скрипт на крон - однозначно плохая идея. Более правильная история - постоянно работающий скрипт который из очереди получает очередную задачу. Отличный вариант для организации очереди rabbitmq

    2. Слабая связанность компонент это хорошо. В вашем случае однозначно api (не очень правда понимаю метания от php к java но дело Ваше. пишите на том, что лучше знаете) + расширяемые апи для внешних интеграций + интерфейсы цепляемые к апи.

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

    3. С точки зрения быстродействия - Вы достаточно быстро упретесь в базу. Соответственно надо сразу думать о шардировании данных, о том как система будет себя вести в случае выхода из строя одной из задействованных в транзакции нод итд.

    4. Вам важна data consistency. Сразу думайте про железо. Любые сервера горят. Брендовые сервера горят точно так же как и не брендовые. С учетом п3 - я бы делал полностью независимые друг от друга ноды, с физическим дублированием внутри ноды, и привязывал каждый счет к одной ноде.

    5 [философский] Поймите важный момент - без ОЧЕНЬ серьезных инвестиций в маркетинг, проекты не взлетают. Если бы эти инвестиции были - Вы бы тут не писали (не в обиду). Соответственно вероятность того что к Вам внезапно придет огромный поток транзакций - стремится к нулю. К тому моменту когда Вы раскрутитесь - Вы успеете 5 раз сменить архитектуру проекта. Нельзя иметь одну архитектуру у стартапа собранного одним человеком, и у проекта с высокими HL/HA.
    Пишите на чем нравится, у Вас будет куча времени что бы переписать узкие места например на C.

    6 [юридический] Вы в курсе что Вам нужна пачка лицензий на осуществление деятельности в качестве оператора электронных денег и денежных переводов без открытия банковского счёта? :)

    PS Я хочу верить что Ваш вопрос - это задачка для саморазвития. Иначе я не представляю себе что это за система платежная, которую делает один человек, спрашивающий совета как делать такие штуки (опять же не в обиду Вам ) :)
    Ответ написан
    Комментировать
  • Почему не работает __autoload?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Такие вещи надо смотреть поэтапно:

    1. Судя по всему у вас просто не срабатывает автолоад. Попробуйте явно её зарегистрировать в стеке php.net/manual/ru/function.spl-autoload-register.php

    2. Смотреть что у вас оказывается в path, проверять руками реально ли есть такой файл.
    Учтите что на *nix хостингах (в отличии от домашнего windows) регистр символов ЗНАЧИМ

    3. Мне кажется странным делать echo в случае ошибки. Логичнее кидать exeption и обрабатывать как то.
    Ответ написан
    2 комментария
  • Как переопределить координаты и метку после ввода адреса в яндекс картах?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Не очень понял вопрос.
    Можно включить стандартный searchControl https://api.yandex.ru/maps/jsbox/2.1/customSet_controls

    Можно написать свой поиск https://api.yandex.ru/maps/jsbox/2.1/direct_geocode

    В чем вопрос то? Что хотите сделать?
    Ответ написан
    Комментировать
  • Почему не открывается PMA?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    посмотрите лог php ошибок сервера
    Ответ написан
    Комментировать