Ответы пользователя по тегу JavaScript
  • Как организовать самообучение языкам программирования?

    Stac
    @Stac
    Сайт это прежде всего информация. Примем это. Сайт, где главное не информация, а какой-то сервис, назовем веб-приложением и не будем рассматривать в рамках этой заметки.

    Что у вас будет - не ясно. Но HTML понадобится точно.

    Представляем информацию с помощью HTML. CSS понадобится для внешнего видимого (как правило) оформления.

    Это главное.

    HTML для каждой страницы можно вручную подготовить (написать, сверстать), а можно программно. Так делают (и для этого служат) генераторы статических сайтов или CMS.

    И те и другие берут данные из источника (файлы, базы данных, сторонние HTTP-сервисы,...), берут шаблоны страниц и наполняют их данными (это называется рендеринг). На выходе получается готовая веб-страница.

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

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

    Самое интересное, что генератор сайта или CMS может быть написана на почти любом языке программирования.

    Если вы не знаете никакого, то начать можно с любого.

    Поймите то, где будет работать ваша программа (генератор сайта, CMS,...).

    Варианты такие:
    1) ваш личный компьютер: программа сгенерирует все файлы сайты и вы их загрузите на сервер, в т.ч. самый дешевый виртуальный хостинг.
    2) виртуальный хостинг под управлением Unix-совместимой операционной системы: программа будет работать под управлением вебсервра (Apache, nginx) где-то на компьютерах провайдера
    3) виртуальный хостинг под управлением операционной системы Windows Server: программа будет работать под управлением вебсервра (IIS) где-то на компьютерах провайдера
    4) виртуальный или выделенный сервер: вы сами выберите операционную систему и веб-север, но компьютер остается под контролем провайдера.

    Выбор варианта повлияет на многое. На ваши затраты, на ваши возможности по настройке и использованию разного программного обеспечения.

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

    Вариант 2 накладывает ограничения: как правило любой провайдер виртуального хостинга предложит вам (даст возможность использовать) PHP и Perl. Редкий хостер (но его можно найти) предложит python или ruby.

    Вариант 3 имеет свои особенности. Почти всегда вы также сможете использовать PHP, но появляется возможность использовать технологии Microsoft и их языки VB.net, C# и другие.

    Вариант 4 снова возвращает нас к полной свободе - можно использовать все, что угодно. Но требует от нас и большей квалификации и ответственности - сервер полностью придется настраивать самостоятельно или нанимать сисадмина.

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

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

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

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

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

    Почти для всех задачах мне достаточно тех языков, что я знаю. Постепенно я улучшаю свои навыки, углубляю знания.

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

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

    Рабочие проекты используют надежные, проверенные лично мной решения. Они весьма консервативны. Пусть они не лучшие в мире и устаревшие, но это позволяет лично мне спать по ночам спокойно и отвечать на работу проектов перед клиентами.

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

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

    У меня таким был начальник на той работе, где я выучил PHP. Я работал в тех условиях, которые были мне даны, что сильно повлияло на путь моего развития, как разработчика. Он далек от общепринятого. Со своими плюсами и минусами. Но главное, что теперь, уже семь лет, у меня нет других начальников, кроме себя :)
    Ответ написан
  • Какой максимально эффективный способ защиты от скачивания изображений с сайта вы знаете?

    Stac
    @Stac
    Опубликуйте на сайте текст лицензии на языка страны сайта и соответствующей законам страны сайта, в которой напишите, что изображения скачивать нельзя.

    Найдете того, кто скачал - предъявляйте претензию или судебный иск, как принято в стране сайта.

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

    Stac
    @Stac
    Вот тут есть готовый конструктор кухонь.
    Мы планировали его использовать в одном проекте. Проект не состоялся, поэтому о реальном опыте работы с конструктором не расскажу.
    Ответ написан
    2 комментария
  • Как обернуть выделенный текст textarea в теги при нажатии на CTRL+B?

    Stac
    @Stac
    Если предусмотрен wysiwyg редактирование текста, то
    это можно сделать путем скрытия textarea, появлением на его месте div тех же размеров с установленным атрибутом conteneditable. Пользователь вводит текст, поддержка CTRL-B обеспечивается браузером.
    В конце innerHTML переносится в value textarea. HTML чистится и HTML теги заменяются на bb-code.
    Иначе,
    см. ответ от Валерий Селицккий
    Ответ написан
    Комментировать
  • Как имитировать действия браузера на PHP или Java(Jquery)?

    Stac
    @Stac
    Human Emulator.
    Платный.
    Работает на Windows сервере.
    Программируется на PHP (есть клиентская библиотека) или череp HTTP API.
    Ваш PHP-скрипт может выполняться совсем на другом сервере (на любой ОС).

    Т.е. вы из своего скрипта удаленно управляете удаленным же браузером.
    Ответ написан
  • Web-разработка. Уровень погружения в язык программирования: PHP vs JavaScript. Где "глубже"?

    Stac
    @Stac
    Самое смешное, что знания чистого PHP вам скорее всего хватит, учитывая ваше знание JS.

    Нужно принимать запросы, читать данные из файлов или БД, писать туда же и отдавать HTML (или более интересный для вас JSON) в браузер.

    Дополнительно можете посмотреть т.н. микрофреймворки (slim,...) и что-то для работы с БД (redbean, notorm), хотя в PHP есть встроенный PDO, которого хватит для работы с mySQL и SQLITE.

    Имейте в виду, что SQL хотя и стандартизирован, реально отличается от СУБД к СУБД.

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

    Stac
    @Stac
    datapicker разве не для выбора дат?

    Для календаря событий лучше использовать контрол календаря, например, fullcalendar.io
    Там события (со ссылками) легко подгружаются по akax в json формате или с гугл-календаря.
    Ответ написан
    Комментировать
  • Связка HTML/CSS + Python?

    Stac
    @Stac
    С PHP будет проще и быстрее найти работу. Но могут потребовать знания фреймворков и прочего, отчего "сразу отворачивает".

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

    PHP очень распространен, а значит ваши приложения можно будет использовать везде. Можно будет зарабатывать на биржах фриланса - там полно всяких практических задач, а у заказчиков обычный виртуальный хостинг (где PHP есть 100%).
    Ответ написан
    Комментировать
  • JS скрипт фокуса элементов сайта со всплывающим описанием элемента и затемнением остальной части сайта?

    Stac
    @Stac
    Chardin — немного другой принцип, но тоже может быть интересно.
    Ответ написан
    Комментировать
  • Технологию или оптимальный способ реализации?

    Stac
    @Stac
    Если PHP, то это еще не значит, что MySQL. Ведь есть SQLITE.
    Хотя для описанной задачи СУБД вообще не нужна, хватит и текстового файла, возможно даже одного.

    Итак на сервере: PHP + тектовый файл. Его формат зависит от количества вашей техники и тех операций, которых с ней нужно учитывать.
    Варианты: INI-файл (удобно открыть в текстовом редакторе, поковырять), TSV (удобно открыть и поковырять, как в текстовом файле, так и в Excel), XML.
    Возможность ковырять файл в редакторе позволит не делать в первое время (или совсем) админку, а сосредоточиться только на интерфейсе для конечных пользователях.

    На клиенте: Twitter Bootstap (достаточно знать только HTML чтобы быстро сделать приличный интерфейс).

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

    У меня у самом почти так реализована система управления контактами для кол-центра.
    Ответ написан
    Комментировать
  • Как правильно написать счётчик посещений работающий на стороннем сайте?

    Stac
    @Stac
    Вообще-то это странно, что какие-то сайты позволяют выполнять на них ваш JS-код.

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

    В этой схеме нет iframe, нет js и возможно даже нет cookie (хотя, я, на всякий случай их использую… не всякого рекламодателя можно заставить правильно установить трекинг-пиксель, как бы странно это ни звучало).
    Ответ написан
    Комментировать
  • Манипуляция с Iframe?

    Stac
    @Stac
    same origin policy можно отключить в Chrome (см. ключ командной строки --disable-web-security)
    Ответ написан
    2 комментария