Pull to refresh
  • by relevance
  • by date
  • by rating

Конструктор социальных сетей Ning официально открылся

Lumber room
Марк Андрессен, благодаря своему бэкграунду, стабильно находится в центре внимания экспертов, журналистов и венчурных финансистов в Кремниевой долине. Еще бы, ведь это тот самый Андрессен, сооснователь легендарной компании Netscape, которая вышла на биржу в 1995 году и своим феноменальным успехом предвосхитила наступающий бум доткомов.
Читать дальше →
Total votes 38: ↑35 and ↓3 +32
Views 1.2K
Comments 19

Yahoo выпустила конструктор метапоисковиков

Search engines *
Конструктор Yahoo! Alpha работает через интуитивный интерфейс: создать свой метапоисковик можно в несколько щелчков мышкой, перетаскивая виджеты на экране. Пока выпущена только бета-версия Yahoo! Alpha, но она выглядит очень многообещающе.


Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Views 756
Comments 6

Системник из конструктора

Desktop PC's
Системный блок из конструктора
Этот мегапроект я замутил благодаря апгрейду основной машинки, после чего у меня высвободилась мать и кучка комплектующих.
Вспомнив свое детство и достав из закромов конструктор я начал свое черное дело…
Смотреть еще фотки
Total votes 118: ↑98 and ↓20 +78
Views 257
Comments 78

UserAPI — Конструктор Социальных сетей на базе ВКонтакте

Social networks and communities
Павел Дуров заявил об открытии нового проекта: User API.

Сервис предназначен для быстрого построения соцсети (заявленное минимальное время — 5 мин.)
Новые сети будут использовать данные сети ВКонтакте (пользователи, фото, etc.).

При монетизации проекта: доходы будут делиться на 60% хозяину, 40% User API. Подробнее в уловиях пользования User API.

Документация проекта.

Для тех кто не зарегестрирован ВКонтакте копипаста из блога Дурова:
Читать дальше →
Total votes 83: ↑74 and ↓9 +65
Views 37K
Comments 153

Покорим Ruby вместе! Капля десятая

Programming *
В этой капле мы еще раз углубимся ООП, выясняя новые методики работы с классами, объектами, модулями, которые обязательно пригодятся нам в серьезном программировании.

Множественные конструкторы


Что если мы хотим иметь несколько конструкторов для объекта? Ничто не мешает нам создать дополнительные методы класса, которые возвращают новые объекты. В следующем примере мы описываем котов, имеющих пять параметров: вес, высота, и три на окрас. Мы создадим дополнительные методы, которые определят некоторые типы котов “по умолчанию” (например, черный кот или толстый кот):

Дальше еще больше о котах
Total votes 36: ↑26 and ↓10 +16
Views 10K
Comments 21

Порядок инициализации в конструкторах

C++ *
Итак, вот небольшая программа на C++:

#include <iostream>

class A {
private:
  int a;
  int b;
public:
  A(int x) : b(x), a(b) {}
  void dump() {
    std::cout << "a=" << a << " b=" << b << std::endl;
  }
};

int main() {
  A a(42);
  a.dump();
  return 0;
}

Если вы считаете, что она выдаст

a=42 b=42

То вас ждёт сюрприз
Total votes 79: ↑70 and ↓9 +61
Views 47K
Comments 74

Безопасные конструкторы

C++ *
Недавняя статья о порядке инициализации членов класса вызвала весьма любопытную дискуссию, в которой, среди прочих, обсуждался вопрос, как правильно оформлять члены класса, хранить ли их по значению и организовывать конструктор так:

A::A(int x) : b(x) {}

Или хранить их по ссылке:

A::A(int x) { b = new B(x); }

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

Читать дальше →
Total votes 46: ↑42 and ↓4 +38
Views 20K
Comments 58

Транзистор из человеческих ДНК

Computer hardware
Пару лет назад американский биолог Пол Ротмунд обнаружил, что молекулы ДНК обладают способностью к самосборке в различные правильные геометрические формы — треугольники, квадраты, звёздочки и т.д. (работа Ротмунда в PDF). Это действительно интересное открытие (оно вошло в список 12 самых важных научных открытий 2006 года) теоретически позволяет сделать из нашего ДНК нечто вроде конструктора «Лего».



