Pull to refresh
1
0
Send message

20 самых популярных лекций TED Talks всех времён

Reading time2 min
Views221K
Фонд TED с 1984 года проводит конференции, выбирая для них самые интересные темы и самые инновационные идеи. Например, на первой конференции 1984 года были представлены только что выпущенный Macintosh, инновационный компакт-диск от Sony, математик Бенуа Мандельброт продемонстрировал практическое применение своей теории фракталов, а специалист по искусственному интеллекту Марвин Минский разъяснил новую модель разума.

Каждое выступление (лекция) на конференции TED называется TED Talk и публикуется в онлайне, сейчас на сайте скопилось уже более 400 видеозаписей. Поскольку все они посвящены невообразимо интересным темам, даже сложно предположить, какие пользуются наибольшим интересом у зрителей. Официальный блог TED Blog опубликовал список Топ-20 лекций за все времена по количеству просмотров, собрав статистику с TED.com, Youtube, iTunes, Hulu, встроенных фреймов, количества скачиваний и т.д.
Читать дальше →
Total votes 102: ↑96 and ↓6+90
Comments23

Жизнь разработчика (в картинках)

Reading time1 min
Views66K
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

Когда я показываю босу, что окончательно пофиксил баг



Когда проджект-менеджер входит в офис



Читать дальше →
Total votes 884: ↑700 and ↓184+516
Comments132

От Backbone.js к Marionette.js

Reading time6 min
Views63K
Привет, Хабр.

В этой статье пойдет речь о том, из чего состоит Marionette.js, и о возможности не писать свой велосипед.

Статья рассчитана в первую очередь на работавших с Backbone.js и/или Marionette.js.
Для вновь знакомящихся будет полезна первая, обзорная, часть и ссылки в конце статьи.
Так из чего же состоит Marionette.js
Total votes 17: ↑15 and ↓2+13
Comments11

Сделай свой AngularJS: Часть 1 — Scope и Digest

Reading time34 min
Views89K
Angular — зрелый и мощный JavaScript-фреймворк. Он довольно большой и основан на множестве новых концепций, которые необходимо освоить, чтобы работать с ним эффективно. Большинство разработчиков, знакомясь с Angular, сталкиваются с одними и теми же трудностями. Что конкретно делает функция digest? Какие существуют способы создания директив? Чем отличается сервис от провайдера?

Несмотря на то, что у Angular довольно хорошая документация, и существует куча сторонних ресурсов, нет лучшего способа изучить технологию, чем разобрать ее по кусочкам и вскрыть ее магию.

В этой серии статей я собираюсь воссоздать AngularJS с нуля. Мы сделаем это вместе шаг за шагом, в процессе чего, вы намного глубже поймете внутреннее устройство Angular.
Сделаем Angular вместе
Total votes 73: ↑72 and ↓1+71
Comments18

RESTful API на Node.js + MongoDB

Reading time16 min
Views258K
Я, будучи разработчиком мобильных приложений, часто нуждаюсь в backend-сервисах для хранения пользовательских данных, авторизации и прочего. Конечно, для подобных задач можно использовать BaaS (Parse, Backendless, etc…). Но свое решение — это всегда более удобно и практично.

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

В данной статье будет рассмотрено построение REST API для мобильного приложения на Node.js с использованием фреймворка Express.js и модуля Mongoose.js для работы с MongoDB. Для контроля доступа прибегнем к технологии OAuth 2.0 с помощью модулей OAuth2orize и Passport.js.

Пишу с позиции абсолютного новичка. Рад любым отзывам и поправкам по коду и логике!

Содержание

  1. Node.js + Express.js, простой web-сервер
  2. Error handling
  3. RESTful API endpoints, CRUD
  4. MongoDB & Mongoose.js
  5. Access control — OAuth 2.0, Passport.js

Читать дальше →
Total votes 44: ↑41 and ↓3+38
Comments63

Введение в анализ сложности алгоритмов (часть 1)

