В четверг 4 октября в Бизнес Инкубаторе «Ингрия» прошла первая встреча Saint Petersburg Ruby User Group. Хотелось бы провести некую ретроспективу мероприятия, подвести итоги, собрать мнения и рассказать о дальнейших планах.
Читать полностью »
Рубрика «javascript» - 555
Ruby-встречи в Санкт-Петербурге снова в моде
2012-10-11 в 7:54, admin, рубрики: javascript, rails, ruby, ruby on rails, общение, метки: javascript, rails, ruby, общениеRay tracing не только в 3D
2012-10-10 в 14:03, admin, рубрики: canvas, javascript, JS, Алгоритмы, графика, Программирование, характеристическая функция, метки: Canvas, Алгоритмы, графика, характеристическая функция
Многие в общих чертах представляют, как работает лучевая трассировка: через каждый пиксель сцены алгоритм пропускает луч и вычисляет, с какими объектами сцены он пересекается и как в результате данный пиксель должен быть освещён. Алгоритм по сути требует, чтобы у нас была функция, которая для каждой позиции возвращает цвет точки. Разумеется, тот же подход можно применять не только для трёхмерной графики: любое изображение можно растеризовать таким образом, если у нас есть подходящая функция. Рассмотрим для примера, как с помощью такого подхода решить задачу визуализации диаграмм разложения на простые множители, о которой написал helarqjsc.
Моя реализация здесь. На картинке изображено 10! = 3628800, хотя всех деталей, разумеется, не видно.
Читать полностью »
Визуализация характеристической функции
2012-10-10 в 14:03, admin, рубрики: canvas, javascript, JS, Алгоритмы, графика, Программирование, характеристическая функция, метки: Canvas, Алгоритмы, графика, характеристическая функция
Многие в общих чертах представляют, как работает обратная лучевая трассировка: через каждый пиксель окна вывода алгоритм пропускает луч и вычисляет, с какими объектами сцены он пересекается и как в результате данный пиксель должен быть освещён. Алгоритм по сути требует, чтобы у нас была функция, которая для каждой позиции возвращает цвет точки. Разумеется, тот же подход можно применять не только для трёхмерной графики: любое изображение можно растеризовать таким образом, если у нас есть подходящая функция. Рассмотрим для примера, как с помощью такого подхода решить задачу визуализации диаграмм разложения на простые множители, о которой написал helarqjsc.
Моя реализация здесь. На картинке изображено 10! = 3628800, хотя всех деталей, разумеется, не видно.
Читать полностью »
TypeScript: статический анализ, автодополнение и немножко ES6 для JavaScript
2012-10-10 в 12:25, admin, рубрики: javascript, TypeScript, автодополнение, препроцессор, статический анализ, метки: javascript, TypeScript, автодополнение, препроцессор, статический анализ
Такие web приложения как почта, карты, текстовые процессоры, инструменты для совместной работы, стали неотъемлемой частью нашей жизни. Язык программирования TypeScript был разработан для удовлетворения потребностей разработчиков подобных приложений. Он облегчает определение интерфейсов между программными компонентами, помогает изучать поведение существующих JavaScript библиотек, снижает риск конфликта имен посредством организации кода в динамично подгружаемые модули. Система типов TypeScript (которая кстати необязательна) позволяет использовать такие високопродуктивные инструменты и техники разработки как статический анализ, символьная навигация, автодополнение и рефакторинг кода.
Читать полностью »
ObjectScript, разработаем спецификацию совместно: операторы сравнения
2012-10-10 в 1:05, admin, рубрики: api, javascript, Lua, ObjectScript, objectscript api, open source, php, Программирование, спецификация, метки: javascript, lua, ObjectScript, objectscript api, open source, PHP, спецификацияObjectScript — новый встраиваемый и очень легкий объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua и PHP. Синтаксис в основном взят из JavaScript, множественное присваивание — из Lua, работа со свойствами — из PHP.
Проект ObjectScript совсем молодой, только недавно появились первые рабочие и стабильные версии. Тем не менее вопрос о спецификации некоторых моментов языка не решен окончательно и находится в стадии проработки. Например, операторы сравнения в разных скриптовых языках работают по-разному, это зависит от того, какие типы данных участвуют в сравнении и какой алгоритм используется в конкретном языке программирования.
Вопрос довольно щекотливый, т.к. от результата булевского выражения зависит, не много не мало, выполнится кусок кода или нет. Русская пословица «одна голова хорошо, а много лучше» подсказывает мне, что лучше обратится к программерскому сообществу и разобраться наверняка в том, какое поведения при сравнении (это операторы >=, >, <=, <, ==, !=) разных типов данных в скриптовом языке является наиболее уместным. Выработать коллегиональное решение и закрепить результат в спецификации ObjectScript.Читать полностью »
Премьера jQuery UI 1.9.0
2012-10-09 в 18:48, admin, рубрики: javascript, jquery, jquery plugins, jQuery UI, метки: jquery plugins, jQuery UI 
За последние два с половиной года команда jQuery UI проделала огромную работу. Было выпущено более десятка релизов, исправлено больше 500 багов. Но основная задача была сделать jQuery UI как можно стабильнее, и гибче. В прошлом году мы замахнулись на серьезную цель:
Мы хотим полностью обновить весь проект к версии 2.0. Мы упростим API, улучшим стабильность, документацию, и обеспечим полное тестирование каждого плагина.
И вот сегодня мы с рады представить вам первый важный шаг в достижении этой цели — новая версия jQuery UI 1.9.0. Она содержит сотни исправлений, лучшее покрытие тестами, и обновленным API. В добавок, мы развернули новую версию сайта, с улучшенной документацией.
Читать полностью »
ObjectScript API, интеграция с C++. Часть 4: подключение пользовательских классов и функций на C++
2012-10-09 в 13:57, admin, рубрики: api, binding, c++, integration, javascript, Lua, ObjectScript, objectscript api, open source, php, Программирование, метки: binding, c++, integration, javascript, lua, ObjectScript, objectscript api, open source, PHPObjectScript — новый встраиваемый объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua и PHP.
По результатам предыдущих статей было много вопросов о том, как подключать свои классы и функции на C++ к ObjectScript. Имеющийся в первых сборках OS способ подключения едва ли удовлетворял потребности и я решил сделать более мощный и удобный биндинг, который теперь идет в комплекте с OS поумолчанию.
В чем собственно преимущество нового биндинга: теперь можно подключать любую функцию, с любыми параметрами, любым возвращаемым значением без дополнительных оберток. Сразу подключаете ту функцию, которая у вас есть и все, готово.Читать полностью »
Оптимизация цикла for — миф или реальность?
2012-10-09 в 12:01, admin, рубрики: for, javascript, optimization, оптимизация кода, метки: for, javascript, optimization, оптимизация кода
Говоря об оптимизации JavaScript можно увидеть множество примеров того, как следует делать или не делать. Мнения некоторых авторов звучат убедительно, их примеры внушают уверенность. И главным образом, подобных рекомендаций в сети много, но значительно меньше статистики по ним. Вот и сегодня на страницах GitHub'а в поле зрения был пойман ранее знакомый теоретический материал по оптимизации циклов for.
Web Standards Days снова в Минске
2012-10-09 в 11:22, admin, рубрики: css 3, html 5, javascript, Веб-разработка, конференция, мероприятие, метки: css 3, html 5, javascript, конференция, мероприятиеКонференц-зал Минского международного образовательного центра имени «Йоханнеса Рау» снова собирает профессионалов веб-разработки и тех, кто только собирается ими стать, а также всех тех, кому просто небезразлична судьба индустрии.Читать полностью »
DBSlayer прокси на BASH за 5 минут или еще один способ отдать JSON из MySQL
2012-10-09 в 11:18, admin, рубрики: bash, javascript, json, linux, mysql, метки: bash, javascript, json, linux, mysql 
Дело было вечером, делать было нечего, но дурная голова уркам покоя не давала… Данный пост создан как результат чисто-академического интереса. А началось все с того, что при разработке небольшого клиентского приложения для своих нужд, реализованного на Javascript, появилась необходимость взаимодействовать с уже существующей базой, где хранятся искомые данные. База — MySQL. Один из простых способов — реализация серверного скрипта (на PHP или еще каком языке), который по входящим параметрам делает нужный запрос и возвращает результат в JSON виде.
Другой вариант — это DBSlayer-прокси для MySQL. Кто про него не слышал, рассказываю в крадце: был создан в недрах New York Times как средство абстракции и балансирования нагрузки на БД. Подробнее можно почитать на сайте code.nytimes.com/projects/dbslayer/wiki/WhyUseIt. DBSlayer предоставляет API на основе JSON, известен в кругу NodeJS разработчиков.
Но это тоже не наш метод. Под катом приведено простое решение данной задачи на BASH.