Практическая реализация такой возможности не заставила себя долго ждать.
Читать дальше →
Total votes 65: ↑61 and ↓4 +57
Views 1.6K
Comments 39

Сети. Такие разные конструкторы

Social networks and communities
Немного больше недели назад на Хабре вышла статья про социальные конструкторы , но в ней почему-то было рассказано только про два из них- Taba и Ning. Почему-то казалось, что таких конструкторов больше, чем два=) А ведь можно еще брать и социальные сети, которые могут выполнять функцию конструктора – тогда их будет гораздо больше, чем два. Проведя некоторое количество времени и вспомнив социальные сети, которые когда-либо видела, получается интересная картина. Все социальные площадки, с помощью которых можно объединить людей вокруг какой-той темы, сделать свое сообщество или группу, в общем, можно условно разделить на три основных блока: 1) потребительские сети 2) корпоративные сети и 3) сети для бизнеса.

Читать дальше →
Total votes 31: ↑24 and ↓7 +17
Views 1.7K
Comments 44

Электронный конструктор (ЭКОН-02 vs Знаток)

Old hardware
Как то разговорились с коллегой по работе об электронных конструкторах, оказалось у него дома на полках пылится Экон-02. В моем детстве такого счастья не было и я очень захотел, чтобы у моего сына был какой то аналог Экон-02.
электронный конструктор Экон-02
Читать дальше →
Total votes 64: ↑58 and ↓6 +52
Views 16K
Comments 67

Апрельские азбучные истины в «Smashing Magazine»

Website development *
Вот и подходит к концу весенний месяц апрель. За этот месяц в «Smashing Magazine» появились две небезынтересные статьи, полные истин более или менее азбучных. И так как иногда хочется перечитывать и азы, чтобы не упустить из вида и сознания ничего существенного, то я вам эти статьи порекомендую.

«Seven JavaScript Things I Wish I Knew Much Earlier In My Career» — статья о том, как сочинять код джаваскриптов, чтобы как можно менее утруждать себя. Вместо конструкторов Object() и Array() использовать краткую запись, вместо условий записывать тернарный оператор «a? b: c», по возможности пользоваться встроенной сортировкою и обработкою вместо своей самописной, применять JSON и делегировать события, и так далее. Всё это — с примерами кода.

«Maps In Modern Web Design: Showcase and Examples» — статья об употреблении географических карт на сайтах. Никакого кода, зато масса красивых иллюстраций картографического и геоинформационного характера с подтекстом: делайте так, и сайт ваш будет красив и удобен.
Вы видели когда-нибудь, как выглядит карта покрытия 2G на сайте «Билайна» в Краснодарском крае и Адыгее? Уверен: если бы создатели этого сайта читали «Smashing Magazine», то у них бы получилось чуточку лучше. (Я уж не говорю про их же страницу сети 3G, где вообще нельзя ничего понять о покрытии.)
Total votes 10: ↑6 and ↓4 +2
Views 777
Comments 2

Создание объектов в Javascript

JavaScript *
Sandbox
Гибкость Javascript позволяет создавать объекты множеством способов. Но как это нередко случается, разнообразие таит в себе множество подводных камней. Из этой статьи Вы узнаете о том, как разглядеть и обогнуть эти опасные рифы.
Читать дальше →
Total votes 133: ↑119 and ↓14 +105
Views 60K
Comments 68

ProtoSnap — интересный «конструктор» для начинающего электронщика

Gadgets


Сайт sparkfun на днях представил интересный проект, ProtoSnap, который представляет собой нечто вроде конструктора для любителей электроники, правда, не для профи, а для новичков. Это обучающий комплект, который позволяет начинающему электронщику практиковаться в создании различных устройств и модулей. По словам разработчиков, такой комплект идеально подходит для студентов, изобретателей, инженеров разного рода. В общем, для всех, кто неравнодушен к электронике, и желает самостоятельно собрать что-нибудь эдакое. В рамках проекта разработано три вида комплектов ProtoSnap.

