• Можно ли автоматически раскрашивать фотографии по образцу?

    Sanasol
    @Sanasol
    нельзя просто так взять и загуглить ошибку
    Есть ли какие-то готовые решения или надо пилить?

    фотошоп мастер который делает нужное количество копий оригинала с разными цветами.
    контент мастер который заливает все нужные вариации товара через админку.

    Старый проверенный способ.
    Ответ написан
    Комментировать
  • Как в 20 17 учить node.js?

    OlegOleg1980
    @OlegOleg1980
    программист
    Есть мнение, что мода на NodeJS уже уходит.
    Прошла эйфория по поводу универсальности данного продукта, и, много думать надо, где вы будете применять его. Разве что в качестве платформы для сборки проекта...
    P.S. Чтобы не закидали камнями, добавлю, что любой продукт также нужно оценивать с точки зрения его производительности, а у вышеуказанного в этом плане есть ряд неустранимых пока недостатков.
    Ответ написан
  • Как запретить скачивание PHP файла?

    usdglander
    @usdglander Куратор тега PHP
    Yipee-ki-yay
    Если установлен только апач, то в случае его падения никто 80й порт и не будет слушать! Соответственно получить доступ к файловой системе из браузера будет не возможно.
    Ответ написан
    3 комментария
  • Как решить проблему с концентрацией?

    dagaz_of_suriname
    @dagaz_of_suriname
    Я Познаю Мир
    Бегло просмотрел ответы. Я поддержу людей кто говорит о том, что нужно научить организм работать в ином режиме / разогревать мышцу внимания / медитировать . И дополню. Это определенно некий паттерн. И работать с ним можно по-разному. Я предлагаю обратить внимание на то, что я использую сам, поскольку считаю это наиболее быстрым и верным способом исцеления себя. Ну а вообще мне просто нравиться знать )

    Есть такая штука - космоэнергетика. В двух словах и на пальцах - это навыки управления своим сознанием. А с помощью своего сознания можно и исцелить свое тело и переместиться в астрал и еще много чего. Касательно рассеяности\умственной прострации: на мой взгляд могут подсобить частоты Белое Солнце и Точка Опоры.

    Они доступны в ознакомительном режиме в форме видеозаписей. Нужно включить видео, закрыть глаза, удобно рассположить тело - расслабиться (!идеально - стоя!), и грубо говоря настроившись на видео стремиться заснуть. отпустить себя. принимать. расскрыться. вот . Отклик моментальный. Для того чтобы полноценно владеть частотой - открывать её самому - можно пройти путь обучения .

    Частоту Белое Солнце можно выхватить вот тут: magicgeo.ru/node/128
    А частоту Точка Опоры демонстрируют вот тут: magicgeo.ru/node/328

    Добавлю и описания:

    15. Белое Солнце

    Частота аномальной зоны. Чистит энергетические меридианы, активирует нейронные связи и нервную систему в целом. Повышает уровень сознания и улучшает память. Снимает последствия магических воздействий.

    29. Точка опоры

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


    Ну, вот, если чо можешь связываться со мной в телеграмме. Будь здоров =) Мой первый пост.
    Ответ написан
    7 комментариев
  • Как решить проблему с концентрацией?

    @nomta
    1. Отключить внешние раздражители - очень важно. Телевизор и подобное лучше вообще убрать подальше.
    2. Научиться правильно отдыхать, в том числе - чтобы голова отдыхала. Закончили работу - переключайтесь на то, что происходит вокруг, общайтесь, забудьте вообще о работе. Можете 10 минут удерживать "пустоту" в голове, не думать ни о чем? Чтобы ни одна мысль не пролезла в голову? Дайте мозгу "проголодаться", сразу станет интереснее.
    3. Ваша проблема - не только Ваша, с ней сталкиваются практически все так или иначе. Приходится учиться, находить свой ритм работы и отдыха. Допустим, отдыхаете каждые полчаса. Каждый раз, завершив какую-то подзадачу, ставите отметку "выполнено". В связи с этим - полезная техника: составляйте план из микрозадач и, по мере их выполнения, ставьте галочки напротив каждой выполненной задачи. Мелочь, а хорошо помогает в плане концентрации.
    4. Одной из причин может быть то, что Вы ставите перед собой сразу много обязанностей, мозг воспринимает это как неподъемную задачу и блокирует ее выполнение. Разбивайте задачу на более мелкие и не обещайте себе выполнить непременно все. Отдыхайте, переключайтесь, развлекайтесь.
    5. Не держите все в голове - записывайте. Разгружайте голову. Когда занимаетесь - ведите подробные конспекты. Это помогает структурировать информацию. На экзамене очень выручает - Вы вспоминаете не информацию из учебника, а то, что сами записали в конспект, как будто это Ваше творение. Вам остается только воссоздать свой конспект на листочке, что обычно происходит легко, как будто само собой.
    6. Лучший отдых - это перемена занятий. Найдите противоположный вид деятельности, например, спорт, и работайте с реальной отдачей, до изнеможения. Уровень концентрации в вашей основной области повысится в разы.
    Пробуйте, ищите, учитесь. Есть целое направление - brain fitness, посмотрите, может, найдете что-то полезное и для себя.
    Ответ написан
    Комментировать
  • Нужен совет как дальше работать?

    Blackman
    @Blackman Автор вопроса
    Просто великолепно! :)

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

    Чего и всем желаю!
    Ответ написан
    Комментировать
  • Правильно ли выполнять такие заказы?

    p00h
    @p00h
    Фехтовальщик-стропальщик
    Вас посадят если ввяжетесь. Инфа 100%.
    Ответ написан
    4 комментария
  • Написание типового новостного сайта на Java?

    @gaxetasok
    Они вас проклянут, когда вам надоест возиться с этим сайтом за копейки.
    Выбранная вами технология довольно дорогая и редкая.
    И замену вам найти будет непросто и платить будет недешево.
    Вас проклянут
    Ответ написан
    4 комментария
  • Как создать 1000 документов .html или .txt, по правилу, с одной переменной?

    @hufawoso
    Открываешь в браузере консоль (в Хроме это кнопка F12).
    Вставляешь этот код:
    var i = 1;
    var timerId = setInterval(() => {
        if (i == 1000) clearInterval(timerId);
        var tpl = `<head>
        <meta charset="UTF-8">
        <title>Document</title>
        </head>
        <body>
        <img src="/foto/${i}.jpg" alt="Картинка №${i}">
        </body>`;
        download(i + '.html', tpl);
        i++;
    }, 1000);
    
    function download(filename, text) {
        var pom = document.createElement('a');
        pom.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
        pom.setAttribute('download', filename);
        pom.click();
    }

    Нажимаешь Enter.
    1000 файлов будут готовы.
    Ответ написан
    2 комментария
  • Как правильное перевести сайт на новую CMS?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Django который планирую перевести на 1С-Битрикс

    Вы пытаетесь потушить пожар смесью бензина и фекалий.

    Прошу поделиться опытом либо ссылками на материалы по переводу сайта с одной CMS на другую.

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

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

    Редиректить со старых на новые.

    Сокращение затрат на обслуживание

    Как можно экономить, заменяя бесплатное решение на платное? Учитывая, что и php-шников много и питонщиков много.

    импортозамещение

    У вас ошибка в слове "распил".
    Ответ написан
    2 комментария
  • Когда необходим setTimeout?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Когда необходим setTimeout?

    Чисто теоретически, в контексте Вашего вопроса, с учётом наличия setInterval() и clearInterval() - никогда.

    Пример:
    x = setInterval(function() {
        clearInterval(x);
        alert('Time!');
    }, 3000);
    Ответ написан
  • Рандом число из нескольких диапазонов?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    $ranges = [[1, 17], [26, 100]];
    $total = 0;
    foreach ($ranges as $range)
      $total += $range[1]-$range[0]+1;
    $rand = rand(0, $total-1);
    foreach ($ranges as $range) {
      $rand += $range[0];
      if ($rand > $range[1])
        $rand -= $range[1]+1;
      else
        break;
    }
    echo $rand;
    Ответ написан
    2 комментария
  • Не студия и не новичок - почему?

    gobananas
    @gobananas
    finishhim.ru
    Потому что в цену студии заложены:
    1) Офис
    2) Налоги
    3) Менеджеры/бухгалтерия/секретарши
    4) Перекуры всех сотрудников из п.3.
    Список при желании можно продолжать долго и бывает что проект за 500 тыс. рублей пилит в студии один программист джун с з/п 20к
    Поэтому заказчик хочет что бы его деньги ПОЛНОСТЬЮ достались непосредственному исполнителю
    Ответ написан
    Комментировать
  • Несколько вопросов о mongodb?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Я работаю с MongoDB уже более 3 лет, поэтому буду рассказывать и давать советы опираясь на личный опыт эксплуатации.

    Получается, что нас всю жизнь учили данные нормализовывать и объясняли, почему это хорошо, а теперь все с точностью наоборот?

    Не совсем. Вас учили работать только с одной разновидностью баз данных - реляционной. Теперь вы увидели, что бывают еще и другие, документ-ориентированные. Разумеется, в каждой разновидности будут свои подходы к хранению и организации данных.
    Это не хорошо и не плохо, это иначе.
    Несомненно, ажиотаж вокруг термина NoSQL существует. И на то есть причины, в основном то, что данных действительно стало больше. Информационная энтропия увеличивается и ее все сложнее укладывать в рамки реляционных баз данных. Здесь можно долго рассуждать, но могу с уверенностью сказать, что сейчас появился спрос на такие хранилища, в которых структуру нужно менять более быстро, чем это могут позволить реляционные базы данных.

    Объясните, пожалуйста, на пальцах, правильно ли я все понимаю?

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

    Как в монго при этом обновлять данные, которые хранятся в каждом документе?


    Это реализуется с помощью банальных обновлений.
    Например, если у меня есть коллекция с книгами, в которой мне нужно обновить авторов.

    Типичная запись в ней выглядит так
    {
        "_id" : ObjectId("5801aa17964c6b2a050041a7"),
        "title" : "New Book",
        "authors" : [ 
            {
                "_id" : ObjectId("5801aa0f964c6b26030041a9"),
                "firstName" : "Phil",
                "lastName" : "Tkachev"
            }
        ]
    }


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

    db.getCollection('book').update(
     {'authors._id':ObjectId("5801aa0f964c6b26030041a9")}, 
     {$set: {'authors.$.firstName': 'Philipp'}  }, 
     {multi: true } 
    )


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

    Приемлемо ли в монго денормализовывать данные, чтобы хранить данные в отдельной коллекции, и обращаться к ним отдельным запросом (ведь джоинов там нет)?


    Есть ряд случаев, когда так и делают. Например есть разного рода ORM, тот же Mongoose, который так и делает.

    И принято ли так работать?


    И да, и нет. Когда вы работаете с такого рода базой данных, вам нужно подходить к организации данных исходя из решаемой проблемы, отталкиваться от проекта будущего приложения или решения задачи.
    Вам просто нужно ответить на вопрос, что дешевле, запросить документ по ключу или обновить запись внутри документов.
    Взять к примеру, ваш сайт, в котором есть новости и их авторы. Новости могут читать миллионы, а значит при обращении к каждой новости нужно будет делать подзапрос на информацию о каждом авторе. Т.е. вместо одного запроса, при просмотре новости, нужно будет делать 2. А если показывать список из 100 новостей? Будете делать 100 вторичных запросов? Нет, это тоже неправильно. Нужно будет получить список новостей, в коде приложения собрать идентификаторы авторов, сделать второй подзапрос, получить информацию об авторах, затем объединить ее с уже полученным списком статей. Это немного усложнит ваше приложение, но тоже позволит сэкономить ресурсы. Если вы встроите авторов внутрь статьи, это позволит вам обойтись одним запросом к базе, хоть на просмотр, хоть на список новостей. С другой стороны вам прийдется подумать об обновлении информации об авторе. Но, т.к. такая информация меняется сравнительно редко, то есть смысл встраивания.

    Что делать, если изменилась структура данных, если структуры то и нет?


    Здесь все просто. Когда вы разрабатываете свое приложение, вы изначально закладываете в него обработку изменений. Например, вы можете добавить поле версии документа, в котором храните номер версии структуры и реагировать на ее изменение в коде. Либо вы можете просто писать приложение таким образом, что оно автоматически будет конвертировать структуру из старой в новую при первом обращении.

    По дизайну вашего приложения.
    Судя по первичным данным, у вас новостной сайт.
    Логично было бы его представить в следующем виде.

    Коллекция новостей:

    {
    	_id: 'MongoId',
    	title: '',
    	body: '',
    	author: {
    		_id: 'идентификатор пользователя',
    		name: 'Имя пользователя',
    		subscribers: 'Количество подписчиков'
    	}
    }


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

    Коллекция пользователей:

    {
    	_id: 'MongoId',
    	name: 'Имя пользователя',
    	email: '',
    	roles: ['user', 'author', 'admin'],
    	subscribers: 'Number'
    }


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

    Коллекция подписок:

    {
    	initiator: {
    		_id: 'идентификатор пользователя, который инициировал подписку',
    		name: 'Имя пользователя'
    	},
    	target: {
    		_id: 'идентификатор автора',
    		name: 'Имя пользователя'
    	},
    	date: 'ISODate',
    	confirmed: 'bool'
    }


    Здесь вы можете подстроить, как список подписок, так и список подписчиков одним запросом.
    Ответ написан
    1 комментарий
  • Как лучше сделать Авторизацию/Регистрацию на symfony3?

    miraage
    @miraage
    Старый прогер
    FOSUserBundle + HWIOAuthBundle. Не придумывайте велосипеды.
    Ответ написан
    Комментировать
  • Годовые обороты и прибыльность в заказном вебе и мобайле?

    Atanvar
    @Atanvar
    Frontend developer
    Никто в открытую не выкладывает такую информацию, хотите её получить - личные знакомства с топ менеджерами, как вариант посещайте конференции, а лучше не просто посещайте, а прибухивайте с топами после этих самых конференций) способ рабочий.

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

    Маленькие компании клепая сайт могут выходить в рентабельность 70% и им норм.
    Большая компания может сделать огромнейший проект с рентабельностью 5% и ей тоже будет норм.
    Ответ написан
    Комментировать
  • Чем осуществить парсер/граббер защищенного сайта?

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

    Спарсить миллион страниц с сайта который ОЧЕНЬ не хочет этого это довольно таки сложная работа.
    Либо не сложная, но долгая и/или дорогая.
    Зачастую даже на этом можно построить бизнес, если вдруг сумеешь спарсить хоть что-то полезное и не забаниться.

    Пока вы не понимаете адекватно сложность и объем этой работы и/или не можете её сделать - не стоит за это браться.

    Короче используйте то что есть или платите деньги тем кто это умеет лучше.
    Это не пара строк кода на тостере ответить.
    Ответ написан
    Комментировать
  • Платная техническая поддержка по Linux. Она стоит тех денег?

    urtow
    @urtow
    *nix, python, QA, bagpipe, folk music
    Не имеет смысла.
    Тех поддержка - это не обучение, они могут обещать что угодно, но отвечать на вопросы они не будут.

    Он-лайн обучения нет, все врут. Только самому - документация, маны, лезть в исходный код. Есть курс хороших лекций - https://www.youtube.com/watch?v=QXVkOj6i2sY но стоит учесть, что это лекции.

    Никто не будет разжевывать и класть вам знания в рот. Учитесь добывать сами - пригодится.
    Ответ написан
    3 комментария
  • Как правильно работать с объектами выборки doctrine в Symfony?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    дополню ответ Юрий

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


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

    По поводу коллекций, в Doctrine есть такая штука как Collection. Вы должны понимать что в доктрине вы оперируете не табличками в базе, а объектами. Строите именно объектную модель вашей системы. В этом ключе можете почитать что такое "агрегат сущностей". В вашем случае у вас агрегат будет состоять из двух сущностей. Product и его Image. Например если вы захотите сделать добавление картинок, вы можете сделать так:

    /**
     * usage: $product->addImage($image);
     */
    public function addImage(Image $image)
    {
        $this->images->add($image);
    }


    А коллекция сама выполнит persist новой сущности. Таким образом количество репозиториев уменьшается до количества корней агрегатов сущностей. В вашем примере "корнем", то есть вершиной графа взаимоотношений объектов в контексте продуктов, является сам продукт. А потому репозиторий мы будем делать только для продуктов. Все остальное внутри оного разруливается либо при помощи коллекций.

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

    К примеру "новички" в доктрине любят персисть сущность даже для обновления. Они путают `persist` и `save`. Так вот, если вы загрузили сущность из базы через доктрину, то сущность уже попадает в unit of work. И делать persist уже не нужно, этот метод только для того чтобы доктрина узнала о чем-то новом. А так она и так знает про эту сущность. В итоге вы можете просто что-то поменять и вызвать flush. То есть репозиторий - это тупо хранилище. Хранилище умеет хранить. Изменять то, что оно хранит оно не может.

    Так же рекомендую на тему репозиториев почитать это:

    www.whitewashing.de/2013/03/04/doctrine_repositori...

    Ну и в целом.

    https://www.youtube.com/watch?v=rzGeNYC3oz0 - доклад о том как готовить доктрину от авторов оной.

    От себя лишь добавлю простые правила:

    - Не используйте напрямую доктриновские репозитории. Пишите свои, а в них уже юзайте доктриновские. Не стоит размазывать доктрину по всему проекту, потом это будет нереально поддерживать.
    - Не наследуйтесь от EntityRepository. Это внутренний механизм доктрины общего назначения. Используйте их в своих репозиториях со своим интерфейсом, повышая специфичность и ужесточая контроль за тем кто что юзает.
    - Старайтесь использовать entity manager только в своих репозиториях и каких то небольших сервисах. Не размазывайте все по всюду.

    что очень сильно срет память.


    Доктрина гарантирует вам что в памяти будет всегда только один инстанс сущности. То есть если у вас есть 10 объектов одного типа и имеющих один объект, это все будут ссылки на одну сущность. В вашем случае у вас просто циклическая ссылка между продуктами и изображениями. dump циклические ссылки не особо умеет.

    Это логичное ограничение, дабы не возникало ситуаций что вы обновили что-то в одном экземпляре сущности и что-то в другом, и в базу попадут только часть изменений. За подробностями - читайте документацию к доктрине в отношении UnitOrWork и Identity Map.
    Ответ написан