• Как в Go контролировать количество горутинов?

    sgjurano
    @sgjurano
    Разработчик
    Классическая идея (ещё из C) - делать это с помощью каналов, вот как это должно быть устроено:
    вы заводите канал, который будет играть роль семафора (мьютекса со счетчиком), пишете туда столько байт, сколько хотите максимум запускать сопрограмм, перед запуском каждой из них вычитываете один байт из канала, при завершении пишете его туда же. Таким нехитрым образом вы получаете ограничение сверху на число одновременно запущенных сопрограмм.

    Вот пример кода:
    5bc32f5fdd143124004584.jpeg

    Из вот этой книжки, рекомендую прочитать, кстати:
    5bc32f687decc787834192.jpeg
    Ответ написан
    Комментировать
  • Автоматическая очистка POST в проекте?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    массив $_POST автоматически переносится в некую переменную, назовём её $P

    Что практически бессмысленно.
    Нормальная ли это практа

    Нет. Посмотрите, как работает Symfony HttpFoundation, например. Там никто ничего не очищает. Безопасность обеспечивается в разных слоях приложения по-разному. В работе с БД - с помощью подготовленных запросов, при выводе данных - с помощью замены HTML-сущностей или экранирования и т.п.
    Как при очистке и перемещении $_POST->$P предусмотреть абсолютно всё.

    Никак.
    в некоторых формах может приниматься небольшой текст, в некоторых цифры, в некоторых e-mail, в некоторых большой текст где разрешены спецсимволы типа +,=,! и т.д.

    Это вопросы валидации, а не очистки данных, скорее.
    Ответ написан
    Комментировать
  • Почему не открывается проект???

    Stalker_RED
    @Stalker_RED
    В любой непонятной ситуации смотри логи.
    Ответ написан
    6 комментариев
  • Почему говорят что jquery не нужен?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Скрипач не нужен, родной (с)
    Аргументы против jq:
    - современные браузеры достаточно хорошо поддерживают единый синтаксис современного екмаскрипт(native js)(на самом деле нет).
    - сторонняя библиотека, работает медленнее чем натив и в основном состоит из с-сахара (тоже не совсем правда)
    - тащить еще один ресурс весом от 64 кб до 200 кб, еще и со сторонних ресурсов замедляет загрузку( правда, но бред)
    Аргументы за:
    - Современные браузеры как и всегда один другого "ровнее", всегда есть косяки и "нюансы", на которые еще и попадаешь обычно в самый неподходящий момент, в жк обычно все работает одинаково везде, ну или лучше чем в нативе.
    - В жк реализована куча плюшек в 1 функцию которые в нативе занимают "многабукав", не каждый начинающий напишет их правильно, да и профи не все напишут оптимально, уверен что в большинстве случаев написанный нативом функционал будет хуже аналога из жк.
    - размер мин пакета жк 64 кб, и все они лежат на быстрых цдн серверах. Думаю это последнее что может повлиять на скорость загрузки страницы.
    - есть ОГРОМНОЕ количество скриптов написанных с учетом жк, не использовать их глупо, писать свой велосипед - вообще только в целях обучения(не берем крайние случаи когда плагин писал упоротый пингвин).
    - Синтаксис и краткость записи - вообще вне конкуренции.
    - Старые браузеры никто не отменял, часто заказчик требует чтобы работало в ие8, натив не канает или доставляет море анального удовольствия.
    Вывод: Если ты крут в жс, еще и работаешь в ангуларе/ещечетамдляфронта и тебе нужно сделать 2 действия в очень современных браузерах - jquery не нужен, и ты это сам знаешь. Если слова ангулар, вуе и проч для тебя не больше чем шум листвы за окном, а навесить плагинов и эффектов нужно - jquery наше все.

    UPD: для всех кто там отписался а ля "в связи (...), исчезновением проблемы совместимости со старыми IE (что и было основным назначением jQuery)." - свежачок
    Ответ написан
    4 комментария
  • Как сделать условие в pdo?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Пдо здесь не при чем. Он не выводит номера страниц. И соответственно никакие условия "в pdo" здесь не нужны.
    Чтобы вывести 3 точки, надо написать программу на пхп. Все что тебе нужно - это математика на уровне 4 класса средней школы.
    Ответ написан
    Комментировать
  • IDE для PostgreSQL?

    mmmaaak
    @mmmaaak
    Ответ написан
    Комментировать
  • Действия с массивами?

    BuriK666
    @BuriK666
    Компьютерный псих
    Ответ написан
    Комментировать
  • Почему при соединение с базами данных phpmyadmin выдает такую фигню?

    @Gregpopov
    Full stack web developer
    Это не phpmyadmin, это у вас ошибка на 108 и 109 строках
    Ответ написан
    Комментировать
  • Как отправить изображения на почту?

    Используй PHPMailer
    Ответ написан
    Комментировать
  • Сайт с упражнениями по SQL?

    gobananas
    @gobananas
    finishhim.ru
    sql-ex.ru
    Ответ написан
    Комментировать
  • Как запоминать код, который писал две недели назад?

    @nirvimel
    1. Как писать много кода, оставляя его простым, как в начале?
    2. Также советую прочесть "Совершенный код" С.Макконнелла.
    3. Качественный код не требует того, чтобы его запоминали. Качественный код может быть забыт сразу после того, как он начнет проходить все тесты. Держать в голове нужно только программные интерфейсы, но даже не все, а только, используемые на текущем уровне абстракции.
    Ответ написан
    Комментировать
  • Правильно ли я делаю структуру бд PostgreSQL?

    DevMan
    @DevMan
    если для показа страницы нужна выборка из всех таблиц, то у вас беда с архитектурой.
    Ответ написан
    5 комментариев
  • Как преобразовать timestamp в дату вида мм.дд.гггг?

    Deonisius
    @Deonisius
    Родился в 11110110111 году, 11000 января.
    function timestampToDate(ts) {
        var d = new Date();
        d.setTime(ts);
        return ('0' + d.getDate()).slice(-2) + '.' + ('0' + (d.getMonth() + 1)).slice(-2) + '.' + d.getFullYear();
    }
    
    console.log(timestampToDate(1497094200000)); // 10.06.2017
    Ответ написан
    Комментировать
  • Как получить индексы такого массива?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Вариант 1: array_key
    Вернет все ключи

    Вариант 2: итерация через foreach

    Вариант 3: key()

    Выбирайте любой :)
    Ответ написан
    Комментировать
  • Каким образом лучше всего избежать повторения ENUM в БД?

    Для этого, внезапно, можно использовать таблицу значений и внешние ключи.

    Хотя, конечно, создание таблиц при работе с базой данных кому-то может показаться радикальной идеей.
    Ответ написан
    1 комментарий
  • Как создать систему управления обучением наподобие moodle?

    Sanes
    @Sanes
    Могу ли я на основе уже существующего решения(например, moodle) собрать свое, без ненужного мне функционала?
    Конечно. Тыжпрограммист.
    Ответ написан
    1 комментарий
  • Как сделать бэкенд на лендинге (пошаговую форму)?

    crazy_leo
    @crazy_leo
    Frontend Developer
    Блин, учить backend)
    Ответ написан
    Комментировать
  • Как сделать при нажатии формы срабатывал ajax и отправляло на другую страницу?

    yurakostin
    @yurakostin
    Front-end developer
    На самом деле не очень понятно, чего вы хотите достичь.

    Зачем вам ajax, если вы хотите перенаправить пользователя на другую страницу?
    Оставьте тогда форму в покое и не добавляйте ей js обработчик.

    Кстати не очень понятно, чего вы ждёте от строки:
    'location.href="http://mysite.com/error.php"'

    Или это такой способ комментирования?
    Ответ написан
    4 комментария
  • Как правильно составить SQL запрос в PHP?

    Fragster
    @Fragster
    помогло? отметь решением!
    group by goods.name после where
    Ответ написан
    Комментировать
  • Как правильно настраивать дев-окружение для веб-разработки?

    @xfg
    Не думайте о доменах. Вы смешали администрирование и программирование. Не нужно никакого dev сервера. Делайте работу на локальной dev машине, отправляйте изменения в удаленный репозиторий и всё. Можете вообще не устанавливать nginx/apache и т.д. на локальную dev машину, чтобы не забивать голову всякими доменами, а проект запускать под встроенным PHP сервером например из корня проекта и тогда будете обращаться к вашим сервисам по адресу localhost:port/service1/index.php, localhost:port/service2/index.php и т.д.

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

    server {
      server_name company.com;
      root /home/www/company/frontend;
     ...
    }
    server {
      server_name admin.company.com;
      root /home/www/company/backend;
     ...
    }
    server {
      server_name service1.company.com;
      root /home/www/company/service1;
     ...
    }
    server {
      server_name service2.company.com;
      root /home/www/company/service2;
     ...
    }


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

    Так и делают. Разработчикам не нужен никакой dev сервер. Они клонируют репозиторий, делают что-то локально у себя и отправляют изменения в удаленный репозиторий. Для тестеров и всяких менеджеров просто поднимают так называемый stage-сервер где они и тестируют приложение, но это тоже самое что и продакшн сервер, просто доступ к нему только внутри компании. Можно настроить continuous integration чтобы все изменения из репозитория в master ветке автоматически бы приводили к деплою приложения на stage и продакшн сервера. Примерно так в общих словах устроена веб разработка.
    Ответ написан
    22 комментария