Читать дальше →
Total votes 46: ↑42 and ↓4 +38
Views 3.7K
Comments 101

Самовызывающийся конструктор Джона Резига и размышление о том, почему это решение не прижилось

JavaScript *
Tutorial
Настала пора мысленно вернуться на четыре с небольшим года назад ко блогозаписи «Simple “Class” Instantiation» из блога Джона Резига, прославленного создателя необыкновенно удобной библиотеки jQuery. И вернёмся.

Однако же, так как я вовсе не вижу её в результатах поиска на Хабрахабре по слову «Resig», то поневоле приходится думать, что эту полезную блогозапись никто не удосужился перевести (или хотя бы пересказать) за четыре прошедших года — мне придётся, стало быть, самостоятельно пересказать блогозапись Резига прежде, чем я исполню моё главное намерение: поразмыслить вслух, почему же предложенный Резигом способ решения указанной им проблемы так и не сделался общераспространённым. И перескажу. (Сам этот пересказ ужé был бы полезен читателю, даже кабы я к нему ничего от себя не прибавил. А я прибавлю.)



Шестого декабря 2007 года Резиг рассмотрел, что получается, когда в джаваскрипте используется операция «new» для создания объекта (в языках с классами мы сказали бы «экземпляра класса»):

function User(first, last){
   this.name = first + " " + last;
}

var user = new User("John", "Resig");

Резиг справедливо подметил, что для начинающих программистов на джаваскрипте не вполне очевидно, что появление «this» в коде функции указывает на то, что перед нами конструктор объекта. (Я от себя в скобках прибавлю: если функция находится в недрах некоторой библиотеки, то это обстоятельство нуждается также и в документировании — а не то пользователь библиотеки не многим будет отличаться от новичка: исходный код с телом функции читают не все, тем более что он нередко применяется в минифицированном, не читаемом виде.)

Поэтому, рассудил Резиг, рано или поздно кто-нибудь попробует вызвать «User()» без «new» и тем получит на свою голову сразу две неприятные проблемы. Во-первых, переменная «user» останется неопределённою: функция «User()» задумана ведь как конструктор, а значения она никакого не возвращает. Во-вторых, что ещё хуже, попытки обращения к «this» изнутри такого (некорректно вызванного) конструктора неизбежно приведёт к засорению глобального пространства имён — а это чревато зловещими и трудноуловимыми последствиями. Обе проблемы Джон Резиг продемонстрировал на примере:

var name = "Resig";
var user = User("John", name);
// здесь переменная «user» не определена
// БОЛЕЕ ТОГО: значение «name» теперь ужé не «Resig»!
if ( name == "John Resig" ) {
   // фигассе!…
}

Читать дальше →
Total votes 78: ↑67 and ↓11 +56
Views 12K
Comments 50

Счастливое детство с ЗD-принтером

Open source *
Когда в детстве мне надо было соединить несколько деталей из разных конструкторов, обычно приходилось пользоваться пластилином. Не самая удобная штука, но ничего лучшего не находилось — настоящие “взрослые” инструменты были слишком велики, тяжелы и недоступны, а что такое скотч, в 80-е было известно лишь избранным. Современным детям повезло куда больше. F.A.T. Lab совместно с Sy-Lab создали набор высококачественных 3D-моделей коннекторов, с помощью которых можно соединять между собой детали десяти популярных детских конструкторов — Free Universal Construction Kit.
Читать дальше →
Total votes 42: ↑39 and ↓3 +36
Views 9.2K
Comments 37

«Сложно о простом». Функции-конструкторы — как объекты,(prototype). Объекты,(__proto__). constructor, ={}, как функция-конструктор new Object()

