Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Встречайте Node.js 14.0.0

Разработка веб-сайтовJavaScriptNode.JSWebAssembly


Вышла версия Node.js 14.0.0. Эта версия будет жить долго, до апреля 2023 года, и сейчас в ней еще не появилось всех ожидаемых нами новшеств. Они будут постепенно появляться летом, а 19 октября 14 версия станет LTS.

Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Просмотры15K
Комментарии 11

Blender, 1001 мелочь

Open sourceРабота с 3D-графикойСофт
Tutorial

Продолжение разбора приёмов работы с пакетом трёхмерной графики Blender версии 2.79. На этот раз речь пойдёт о материалах в Cycles и о том, как отрендерить итоговую картинку.

Далее
Всего голосов 5: ↑4 и ↓1+3
Просмотры2.7K
Комментарии 20

Server-side JS (v8+Node)

JavaScript
Недавно видел на хабре спор по поводу того, что нам не нужны никакие скриптовые языки, кроме javascript. Утверждение, конечно, спорное, но меня заинтересовала возможность применения javascript на сервере.
Читать дальше →
Всего голосов 42: ↑39 и ↓3+36
Просмотры11K
Комментарии 82

Как я стал нодой

Fidonet
image
О Фидонете я знал давно. Ещё в далеком 2003 году, получив в своё распоряжение модем на 14400, первым делом я попытался подключиться к Сети Друзей. Но… Не сложилось. Потом появилось подключение к интернету, подписка в режиме read-only через NNTP, но мысль не только читать, но и писать всё равно осталась где-то в подсознании…

Год 2010. Пойнт.


И вот на дворе 2010 год. А если точнее — апрель-месяц. Появляется статья История одного пойнта, что выводит писательскую мысль из коматоза и отправляет на поиски пойнтового адреса у Сергея (2:5020/2140). И вот оно — первое сообщение и первый нетмейл!
Я сразу понял, что радость только начинается…
Читать дальше →
Всего голосов 168: ↑121.5 и ↓46.5+75
Просмотры5.8K
Комментарии 215

Порядок выполнения тернарного оператора

PHP
В php есть интересная особенность тернарного оператора — специфический и уникальный порядок выполнения.

$ python -c "print 1 if true else 2 if true else 3 if true else 4 if true else 5"
 1

$ node   -e "      true ? 1 : true ? 2 : true ? 3 : true ? 4 : 5"
 1

$ perl   -e "print true ? 1 : true ? 2 : true ? 3 : true ? 4 : 5"
 1

$ ruby   -e "print true ? 1 : true ? 2 : true ? 3 : true ? 4 : 5"
 1

$ php    -r "print true ? 1 : true ? 2 : true ? 3 : true ? 4 : 5;"
 4
Java и C++ тоже вернут 1

Читать дальше →
Всего голосов 90: ↑70 и ↓20+50
Просмотры32K
Комментарии 110

Microsoft поможет портировать Node на Windows

Node.JS
Перевод
Я рад рассказать о том, что Microsoft в сотрудничестве с Joyent предоставит ресурсы для портирования Node на Windows. Как вы уже могли слышать ранее в этом году, мы начали работу над нативным портом на Windows — с целью использовать высокопроизводительный IOCP API.

Эта работа требует в значительной степени модифицировать базовую структуру и мы очень рады тому, что теперь получаем официальное руководство и инженерные ресурсы от Microsoft. От Rackspace так же выделено время Bert Belder для выполнения этой работы.

Результатом будет официальный бинарный релиз node.exe опубликованный на nodejs.org, который будет работать на Windows Azure и других версиях Windows начиная с Windows Server 2003.
Всего голосов 65: ↑54 и ↓11+43
Просмотры1.3K
Комментарии 57

За что я люблю Drupal

Drupal
По моему скромному мнению, CMS Drupal наиболее близко подошла к понятию «идеальная CMS». Очень многое в Drupal сделано для облегчения жизни разработчиков. В этой статье мне хочется рассказать об основных моментах, которые мне нравятся в Drupal. Материал рассчитан на пользователей, мало знакомых с Drupal. Иногда мне придется говорить очень простые вещи, но именно из-за этих простых мелочей и складывается очень приятное впечатление от Drupal.

Сразу стоит предупредить, что Drupal это не готовое решение. После установки вы не получите настроенную и работающую социальную сеть, интернет магазин и т.д. В Drupal действует принцип «предоставление возможностей по мере необходимости». Именно поэтому на Drupal не делают сателиты и ГС в промышленном масштабе и, возможно, именно поэтому количество рабочих сайтов на Drupal уступает таким CMS как Joomla и Wordpress, любимым CMS строителей сателитов и ГС.

