• Как защитить изображения от PrintScreen?

    @Sratimon
    Все что ты видишь в браузере уже лежит у тебя на компе остается только это достать ! Достаешь из js 2 картинки и соединяешь их в фотошопе. или Делаешь расширение оно у тебя из js забирает переменные с 2 снимками и делает из них одну картинку =).
    А так делай привью (маленькое изображение плохого качества и выкладывай его ) как это сднлано на платных фотостоках .
    Как вариант попробуй сделать так при нажатии клавиши принскрин закрывай картинку черным дивом на 1 с или меньше мб поможет . А то лишний раз нагружать клиент это не круто .

    P.s решений этого много но человек знающий веб все равно получит эту картинку если он ее видит . Есть сайт с шрифтами там шрифты стоят от 1$ до $150 мб больше . Их можно вытащить через F12 бесплатно =). Это так для примера !
    ------------------------------------------------------
    Вот смотрю люди предлагают разные решения но как сказали это ворота по среди поля =) . Знающий человек все ровно достанет это да запрети ему все он достанет ее из оперативы =) . Если данные попали на комп то их уже не защитить !
    Ставьте условия на прин скрин и при нажатие добавляйте к картинке дисплей ноне ! или Делайте привью .
    О стольные решения приведут к нагрузке на машину пользователя и усложнению юзабилити сайта .
    Появилась еще идея при нажатии f12 бить ссылку на картинку =) как варик если кто то захочет отключить js в браузере прямо у вас на сайте =)
    Ответ написан
    13 комментариев
  • Можно ли на бесплатном хостинге запустить демоны?

    @DP-Studio
    20 лет веб-разработки
    сейчас VPS от 2$ в месяц.... Сэкономьте 1 бутылку пива и 1 пачку сигарет в месяц на впс....
    Ответ написан
    1 комментарий
  • В какой момент пора использовать ООП?

    Правильно научитесь ставить вопросы. Относительно вэб этот вопрос должен звучать так: В какой момент пора отказаться от использования ООП?

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

    Stac
    @Stac
    Я работаю примерно также как вы - свой фреймворк, все отлажено и т.п. Несколько лет бьюсь в ООП, пытаюсь понять, где бы применить. Там, где применил, резко возрастала сложность.

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

    @roskoshinsky
    Никто не привёл ни одного сколько-нибудь весомого аргумента в пользу ООП на PHP. Всё упирается «дружище, эх, попробуй и поймёшь, как это круто»

    Если мы создаём GUI-приложение, которое работает пока пользователь его не остановит, то там ООП действительно целесообразен, как минимум в процессе программирования интерфейса. Но в случае с PHP программа работает доли секунды (пока обрабатывает запрос) и тот же интерфейс программировать не нужно. Задачи программы на PHP: быть понятной, быть быстрой. И оба эти случая не об ООП.

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

    Анализируя тот же Laravel я вижу пару хороших вещей, которые логичнее реализовать в функциях и кучу кода ради кода.

    Вот пример https://laravel.ru/docs/v3/database/fluent
    $users = DB::table('users')->get();

    Но ничто нам не мешает написать полиморфную по логике функцию q():

    $users = q("users");

    Эта же функция может принимать SQL-запрос или более сложную над-SQL конструкцию, но при этом более понятную, чем цепь методов. Кто-то может возразить, что функция будет привязана к одному виду базы данных, но тем я напомню, что в зависимости от типа используемой базы ничто нам не мешает загружать нужный файл с соответствующей реализацией функции, к примеру, mysql.db.php postgresql.db.php

    Если логика процедурного кода сбалансирована, если нет дублей кода, если есть документация, то процедурный код будет лучше любого ООП кода по двум критериям: доступность для понимания, скорость работы. Учитывая, что ООП-код тоже требует балансировки и документации, преимущества процедурного становятся абсолютными.
    Ответ написан
  • В какой момент пора использовать ООП?

    Denormalization
    @Denormalization
    Не забивайте себе голову. Если всё работает и вас всё устраивает, то зачем что-то менять?
    Преимущества ООП проявляются при поддержке проекта.
    Вы поддерживаете свои проекты? Вы развиваете их? В какой момент вам стало сложно поддерживать проект?
    Много ли в проекте абстракций?
    Как вы решаете проблему добавления новых абстракций в проект?

    Если эти вопросы не про вас, то вам не нужно ООП.
    Ответ написан
    Комментировать
  • Как сделать электронную форму онлайн бронирования на сайте с платформой Bitrix?

    DrunkMaster
    @DrunkMaster
    Поставьте clientline.ru мне настройка времени там понравилась
    Ответ написан
    Комментировать
  • Как сделать спрайт кликабельным?

    Vlad_IT
    @Vlad_IT Куратор тега CSS
    Front-end разработчик
    Какой-то троллинговый вопрос. Гей порно, программирование на HTML, отсутствие открывающегося тега html, умение гуглить порно, но неумение гуглить "картинка в ссылке html".
    Ответ написан
    Комментировать
  • Как вы систематизируете полученные знания?

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

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    кратко так
    1329070244_test11.jpg

    полно - картинки все посмотрите
    people.overclockers.ru/_NooB_/15035/Testirovanie_o...
    www.ixbt.com/cpu/intel-ci7-3770k-mem.shtml

    P.S. еще да, если нет в слоте 0, но есть в слоте 1 - может не завестись, но это, поняно, легкоустранимый случай
    Ответ написан
    Комментировать
  • Как работает аппаратное распараллеливание?

    @Mercury13
    Программист на «си с крестами» и не только
    Попробую рассказать.

    Шаг 1. Конвейерная архитектура (Pentium 1).
    Чем-то напоминает многоствольный пулемёт. Один патрон заряжается, другой выстреливается, третий выбрасывается. Стоп… Одна команда выбирается, вторая декодируется, третья и четвёртая исполняются.

    Шаг 2. Суперскалярность (Pentium то ли Pro, то ли MMX).
    У нас есть несколько исполнительных блоков (в данном случае целочисленных). Если команды не противоречат друг другу, их можно пустить на обоих блоках параллельно.

    Шаг 3. Микрокоманды и VLIW (если не ошибаюсь, из x86 первым реализован в Transmeta Crusoe).
    Состоит из таких этапов.
    1. Разбиваем операции x86 на микрокоманды — например, «перебросить из eax в сумматор», «сдвинуть содержимое сумматора на 1 вправо»…
    2. Собираем это самое «очень длинное слово операции» из микрокоманд, заботясь о том, чтобы не было зависимостей по данным. Один сумматор получает слово из eax, а параллельно второй сдвигает на 1. Каждый из разрядов «длинного слова» управляет своим блоком процессора: сумматором, памятью, вводом-выводом…
    3. Ну и исполняем это самое слово.

    Всем этим архитектурам важно т.н. предсказание ветвлений. Чтобы всё это дело работало, нужно, чтобы несколько операций были декодированы наперёд. Проблема — ветвление: если мы не угадаем, случилось ли ветвление, вся предварительная работа насмарку. В микроконтроллерах с коротким конвейером и предсказуемым до такта временем работы мы на это чхаем: например, в инструкции к AVR говорится, что там двухместный конвейер: один такт декодирование и один (два, три) — исполнение. Обычно такт на декодирование не важен (и не указан в инструкции), но мы теряем его, если случился переход.

    А в x86 алгоритмы предсказания ветвлений довольно сложны.

    ЗЫ. В суперскалярных процессорах несколько десятков регистров, на которые динамически навешиваются ярлыки: сейчас EAX=r5, а через две команды — уже r13. Так называемое «переименование регистров».
    Ответ написан
    3 комментария
  • WordPress для Junior - ов?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Да никому толком не нужны всякие хипстерские приблуды в виде YII , Laravel и прочих модных фреймворков.
    Есть WP, есть Joomla. Мужики клепают сайты и рубят бабосики, и всем плевать, что там внутри.
    Недавно плагин лепил для одного такого сайта. Внутри полный треш (хотя внешне выглядит вполне достойно). У меня прям челюсть упала, когда узнал что за такое пол ляма заплатили.
    Ответ написан
    1 комментарий
  • Вопросы по игре арканоид на JS?

    Ivanq
    @Ivanq
    Знаю php, js, html, css
    1. Кубикам ставьте position: absolute, а при удалении ставьте display: none либо читайте про removeChild
    2. Можно прописать элементам html-свойство (например, data-x и data-y) и его читать при столкновении
    3. Да
    4. По вектору проще и быстрее, лучше так
    Ответ написан
    Комментировать
  • Вопросы по игре арканоид на JS?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    1. Кубики как раз не инлайн блоки. В этой ситуации при уничтожении одного из них, сдвинется вся конструкция. Делайте на position: absolute.
    В крайнем случае просто ставьте opacity: 0 или visibility: hidden и условие для шарика что блоки с таким то классом игнорировать.
    2. Position: absolute решает
    3. Да, чем меньше вы вычисляете на лету, тем быстрее работает. Один раз меняем переменную при смене нажатии на кнопки вправо/влево
    4. Тут на ваше усмотрение. С вектором будет проще (имхо).
    Ответ написан
    Комментировать
  • Как закрыть пробелы в математике?

    Uwe_Boll
    @Uwe_Boll
    Я Злой и Страшный Уве Болл в Разработке знаю Толк
    для Web'a вполне достаточно арифметики
    Ответ написан
    1 комментарий
  • Как закрыть пробелы в математике?

    abs0lut
    @abs0lut
    Как закрыть пробелы в математики?

    Начать с пробелов в русском языке

    как мне кажется мне сейчас не хватает,

    А в чем это проявляется?

    я порой ощущаю себя неполноценным программистом

    Это предрассудки.
    Ответ написан
    Комментировать
  • Как объяснить разную скорость выполнения вложенных циклов в разных языках?

    @nirvimel
    Меня как-то не устроило то, как вы оценили производительность Python, поэтому я взялся чуть подправить ваш пример для демонстрации совершенно других результатов. Запуск моего примера кроме установки numpy (pip install numpy), потребует установку еще одной интересной библиотеки (pip install numba) с ее установкой могут быть связанны некоторые трудности на различных ОС (она зависит еще и от llvm), но, поверьте, оно того стоит, полученные цифры производительности должны вам понравиться.
    Для демонстрации реальной скорости вычислений в моем примере миллион итераций это довольно мало, камень не успевает хорошо прогреться. Обратите внимание, я заменил миллион итераций на 100 миллионов, поэтому полученный результат надо разделить на 100 для сравнения с другими языками. Вот, собственно, сам код:
    from numba import jit
    import numpy
    
    
    @jit
    def inner_func(a_list, b_list):
        sum = 0
        j = 0
        for y in range(0, 16):
            for x in range(0, 16):
                p = a_list[j] - b_list[j]
                sum += p * p
                j += 1
        return sum
    
    
    @jit
    def outer_func(a_list, b_list):
        sum = 0
        for g in range(0, 100000000):  # 100 000 000 == 10^8 !!!
            sum += inner_func(a_list, b_list)
        return sum
    
    
    def main():
        maxint = numpy.iinfo(numpy.intc).max
        a_list = numpy.random.randint(maxint, size=256)
        b_list = numpy.random.randint(maxint, size=256)
        sum = outer_func(a_list, b_list)
        print(sum)
    
    
    if __name__ == '__main__':
        main()

    Если вам удалось это запустить и полученные цифры вас впечатлили, то я бы попросил подправить в вашем вопросе ту часть, которая касается Python, для восстановления справедливости в отношении этого великолепного языка.
    Ответ написан
  • Почему при ресайзе png-шок с прозрачным фоном при помощи php фон красится в чёрный?

    AloneCoder
    @AloneCoder
    [object Object]
    imagealphablending($img, false);
    imagesavealpha($img, true);
    Ответ написан
    Комментировать