Reading time10 min
Views380K
От переводчика: данный текст даётся с незначительными сокращениями по причине местами излишней «разжёванности» материала. Автор абсолютно справедливо предупреждает, что отдельные темы покажутся чересчур простыми или общеизвестными. Тем не менее, лично мне этот текст помог упорядочить имеющиеся знания по анализу сложности алгоритмов. Надеюсь, что он будет полезен и кому-то ещё.
Из-за большого объёма оригинальной статьи я разбила её на части, которых в общей сложности будет четыре.
Я (как всегда) буду крайне признательна за любые замечания в личку по улучшению качества перевода.


Введение


Многие современные программисты, пишущие классные и широко распространённые программы, имеют крайне смутное представление о теоретической информатике. Это не мешает им оставаться прекрасными творческими специалистами, и мы благодарны за то, что они создают.

Тем не менее, знание теории тоже имеет свои преимущества и может оказаться весьма полезным. В этой статье, предназначенной для программистов, которые являются хорошими практиками, но имеют слабое представление о теории, я представлю один из наиболее прагматичных программистских инструментов: нотацию «большое О» и анализ сложности алгоритмов. Как человек, который работал как в области академической науки, так и над созданием коммерческого ПО, я считаю эти инструменты по-настоящему полезными на практике. Надеюсь, что после прочтения этой статьи вы сможете применить их к собственному коду, чтобы сделать его ещё лучше. Также этот пост принесёт с собой понимание таких общих терминов, используемых теоретиками информатики, как «большое О», «асимптотическое поведение», «анализ наиболее неблагоприятного случая» и т.п.
Читать дальше →
Total votes 106: ↑98 and ↓8+90
Comments27

Списки из lambda-функций

Reading time17 min
Views11K
Примечание переводчика: Оригинал здесь. Все примеры в оригинале написаны на JavaScript, но я решил перевести их на Scheme. Уверен, менее понятно не стало, но зато видна вся красота этого языка.
UPD: добавил ко всем примерам справа еще и оригинальные примеры на JavaScript.


Если закрыть глаза на практическую сторону компьютеров — размер, вес, цену, тепло и т.п., что же на самом деле должен уметь язык программирования? Давайте исследуем этот вопрос.

Для понимания примеров в этой статье необходимы базовые понятия о функциях в LISP (Scheme). Если вы понимаете, что напечатает этот код, можно смело читать дальше:

(define x 10)

(define (f y)
    (display x) (newline)
    (display y) (newline)
)

(define g f)
(f 1)
(g 2)

var x = 10;

var f = function(y) {
    console.log(x);
    console.log(y);
}

var g = f;

f(1);
g(2);


Эта статья — просто разминка для мозгов, а не то, что можно было бы использовать в реальном коде. Но как гитарист играет гаммы, которые он никогда не использует в настоящей песне, так же и программистам стоит разминать свои мозги время от времени.
Читать дальше →
Total votes 41: ↑39 and ↓2+37
Comments9

Арсенал веб-дизайнера

Reading time2 min
Views162K
В интернете существует множество сайтов, помогающих веб-дизайнеру в работе: ресурсы с иконками, плюшками для фотошопа, UI-китами, шрифтами, вдохновляющими работами других дизайнеров и многим другим. В этой статье я постарался собрать самые полезные сайты для веб-дизайнеров.

Большие и популярные сайты


Behance - работы лучших дизайнеров со всего мира

Читать дальше →
Total votes 131: ↑108 and ↓23+85
Comments40

Новое для веб-дизайнера за октябрь 2012

Reading time2 min
Views71K
Продолжаю сентябрьскую подборку новых полезных штук для веб-дизайнеров.

Сервисы и инструменты


Cut&Slice me — бесплатный плагин для фотошопа, который помогает быстро готовить элементы дизайна для различных типов устройств.

Читать дальше →
Total votes 122: ↑114 and ↓8+106
Comments23

Подборка инструментов для эффективной frontend разработки

Reading time3 min
Views101K
В эту прекрасную пятницу осмелюсь предложить хабрасообществую небольшую подборку приложений, предназначенных для увеличения продуктивности во время работы с фронтэндом. Если ваш любимый апп здесь не представлен — добро пожаловать в комментарии!