Drupal предоставляет удобные инструменты для разработки сайта, который нужен именно вам. Создатели Drupal понимают, что каждый сайт индивидуален и предоставление готового решения было бы не правильно, вместо этого они предоставляют инструменты для разработки. Весь Drupal и все его модули пропитаны этой идеей. Отсутствие ограничений и множество настроек позволяют разработать сайт под конкретную задачу легко и просто.
Читать дальше →
Всего голосов 132: ↑81 и ↓51+30
Просмотры25K
Комментарии 82

Релиз node.js 0.6.0

Node.JS
Перевод
Вышла новая стабильная версия node.js — 0.6.0 .

Скачать (tar.gz, linux) Скачать (exe, windows)
Сайт
Документация

Поскольку это major-release, в API были внесены изменения без обратной совместимости. Если в вашем приложении/модуле перестало что-то работать — эта страница wiki поможет вам в миграции:
https://github.com/joyent/node/wiki/API-changes-between-v0.4-and-v0.6

Основные изменения, по сравнению с веткой 0.5.x:
Читать дальше →
Всего голосов 41: ↑36 и ↓5+31
Просмотры1.4K
Комментарии 16

Node.js на Windows (с тестами производительности)

Node.JS


В этой статье мы рассмотрим вопросы наиболее важные для начинающих веб программистов и тех кто задумывается об изучении Node.js, а именно:
  • как установить рабочее окружение Node.js на своем компьютере;
  • как писать код;
  • как отлаживаться;
  • как развернуть то, что получилось на удаленном сервере.
А тесты производительности в конце статьи возможно дадут ответ на вопрос зачем собственно вам может понадобится изучать Node.js.
Читать дальше →
Всего голосов 95: ↑79 и ↓16+63
Просмотры46K
Комментарии 72

The Node Toolbox

Node.JS
Обнаружив трёхдневной давности правку в вики Node, я жмякнул по приведённой там гиперссылке и попал на сайт-каталог «The Node Toolbox», довольно полезный. Как я понял тотчас же, целью этого сайта является распределение по категориям (или по тегам) всех тех пакетов с джаваскриптами для Node, которые содержатся в каталоге пакетного менеджера npm. Таким образом, сайт этот может быть ценною отправною точкою для поиска пакетов для Node по их предназначению. (В мире открытого кода это средство, как и другие до него, позволяет человеку внимательному не переизобрести ненароком чей-нибудь велосипед.)

Наверху сайта «The Node Toolbox» видна «горячая десятка» наиболее свежих пакетов и десятка наиболее используемых пакетов (по числу зависимостей других пакетов от них) — в общем-то это средство менее полезно и инновационно, чем список категорий, потому что эти рейтинги и без того видны на search.npmjs.org (притом там в рейтингах видать по пятнадцать пакетов, а у «The Node Toolbox» всего лишь по десять).

Более или менее пристальное вглядывание в эти рейтинги на протяжении нескольких последних месяцев привело меня ко впечатлению (быть может, и ошибочному: архивов-то рейтингов я не веду, а полагаюсь на память) о постепенном росте популярности пакета async, сейчас вошедшего ужé в десятку наиболее используемых. Он полезен тем, что содержит два десятка функций, серьёзно упрощающих объединение вызовов асинхронных функций, составление из них более крупных фрагментов алгоритмов. Не могу не отметить, что наблюдаемая популярность вполне заслужена пакетом async. Есть основания думать о части функций пакета async (притом о заметно большой части их) как о своего рода асинхронном аналоге соответствующих функций underscore, используемых при пакетной обработке коллекций (то есть массивов и объектов) — а ведь тот же рейтинг называет пакет underscore наиболее используемым в других пакетах для Node. Логично, что популярен и асинхронный аналог его.

Читать дальше →
Всего голосов 31: ↑24 и ↓7+17
Просмотры1.5K
Комментарии 5

node-get

Node.JS
В движке Node встроенным средством отсылки запросов к отдалённым web-серверам (и обработки полученных откликов) является метод http.request(), однако он оказывается чрезмерно низкоуровневым: если на дальнем конце настроено серверное перенаправление, то этот метод выдаст вам страницу с кодом HTTP 301 (или HTTP 302, или HTTP 303…), а не ту страницу или тот файл, на который перенаправление указывает.

