Являясь постоянным пользователем форума nodejs.ru, часто наблюдаю картину когда люди начиная изучать nodejs сравнивают ее с php, а иногда пытаются работать с ней так как с php. Я бы хотел объяснить “на пальцах” разницу между php и nodejs применительно к работе сайта. Статья предназначена для новичков. Я намеренно буду говорить очень упрощенно, не вдаваясь в глубокие подробности, что бы как можно проще показать различия в технологиях.
Читать полностью »
Новости информационных технологий - 26475
php и nodejs, разница на пальцах
2012-03-15 в 17:54, admin, рубрики: node.js, nodejs, php, метки: nodejs, PHPФайл подкачки Windows
2012-03-15 в 17:50, admin, рубрики: windows, виртуальная память, метки: windows, виртуальная памятьПо запросу в любой поисковой системе «файл подкачки windows» можно получить тысячу-другую скопированных друг у друга, либо немного отличающихся ответов по выбору оптимальных размеров для pagefile.sys.
Самые распространенные советы выглядят примерно следующим образом: для машин с маленьким ОЗУ нужно задавать размер файла подкачки k*RAM, где RAM — объем физической памяти, k — какой-нибудь коэффициент, коих много самых разнообразных. И 1,5, и 2, и даже 3 встречал. Если же планок памяти стоит на 4Гб и больше, то «смело отключайте виртуальную память в принципе».
Статья о том, стоит ли верить ли этим советам, и если да, то насколько.
Читать полностью »
25 полезных шорткатов для Photoshop
2012-03-15 в 17:44, admin, рубрики: adobe, photoshop, сочетания клавиш, шорткатыЗдравствуй, дорогой хабрадруг! В этой статье приводятся 25 самых полезных сочетаний клавиш (шорткатов) в Photoshop, которые вы можете использовать, для того чтобы ускорить выполнение вашей работы. Некоторые из них редко упоминаются, некоторые применяются довольно часто, а некоторые вообще доступны только в Photoshop CS5. Я надеюсь, что каждый из вас найдет новые и полезные шорткаты в этой статье. Итак, давайте же начнем!
Рекомендательные системы: SVD, часть I
2012-03-15 в 16:38, admin, рубрики: surfingbird, Блог компании Surfingbird, коллаборативная фильтрация, рекомендательные системы, метки: surfingbird, коллаборативная фильтрация, рекомендательные системыПродолжаем разговор о рекомендательных системах. В прошлый раз мы сделали первую попытку определить схожесть между пользователями и схожесть между продуктами. Сегодня мы подойдём к той же задаче с другой стороны – попытаемся обучить факторы, характеризующие пользователей и продукты. Если Васе из предыдущего поста нравятся фильмы о тракторах и не нравятся фильмы о поросятах, а Петру – наоборот, было бы просто замечательно научиться понимать, какие фильмы «о поросятах», и рекомендовать их Петру, а какие фильмы – «о тракторах», и рекомендовать их Васе.
Компания Lenovo объединяется с SugarSync
2012-03-15 в 16:22, admin, рубрики: Новости, метки: A.Rafael Компания Lenovo на днях приняла решением об объединении с компанией SugarSync для создания облачного хостинга для компьютеров, планшетов, смартфонов и других устройств Lenovo. Сервис будет носить название – Lenovo Cloud Storage. Пользователям сервиса будет представляться 5 гигабайт места для хранения документов, фотографий, музыки, фильмов и других файлов. Также в сервисе предусмотрено увеличение облачного хранилища, за которое придется заплатить.
Доступ к новому облачному хранилищу можно получить не только с устройств марки Lenovo, но и со сторонних устройств. Сервис Lenovo Cloud Storage предоставляет доступ к совместной работе в сети и обмену файламиЧитать полностью »
Написание компилятора LALR(1)-парсеров. Часть 1
2012-03-15 в 15:27, admin, рубрики: c++, lalr, Алгоритмы, Компиляторы, парсеры, синтаксический анализ, метки: lalr, компиляторы, парсеры, синтаксический анализВведение, или зачем нужны синтаксические анализаторы
Добрый день.
Не так давно появилась у меня задача синтаксического анализа одной грамматики. Существующие решения мне увы не подходили, поэтому встала проблема написания собственного генератора парсеров. Несмотря на то, что тема довольно популярная и существует не так уж и мало статей и книг по данному сабжу, я всё-таки решил еще раз описать данный процесс, причём начать с самых базовых понятий.
Эта часть посвящена базису, общей теории computer science. Возможно, что это даже преподаётся в школах/вузах России. Самая мякота пойдет со второй части.
Итак, зачем же кому-то может понадобиться писать парсер и что вообще это такое? Парсер — это код, который наделяет входящий набор символов семантическим смыслом. То есть, происходит анализ этих символов, и на основе этого анализа программа понимает как интерпретировать эти буквы и цифры. Простой пример — «1+2», после или во время процесса парсинга знак "+" это не просто символ плюса, но обозначение бинарноого оператора сложения, а в "+3" это унарный оператор знака числа. Большинству людей это очевидно, машине — нет.
Парсеры используются всюду — в Word'e для анализа приложений, словоформ, формул, etc; практически на любом сайте при валидации входных данных: email'а, телефонного номера, номера кредитки; конфигурационные файлы; сериализованные данные (например, в xml); во многих играх — скриптовые ролики, скрипты ИИ, консоль. В общем, это неотъемлемая часть computer science.
Трансплантация IP адресов с сервера на сервер
2012-03-15 в 14:20, admin, рубрики: bridge, linux, openvpn, route, системное администрирование, туннелирование, шифрование, метки: bridge, linux, openvpn, route, routing, туннелирование, шифрованиеДопустим, есть задача присутствия удаленных сервисов в каком-то локальном сегменте Internet. Или наоборот — задача присутствия локальных сервисов в удаленном сегменте Internet — как кому нравится.
Блоками IP мы не рулим, с BGP заморачиваться не охота.
То есть нам надо предоставить IP адрес IP1_2 сервера SERVER1 как один из действующих IP адресов сервера SERVER2. Ну и тоже самое — для IP1_3 и SERVER3.
Сами сервера могут быть расположены где угодно по отношению друг к другу. Локальные айпишники IP1_1, IP2_1, IP2_2, IP3_1, IP3_2 должны работать и отвечать как ни в чем ни бывало.
Мы просто добавим на сервера SERVER2 и SERVER3 по одному айпишнику с сервера SERVER1. В добавок еще и тоннель зашифруем.
Читать полностью »
Усовершенствование паттерна Flyweight в биовычислениях
2012-03-15 в 14:19, admin, рубрики: биоинформатика, паттерны проектирования, Проектирование и рефакторинг, Совершенный код, метки: биоинформатика, паттерны проектированияПредыстория
Сразу извиняюсь за сложность, но сложна как сама ситуация для применения этого, так и способ решения, но получается в результате красиво и эффективно :)
Началось с того, что описал одну проблемку о проблемах ООП. Потом случайно благодаря разговорам тут начал обдумывать паттерны проектирования. И в связи с темой «полное копирование объекта» вышел на паттерн Flyweight. Кто не знает — прошу вначале читайте о нем в Приемы объектно-ориентированного проектирования. Паттерны проектирования (Не в вики, а в оригинале).
Основная идея там такова:
Паттерн Flyweight описывает, как совместно разделять очень мелкие объекты без чрезмерно высоких издержек. Каждый объект-приспособленец имеет две части: внутреннее и внешнее состояния. Внутреннее состояние хранится (разделяется) в приспособленце и состоит из информации, не зависящей от его контекста. Внешнее состояние хранится или вычисляется объектами-клиентами и передается приспособленцу при вызове его методов.
Задача
Мы рассмотрим как это улучшить на конкретном примере. О биовычислениях буду говорить очень мало — но пример будет построен на этом. Суть биовычислений попытаюсь полностью вытравить, оставив только схему.
P.S. Если кому то интересна проблематика самих биовычислений по задаче сворачивания РНК/белков — делайте заказ напишу тогда отдельную статью.
Усовершенствовании паттерна Flyweight в биовычислениях
2012-03-15 в 14:19, admin, рубрики: биоинформатика, паттерны проектирования, Проектирование и рефакторинг, Совершенный код, метки: биоинформатика, паттерны проектированияПредыстория
Сразу извиняюсь за сложность, но сложна как сама ситуация для применения этого, так и способ решения, но получается в результате красиво и эффективно :)
Началось с того, что описал одну проблемку о проблемах ООП. Потом случайно благодаря разговорам тут начал обдумывать паттерны проектирования. И в связи с темой «полное копирование объекта» вышел на паттерн Flyweight. Кто не знает — прошу вначале читайте о нем в Приемы объектно-ориентированного проектирования. Паттерны проектирования (Не в вики, а в оригинале).
Основная идея там такова:
Паттерн Flyweight описывает, как совместно разделять очень мелкие объекты без чрезмерно высоких издержек. Каждый объект-приспособленец имеет две части: внутреннее и внешнее состояния. Внутреннее состояние хранится (разделяется) в приспособленце и состоит из информации, не зависящей от его контекста. Внешнее состояние хранится или вычисляется объектами-клиентами и передается приспособленцу при вызове его методов.
Задача
Мы рассмотрим как это улучшить на конкретном примере. О биовычислениях буду говорить очень мало — но пример будет построен на этом. Суть биовычислений попытаюсь полностью вытравить, оставив только схему.