Form Builder

image

Этот прекрасный генератор форм поможет вам в создании красивейших CSS логин-боксов и прочих input вещей, при минимальных временных затратах. Помимо форм на сайте этого проекта можно создавать и другие не менее красивые CSS элементы, в том числе кнопки и ленты.
еще 24 ссылки
Total votes 204: ↑197 and ↓7+190
Comments46

Через тернии к Haskell. 1/2

Reading time25 min
Views224K


Первая часть короткого и жесткого введения в Haskell. Вторую часть можно найти здесь

tl;dr: Очень краткое и сжатое введение в Haskell.


UPD. Если туториал вам понравился, черкните пару строк автору оригинальной статьи. Человеку будет приятно ;)
Классные картинки, много текста и вынос мозга
Total votes 137: ↑133 and ↓4+129
Comments52

Как я писал Футболоид под iOS

Reading time15 min
Views41K
Приветствую достопочтеннейших Хабралюдей!


Не так давно, во время поиска новой работы, я получил очень интересное тестовое задание от ZeptoLab: написать за пару рабочих дней арканоид под iOS без использования сторонних библиотек типа Cocos2d/Box2d и т.п., то есть, на «чистом» OpenGL, что показалось мне весьма интересным. Кстати, об этом задании на Хабре уже писали, и даже устраивали разбор полётов. Итак, я бросил вызов судьбе и взялся за геймдев впервые после школьных упражнений с васиком в графическом режиме!

Уточню, что некоторые знания OpenGL у меня уже были, но весьма и весьма поверхностные. Можно сказать, что их не было ну почти совсем, я просто знал, что такое вьюпорт и что бывают какие-то там спрайты, что существуют матрицы преобразования… Так что данная статья могла бы быть озаглавлена "Как написать простую игру под iOS на чистом OpenGL, не зная его", но это слишком уж длинно.

В общем, если Вам интересно, как я это сделал за ~10 часов разработки и ~2 часа чтения, прошу под кат. (осторожно! много кода! мало картинок! ссылка на гитхаб и расслабляющее видео в конце!)
Поехали
Total votes 89: ↑69 and ↓20+49
Comments25

Искусственный интеллект как совокупность вопросов

Reading time4 min
Views76K
image
Когда мы рассуждаем о сильном искусственном интеллекте, то мы понимаем, что это не изолированный вопрос, не вещь в себе, а вопрос ответ на который подразумевает объяснение всех явлений, которые связаны с мышлением человека. То есть, ответив на вопрос о природе интеллекта, мы неизбежно должны будем ответить на такие вопросы как:

  • Что есть информация?
  • Как мозг представляет знания?
  • Что такое язык?
  • Какова роль языка в мышлении?
  • Как совершаются поступки?
  • Как осуществляется планирование?
  • Какова природа фантазий и воспоминаний?
  • Что такое мотивация?
  • Какова природа эмоций?
  • Откуда берется многообразие эмоциональных оценок?
  • Что есть смысл?
  • Как рождается мысль и какова ее природа?
  • Что такое внимание?
  • Что есть любовь?
  • Что есть гармония и красота?

Читать дальше →
Total votes 57: ↑39 and ↓18+21
Comments55

Ключевое слово this в javascript — учимся определять контекст на практике

Reading time4 min
Views182K
По просьбам некоторых читателей решил написать топик про контекст в javascript. Новички javascript часто не понимают значение ключевого слова this в javascript. Данный топик будет интересен не только новичкам, а также тем, кто просто хочет освежить данный аспект в памяти. Посмотрите пример ниже. Если вы затрудняетесь ответить на вопрос «что будет выведено в логе» хотя бы в одном из пунктов или хотите просто посмотреть ответы — добро пожаловать под кат.

var f = function() {
    this.x = 5;
    (function() {
        this.x = 3;
    })();
    console.log(this.x);
};

var obj = {x: 4, m: function() {
    console.log(this.x);
}};