Преодолеть этот недостаток помогает модуль node-get, разработанный организацией «Development Seed»: он автоматически обрабатывает перенаправления и получает окончательный отклик на отосланный запрос.

Читать дальше →
Всего голосов 11: ↑5 и ↓6-1
Просмотры603
Комментарии 6

Внутри HTTP-сервера, встроенного в Node, обнаружена уязвимость

Node.JS
Мэтью Дэйли (Matthew Daley) выяснил, что в коде HTTP-сервера, встроенного в движок Node, есть такая ошибка (или даже просто опечатка: используется «size» вместо «size_»), из-за которой специально сформированным запросом к серверу можно добиться того, что сервер существенно переоценит реальный размер запроса и включит в него содержимое соседних чужих HTTP-запросов (например, частью переданной на сервер переменной станут чьи-нибудь чужие cookies; и если это будет переменная из числа тех, которые тотчас же выводятся на экран, то крякерская атака легко может оказаться успешною).

Всем пользователям Node версий 0.5.x и 0.6.x следует без промедления обновить Node до версии 0.6.17, а обладателям экспериментальных версий из ветки 0.7 следует обновить их до 0.7.8. (Версии 0.4.x не содержат этой ошибки, однако на вашем месте я бы их всё равно обновил, ибо они старьё.)

Об этом опубликовано оповещение во блоге Node.

Читать дальше →
Всего голосов 47: ↑38 и ↓9+29
Просмотры1.2K
Комментарии 30

Послезавтра (25 июня) вероятным будет выпуск очередной стабильной версии (0.8.0) движка Node.js

Node.JS
Версия 0.8 движка Node.js подготавливалася давно, и вот постепенно становится понятно, что выпуск её вероятен послезавтра — 25 июня 2012 года.

На Гитхабе ужé состоялся коммит с упоминанием послезавтрашней даты, в списке ветвей кода появились ветки «v0.8» и «v0.8.0-release», во блоге Node 19 июня опубликовано сообщение о том, что версия 0.7.12 станет последнею в своей ветке 0.7.

Что же это будет означать для программистов на джаваскрипте, использующих движок Node для запуска своих скриптов? Чем обернётся обновление программного обеспéчения?

Исправления тех или иных ошибок в коде никак не повлияют на наше с вами программирование (если только прежде не приходилося специально обходить их), поэтому обратить внимание придётся прежде всего на накопившиеся мелкие изменения в API. К счастью, в вики Node на Гитхабе есть страница «API changes between v0.6 and v0.8», в которой все они аккуратно перечислены. Нетрудно обнаружить, что там их ≈60 штук, считая и нерекомендуемые, и удалённые, и изменённые, и вновь появившиеся возможности.

Читать дальше →
Всего голосов 22: ↑11 и ↓110
Просмотры426
Комментарии 4

Node v0.8.0

Node.JS
Перевод
Я необыкновенно рад объявить о выходе новой стабильной версии Node.js.

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

Вкратце


С приходом версии 0.8.0:

  1. Node стал гораздо быстрее.
     
  2. Node стал стабильнее.
     
  3. Снова можно работать с дескрипторами файлов.
     
  4. Модуль cluster стал куда более умопотрясающим.
     
  5. Был добавлен модуль domain.
     
  6. Модуль repl стал лучше.
     
  7. Система сборки waf заменилась на gyp.
     
  8. Также случились некоторые другие изменения.
     
  9. Внизу блогозаписи — ссылки на установочные файлы Node.

Читать дальше →
Всего голосов 53: ↑40 и ↓13+27
Просмотры1.7K
Комментарии 19

Полный набор пакетов для разработки с помощью NodeJS

JavaScriptNode.JS
Начал изучать NodeJS. Нигде не нашел актуальный стек мейнстримных библиотек (технологий) применяемых в node. Поэтому решил сам составить список.
Читать дальше →
Всего голосов 93: ↑83 и ↓10+73
Просмотры51K
Комментарии 45

JavaScript: от начала до конца

JavaScriptNode.JS
TL;DR
Эта обзорная статья. Такое себе "краткое содержание предыдущих серий". Она будет полезна для новичков, или тех, кто не следил за отраслью в последнее время. Для новичков это будет первый шаг во "Вселенную JavaScript", бывалые смогут освежить свои знания.