Website development *JavaScript *Programming *
В прошлый раз мы попытались разобраться со следующими вещами:

  • 1. Не смотря на расхожее мнение «всё в JS является объектами» — это не так, мы выяснили, что из 6 доступных программисту типов данных аж 5 является примитивами и лишь один представляет тип объектов.
  • 2. Про объекты мы узнали, что это такая структура данных, которая содержит в себе пары «ключ-значение». Значением может быть любой из типов данных (и это будет свойство объекта) или функция (и это будет метод объекта).
  • 3. А вот примитивы – это не объекты. Хотя с ними и можно работать как с объектом (и это вызывает заблуждение что примитив – это объект), но…
  • 4. Переменные можно объявить как по простому (литерально) (var a = ‘str’), так и через функцию-конструктор (обёртка)(var a = new String(‘str’)). Во втором случае мы получим уже не примитив, а объект созданный конструктором String(). (что за магический оператор new и что такое функция-конструктор мы узнаем дальше).
  • 5. Узнали, что именно за счёт создания обёртки над примитивом (new String(‘str’)) c ним можно работать как с объектом. Именно эту обёртку создаёт интерпретатор вокруг примитива, когда мы пытаемся работать с ним как с объектом, но после выполнения операции она разрушается (поэтому примитив никогда не сможет запомнить свойство, которое мы ему присвоим a.test = ‘test’- свойство test исчезнет с обёрткой).
  • 6. Узнали, что у объектов есть метод toString() который возвращает строковое представление объекта (для типа number valueOf() – вернёт числовое значение).
  • 7. Поняли, что при выполнении операций конкатенации или математических операциях примитивы могут переопределить свой тип в нужный. Для этого они используют функции-обёртки своих типов, но без оператора new (str = String(str)).(в чём разница и как это работает, поговорим дальше)
  • 8. И наконец, узнали, что typeof берёт значения из жёстко зафиксированной таблицы (вот откуда ещё одно заблуждение, основанное на typeof null //object).

Читать дальше →
Total votes 57: ↑40 and ↓17 +23
Views 67K
Comments 39

Нужны ли в JavaScript классы?

Website development *JavaScript *Programming *
JavaScript принято считать прототип-ориентированным языком программирования. Но, как ни странно, этим подходом практически никто не пользуется: большинство популярных JS-фреймворков явно или неявно оперируют классами.
В этой статье я хочу рассказать об альтернативном способе программирования на JavaScript, без использования классов и конструкторов — чистым прототипным ООП и особенностях его реализации на ECMA Script 5.
Читать дальше →
Total votes 164: ↑140 and ↓24 +116
Views 99K
Comments 60

Из 5 335 200 деталей LEGO построен звёздный истребитель X-Wing в натуральную величину

DIY


В ходе рекламной кампании перед премьерой мультсериала "Хроники Йоды" по мотивам «Звёздных войн» в Нью-Йорке была установлена модель знаменитого истребителя X-Wing. Это точная копия игрушечного X-Wing из набора LEGO, только в 42 раза больше. Длина исполинской игрушки — 13 метров, размах крыла — 13,5 метров, вес — больше 20 тонн (вместе со стальным каркасом, нужным для того, чтобы модель не разрушилась под собственным весом). На сборку модели 32 рабочих потратили около четырёх месяцев. Истребитель издаёт звук работающего двигателя и у него светятся сопла.
Читать дальше →
Total votes 77: ↑61 and ↓16 +45
Views 43K
Comments 39

Создание конструктора кирпичной кладки для сайта

Website development *PHP *Image processing *
Sandbox
Компания Сиджеко занимается поддержкой сайта организации Реконстрой, которая продаёт и доставляет кирпич, черепицу, архитектурный декор и многие другие строительные материалы в Центральном Черноземье.

В процессе работы над сайтом возникла идея конструктора кладки.

У немецкого концерна «Feldhaus Klinker» существуют модельные ряды кирпича «Vascu Mix» и «Sintra Mix», которые специально предназначены для смешивания в разных пропорциях и создания неповторимого рисунка кладки. К ним существует ряд замазок «Quick Mix», применяемых при замазывании швов кладки между кирпичами. Для демонстрации этого подхода мы решили сделать конструктор кирпичной кладки, аналогов которому в рунете я пока не видел (буду рад примерам).

Конструктор кирпичной кладки

Подробности создания
Total votes 45: ↑30 and ↓15 +15
Views 22K
Comments 25