Метка «javascript» - 100

Здравствуйте, дорогие друзья!
В один чудесный день в один чудесный час возникла острейшая необходимость в JS|HTML препроцессоре и как обычно поиск готового решения не увенчался успехом, везде чего-то не хватало (не было глобальных переменных, вставки строк, замены строк, импорта и т.п.). Ну и поскольку я суровый якутский парень, то выход был один — сделать все самому. Ну? что ж, результат моего труда я решил выложить на мнение комьюнити.
Введение

Препроцессор предназначен для js(json) и html(xhtml) файлов, эти файлы должны быть с соответствующими расширениями. Препроцессор поддерживает следующий рядЧитать полностью »

Всем добрый день.
Раздумывая над вопросом фонового обновления информации, мне пришла в голову одна идея.
Суть задачи — мы находимся на странице списка новостей. Необходимо обновлять список по мере поступления новых новостей. Серверный язык PHP
Рассмотрим классический вариант через постоянные запросы аяксом:
1) Клиент посылает аякс запрос на сервер, например по адресу — /ajax/get_upades&time=xxxxxx
2) PHP смотрит есть ли в базе данных записи, новее чем time
3) Если есть выбирает их и возвращает
4) Если нет ничего не возвращает
В этом случае мы вынуждены постоянно дергать PHP и БД для ответа на вопрос,Читать полностью »

JavaScript / Simplify.js — JavaScript-библиотека для упрощения ломаных линий
Рад представить вашему вниманию еще одну крохотную, но полезную open-source-утилиту своего авторства — Simplify.js.Simplify.js — очень быстрая реализация упрощения ломаных линий на JavaScript. Изначально написав ее для Leaflet (библиотеки для интерактивных карт), после небольшого эксперимента по оптимизации захотелось выпустить ее в качестве отдельной библиотеки без зависимостей, которую можно использовать как в браузере, так и на серверных платформах, таких, как Node.js, и применять и для 2D, и для 3D-точек.
Подобное упрощение позволяет на несколько порядков уменьшить количество точек в ломаной линии (например, представляющей длинный маршрут на карте илиЧитать полностью »

По следам недавних топиков, а также постоянных рассказов в стиле «мой стартап не взлетел, потому что его зохавала лапша из callback-ов».
Как раз недавно я закончил небольшой проект (ссылку не даю, чтобы не заподозрили — кому надо см. профиль), полностью и на всех этапах написанном только на JS, и притом полностью асинхронный. Разумеется, я столкнулся с пресловутой проблемой «лапши». И, вы не поверите, совершенно спокойно решил её без всяких там фреймворков и хитрых приемов.
Итак, допустим, у нас есть задача: асинхронно выбрать из базы количество книг, потом асинхронно же выбрать из базы нужную пачку книг, потом асинхронно же выбратьЧитать полностью »

В продолжение статьи Последовательный вызов асинхронных функций.
Часть 1. Теория

Большинство традиционных, не-веб языков программирования являются синхронными (блокирующими).
Как можно определить, синхронный или же асинхронный данный язык? Например, по наличию/отсутствию функции sleep (может называться также delay, pause и т.д.), когда программа полностью останавливается на определённое количество времени.
В JavaScript, как вы знаете, такой функции нет. Есть, например setTimeout, но она делает совсем другое. Она может отсрочить выполнение комманды, но это не значит что после setTimeout, программа останавливается и ничегоЧитать полностью »

Canvas / 3D Роза методом Монте-Карло

В этой статье я надеюсь вдохновить читателей, интересующихся компьютерной графикой, чтобы экспериментировать и весело провести время с различными методами визуализации.Roman Cortes для конкурса любви 2012 js1k сделал 3D розу на javascript (canvas), используя метод Монте-Карло.
Кратко о методе Монте-Карло
Ме́тод Мо́нте-Ка́рло — общее название группы численных методов, основанных на получении большого числа реализаций стохастического (случайного) процесса, который формируется таким образом, чтобы его вероятностные характеристики совпадали с аналогичными величинами решаемой задачи. Используется для решения задач в различныхЧитать полностью »

JavaScript / [Из песочницы] Префиксные деревья в Javascript

Как это писалось

Одним долгим зимним вечером моя жена играла в Bookworm adventures, и периодически пинала меня по поводу составления слов подлиннее из имеющихся букв. Быстрый поиск по интернету страничек, позволяющих составлять слова из набора букв дал кучу сайтов, которые пытаются делать это на серверной стороне, и один, который делает это на клиентской ява-апплетом. Те, которые составляют слова мощностями сервера либо имеют ограничение на размер набора букв (обычно, почему-то в 8), либо глубоко задумываются, если им послать набор «abcdefghijklmnopqrstuvwxyz». Ява-апплет же имел ограничение в 12 букв, работал шустро и почти подходил (вЧитать полностью »

Не нужно считать из-за заголовка эту статью очередной лекцией нуба для нубов или переводом/пересказом ранее опубликованных статей. Она написана исходя из большого опыта, многочисленных «граблей», а также желания передать опыт в доступной форме.
Я думаю, даже профи смогут вынести из статьи что-то для себя, особенно это касается строгого режима (strict mode).
Сегодня мы работаем по плану:Понятие переменной. Особенности переменных в JS

Значения внутри переменных

Типы переменных

Замыкания

Перекрытие переменных

Формат JSON для быстрого объявленияЧитать полностью »

Не нужно считать из-за заголовка эту статью очередной лекцией нуба для нубов или переводом/пересказом ранее опубликованных статей. Она написана исходя из большого опыта, многочисленных «граблей», а также желания передать опыт в доступной форме.
Я думаю, даже профи смогут вынести из статьи что-то для себя, особенно это касается строгого режима (strict mode).
Сегодня мы работаем по плану:Понятие переменной. Особенности переменных в JS

Значения внутри переменных

Типы переменных

Замыкания

Перекрытие переменных

Формат JSON для быстрого объявленияЧитать полностью »

JavaScript / Парсер PSD файлов на CoffeeScript

Автор скрипта psd.js — Райан Лефевр. Скрипт, как вы уже догадались, умеет открывать photoshop документы, как в браузере, так и на стороне Node.js.Демонстрация возможностей (ранняя beta, не удивляйтесь, что некоторые файлы не откроются. На github странице проекта многие жалуются на это).
Пример вывода информации на Node.js:
{PSD} = require 'psd.js'

psd = PSD.fromFile './path/to/file.psd'
psd.parse()

for layer in psd.layerMask.layers
console.log "Layer: #{layer.name}"
console.log "Size: width=#{layer.cols}, height=#{layer.rows}"
console.log "Position: top=#{layer.top}, left=#{layer.left}"

Скрипт анализирует и отрисовывает psd файлы. Пока его возможности не велики, он может показывать реальный размер изображений, цветовые режимы, информацию о включенных вЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js