У JavaScript очень удивительная судьба. Он преодолел путь от самого не понимаемого до самого удивительного языка. У него было тяжелое детство:
Изначально Автор хотел написать функциональный язык. Но менеджеры хотели получить, «обычный» объектно-ориентированный. И чтобы было легко искать разработчиков для новоиспеченного языка синтаксис решили сделать похожим на Java и даже название сделали похожим.
Но на этом история не заканчивается. Java, JavaScript это торговые марки Sun (а теперь Oracle). Microsoft не мог воспользоваться именем JavaScript (Netcape и Sun дружили против Microsoft). В результате Microsoft решил сделать реверс инжиниринг JavaScript и назвал его JScript. Сделали реверс инжиниринг, и сделали его настолько хорошо, что даже содрали все баги в реализации. Позже решили сделать стандарт и назвали его ECMAScript.
Читать дальше →
Всего голосов 127: ↑114 и ↓13+101
Просмотры187K
Комментарии 116

PCRE в JavaScript под Node

JavaScriptРегулярные выраженияNode.JS
Между регулярными выражениями в JavaScript и регулярными выражениями PCRE (употребляющимися в Perl и в PHP) есть ряд различий, главнейшим из которых, вероятно, является отсутствие lookbehind (ретроспективной проверки) в JavaScript.

Естественной задачею программистов, раздражённых этими различиями, является внедрение PCRE в JavaScript.

На движке Node к концу нынешнего января Брайан Уайт (Brian White) решил эту задачу, создав модуль node-pcre, служащий обёрткою вокруг движка PCRE.

Этому можно порадоваться, и порадуемся.

Однако node-pcre, как и всякая обёртка вокруг двоичного кода, требует отдельной компиляции на каждой из платформ, совместимых с Node.

Интересно, придёт ли со временем кому-нибудь на ум использовать Emscripten для перевода движка PCRE непосредственно на язык JavaScript?

Мечты, мечты.
Всего голосов 13: ↑9 и ↓4+5
Просмотры3.7K
Комментарии 10

Node v0.10.0

Node.JS
Перевод
Я рад объявить о выходе новой стабильной версии Node.

Переход на неё приносит значительные улучшения во многих областях, сосредоточенные на улучшении API, на простоте употребления, на обратной совместимости.

Весьма краткий обзор значимых изменений API по сравнению с v0.8 читайте, пожалуйста, на странице вики об изменениях API.

Streams2


В предыдущей блогозаписи мы представили вам изменения API, названные «Streams2». Если вы не успели осмотреть их, прочтите, пожалуйста, теперь хотя бы тогдашний подраздел «tl;dr».

Изменения интерфейса потоков подготавливались давно. С самых ранних дней Node всем нам было вроде как известно, что «события data начинают сразу поступать» и «вызов pause() не обязательно оказывает эффект» — это страшная и ненужная фигня. В версии 0.10 мы наконец поднапряглись и устроили коренные изменения, улучшившие поведение потоков.

Что ещё важнее, теперь все потоки в ядре Node устроены на основе одного и того же набора легко расширяемых основных классов, так что поведение их стало гораздо предсказуемее, а также небывало упростилось создание потоковых интерфейсов для ваших собственных пользовательских программ.

По правде говоря, API Streams2 разрабатывался по мере использования его для модулей из реестра npm. В настоящий момент 37 опубликованных модулей Node ужé пользуются библиотекою readable-stream в качестве одной из своих зависимостей. Пакет readable-stream для npm позволяет использовать новую форму интерфейса Stream в вашем прежнем коде v0.8.

Читать дальше →
Всего голосов 60: ↑50 и ↓10+40
Просмотры10K
Комментарии 15

Приход Node на Android: первые шаги

JavaScriptРазработка под AndroidNode.JS
Позавчера на Гитхабе в репозиторий Node.js был принят тот код, посредством которого Linus Mårtensson учёл небольшие, но важные различия в поддержке Android и стандартных POSIX-систем. Также появился автоконфигуратор, позволяющий собрать Node для Android за два шага:

  1. source ./android-configure ~/android-ndk-r8d (второй параметр — это путь к NDK)
     
  2. make -j8 (сборка андроидосовместимых бинарников)

С этим достижением не всё ещё гладко (вон там, например, поступило предложение получше подстраиваться под шестидесятичетырёхбитные системы). Однако новость ужé такова, что можно подпрыгнуть от радости! Со времён начала прямой (а не под cygwin) поддержки Windows-версии Node (а это было давным-давно — в 2011 году) не случалось ещё ни одного столь же заметного шага в направлении совместимости между Node и новыми (ранее не поддерживавшимися) операционными системами.

Сразу скажу, впрочем, что у меня эта новинка пока что оставляет больше вопросов, чем ответов.

Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Просмотры19K
Комментарии 14