f();
new f();
obj.m();
new obj.m();
f.call(f);
obj.m.call(f);

Читать дальше →
Total votes 111: ↑108 and ↓3+105
Comments122

Хочешь быть iOS разработчиком? Будь им!

Reading time2 min
Views388K
На хабре в прошлом месяце была опубликована статья Конкурс ВК: Мессенджер для Android. Как это было!, в которой автор поделился своими мыслями о конкурсе и опубликовал список ресурсов и статей, которые помогли ему в создании приложения. Так как в последнее время я начал изучать разработку под iOS, то у меня скопилось некоторое количество ссылок, которые могут быть полезны для начинающих. Поэтому я последую его примеру и сделаю то же самое, только для своей платформы. Надеюсь, кому-нибудь они окажутся полезны и сэкономят немного времени.

Читать дальше →
Total votes 234: ↑222 and ↓12+210
Comments38

Я переучиваю людей на Java-программистов

Reading time8 min
Views134K

Когда я вижу друзей, которые вкалывают в два раза больше, а зарабатывают в четыре раза меньше, каждый раз начинается разговор:
— А ты бы не хотел поработать программистом? Ты же реально умный. Может ты просто не на своем месте?

В результате я переучиваю своих друзей и знакомых на программистов. Весь процесс занимает от двух до трех месяцев. 25 уроков по 4 часа. Потом все смогли устроиться программистами.
Эта статья не о том, как надо учить, скорее просто описание процесса, который работает.
Читать дальше →
Total votes 351: ↑232 and ↓119+113
Comments464

Ограничение проектирования систем на уровне сознания

Reading time11 min
Views20K
Я рад приветствовать вас, дорогие читатели.

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

Скажу сразу — я не задаюсь целью мотивировать или призывать к каким-либо правилам эффективной работы, т.к. все слишком индивидуально, чтобы давать подобные советы, но я постараюсь обратить ваше внимание на некоторые, на мой взгляд, интересные детали, лежащие в основе принципов проектирования, которые заметил и осмыслил на собственном опыте. Отмечу также, что статья будет актуальна не только IT-шникам, но и абсолютно всем категориям читателей.
Читать дальше →
Total votes 128: ↑118 and ↓10+108
Comments96

20 заповедей дизайна пользовательского интерфейса

Reading time9 min
Views44K
Это перевод оригинальной статьи Principles of User Interface Design

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

— Пол Рэнд (Paul Rand)

1. Обязанность интерфейса — обеспечение взаимодействия


Интерфейсы служат для обеспечения взаимодействия между людьми и окружающим миром. Они помогают нам прояснять, освещать, реализовывать и наблюдать взаимосвязи; они могут объединять и разъединять нас, влиять на наши ожидания; а кроме того, они дают нам доступ к различным услугам. Не стоит принимать процесс разработки интерфейса за искусство в чистом виде, а сам интерфейс — за некий арт-объект. Интерфейсы призваны выполнять определенные функции, и эффективность их работы можно измерить. Но и к одним только утилитарным вопросам роль интерфейсов не сводится. Действительно хорошие интерфейсы способны вдохновлять, пробуждать, окутывать тайной и укреплять наши отношения с окружающим миром.
Читать дальше →
Total votes 87: ↑75 and ↓12+63
Comments30

Современные аналоговые компьютеры: есть будущее?

Reading time5 min
Views33K
Большинство из нас связывает развитие информационных технологий с цифровой революцией. Появление микропроцессоров, конечно, вывело электронику на принципиально новый уровень. Уже гонки за обладание самым мощным суперкомьютером потеряли свой научный шарм — терафлопсы прямо зависят от количества денег и свободного места. Докупай серверов и увеличивай вычислительную емкость.

Еще со времен университета меня преследует мысль, которую мне хотелось бы закинуть на обсуждение хабрасообществу.

До цифровой эпохи развивалось направление аналоговых компьютеров.
Где они сейчас? Есть ли им применение?
Total votes 60: ↑50 and ↓10+40
Comments105

Information

Rating
Does not participate
Registered
Activity