Pull to refresh
0
0
Send message

Одиннадцатиклассница, или тестируем баги вёрстки

Reading time6 min
Views85K


В современном вебе несправедливо мало внимания уделяется хоть сколько-нибудь автоматизированному тестированию UI. Особенно это касается статической вёрстки. На проекте 2ГИС Онлайн мы попытались частично восполнить этот пробел. Какие полезные практики мы приобрели, и о каких хороших библиотеках мы узнали, расскажем далее.
Получить плюс пять к качеству
Total votes 76: ↑66 and ↓10+56
Comments88

Размышления о стандартной библиотеке JavaScript. Core.js

Reading time64 min
Views103K
Один пацан писал все на JavaScript, и клиент, и сервер, говорил что нравится, удобно, читабельно. Потом его в дурку забрали, конечно.
— С просторов интернета

К чему это я? Занятная штука — JavaScript. Основа современного web и на фронтэнде альтернатив как таковых не имеет.

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

Ванильная стандартная библиотека JavaScript, в целом, неплоха. Это не только стандартная библиотека по спецификации языка ECMA-262 актуальных версий — от 3 до черновика 6. Часть API вынесена в отдельные спецификации, например, API интернационализации ECMA-402. Многие возможности, без которых сложно представить JavaScript, например, setTimeout, относятся к web-стандартам. Консоль не стандартизована вовсе — приходится полагаться на стандарт де-факто.

Вот только не такая уж она и стандартная — везде разная. Есть старые IE, в которых из коробки мы получаем стандартную библиотеку ES3 90-бородатого года даже без Array#forEach, Function#bind, Object.create и консоли, и есть, например, Node.js, на которой многие уже вовсю используют возможности грядущего ES6.

Хочется иметь универсальную, действительно стандартную библиотеку, как на сервере, так и в любом браузере, максимально соответствующую современным стандартам, а также реализующую необходимый функционал, что (пока?) не стандартизован. Статья посвящена библиотеке core.js — реализация моих соображений по поводу стандартной библиотеки JavaScript. Кроме того, эта статья еще и шпаргалка по современной стандартизованной стандартной библиотеке JavaScript и заметки о её перспективах.

Содержание, или что получим на выходе:


Читать дальше →
Total votes 87: ↑82 and ↓5+77
Comments40

Однопиксельную контактную линзу проверили на кроликах

Reading time2 min
Views2.4K

Концепт контактной линзы: 1 — микросхема со светодиодами, 2 — приёмник энергии и управляющий модуль, 3 — антенна, 4 — шина данных, 5 — прозрачный полимер, 6 — проекция изображения со светодиодов на сетчатку

Всё ближе становится тот день, когда мы сможем читать почту и смотреть фильмы с закрытыми глазами. Группа учёных из США и Финляндии провела успешные испытания на кроликах первой в мире контактной линзы со встроенным дисплеем и радиоприёмником. По словам исследователей, у кроликов не обнаружено никаких побочных эффектов, зрение не пострадало.

Испытания на млекопитающих — один из этапов дорогостоящего процесса проверки безопасности новых медикаментов. Первая версия контактных линз содержит всего один светящийся LED-пиксел, но разрешение дисплеев будет постепенно увеличиваться, и через пару десятилетий наверняка дойдёт до уровня HD.
Читать дальше →
Total votes 101: ↑93 and ↓8+85
Comments171

Искоренить Пиратство за 7 дней

Reading time5 min
Views2.2K

В море синем, как в аптеке,
Всё имеет суть и вес -
Кораблю, как человеку,
Имя нужно позарез.
Имя вы не зря даёте,
Я скажу вам наперёд:
Как вы яхту назовёте,
Так она и поплывёт!
Как вы яхту назовёте,
Так она и поплывёт!



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

В этой войне доблестные шпионы сражались на невидимом фронте с коварными разведчиками! Что то не так? Ах, да! Доблестными были именно разведчики, а шпионы были чертовски коварными! Игра слов или умысел пропагандистов?

Эта война давно закончилась, но опыт и эффективность ее пропагандистов никуда не делась. Сегодня их знания породили SOPA — Stop Online Piracy Act

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

1. Кто и когда решил назвать свободное распространение информации грязным термином «Пиратство» ?



2. Чем это грозит?



3. Что делать?



Всех кто задумался приглашаю под кат
Total votes 245: ↑194 and ↓51+143
Comments353

Офис компании «ВКонтакте»

Reading time6 min
Views220K
   На днях нас с коллегами случайно занесло в северную столицу, где не менее случайно нам удалось побывать в самом, пожалуй, необычном офисе города. Наличие фотоаппарата позволило частично передать вам ту атмосферу, которая царит в этом месте — осторожно, много фоток!

image
Читать дальше →
Total votes 390: ↑303 and ↓87+216
Comments342

Пара советов к прохождению технических интервью

Reading time4 min
Views15K
Я уже достаточно давно провожу технические интервью с кандидатами на позицию Software engineer и на моем счету их имеется несколько десятков. Сегодня я попробую сформулировать основные моменты, которые лично мне, как интервьюеру, кажутся довольно важными.

Советы довольно очевидные (хотя, как показывает практика, бывают и те, кто не знает этих очевидных вещей) и субъективные.

Читать дальше →
Total votes 126: ↑112 and ↓14+98
Comments195

Психологическая деформация программистов. Взгляд с обеих сторон баррикад

Reading time6 min
Views136K
Само наличие психологической деформации у какой-либо профессии, как правило, достаточно спорный момент ввиду того, что у разных людей она проявляется по-разному. Однако общую тенденцию можно выделить и, пожалуй, настало то время когда можно достаточно смело говорить, что программисты всё же имеют свой особенный психологический портрет который обусловлен их профессиональной деятельностью.

Я достаточно часто сталкивался с подобным мнением и не придавал ему особого значения, но когда женский коллектив нашей организации поздравил программистов с 23-м февраля по доброму назвав их «космическими войсками», решил всё же расставить определенные акценты в данном вопросе, т.к. одна из моих профессий связана напрямую с психоанализом. Да и баш уже не молчит.

И что же них такого деформированного?
Total votes 461: ↑436 and ↓25+411
Comments558

Как я проходил собеседование в компанию Zynga

Reading time11 min
Views27K
На Хабре опять стали появляться статьи о том, как проходить собеседования на должность программиста. Материал из них полезен соискателям так же, как учебники полезны студентам во время сессии. Вызубрите том по Мат. Анализу и, если попадете на тот экзамен, получите пятерку.

Гораздо интереснее читать реальные истории людей, которые описывают свой опыт собеседований в ту или иную известную компанию. Что спрашивали, что не спрашивали, какая была атмосфера, сколько проходило интервью? Такие данные много полезнее, чем «а зазубри еще это, авось спросят».

Итак, я хочу рассказать о том, как представители компании Zynga приезжали в Москву в поисках нужных людей. О своем опыте общения с ними, об ошибках и сделанных выводах.

Ну, и картиночка на затравку.


Читать дальше →
Total votes 256: ↑249 and ↓7+242
Comments100

Робот-пылесос Kärcher RC 3000: опыт эксплуатации

Reading time33 min
Views731K
В своей жизни я встречал людей, которым нравится пылесосить. Да, именно так, сам процесс наведения чистоты доставляет удовольствие. Причина может быть разной — от демонстрации собственной нужности до мизофобии.

Однако среди широкого спектра придуманных человечеством мотивов для проведения ежедневной уборки жилища, я не смог найти свой. Лень неизменно одерживала верх как над рациональными доводами о необходимости пылесосить каждый день, так и над эмоциональными порывами, энергии которых хватало только на то, чтобы выругаться: "Почему опять никто не убрался!"

Признавшись себе однажды в том, что дело не в «нехватке времени» или «усталости после работы», а в банальном нежелании брать в руки этот чертов пылесос, я решил, что нужно процесс уборки как-то автоматизировать, например, купить робота-уборщика.

Прочного и надежного робота-уборщика, способного нормально функционировать в самых тяжелых условиях:



Мой выбор пал на RC 3000 от Karcher, впечатлениям от эксплуатации которого и посвящается данная статья.

Осторожно: под катом много фотографий и видеороликов
Total votes 317: ↑303 and ↓14+289
Comments330

Youtube Collections — все видео Youtube на дисках!

Reading time1 min
Views3.8K
Наконец-то! Свершилось то, чего все так ждали — вся коллекция видео Youtube доступна в оффлайновом варианте — на DVD. Ссылку на страницу с информацией о новинке можно получить, кликнув на значок в виде диска возле логотипа Youtube.

Total votes 52: ↑34 and ↓18+16
Comments23

Как прокачать Яндекс.словари только за счёт дизайна

Reading time5 min
Views2.6K
В этой статье я расскажу о том, как за счёт несложного редизайна Яндекс.словари могли бы помогать в изучении иностранных языков. Нет, для этого не придётся вводить 25-й кадр или методику Илоны Довыдовой. Достаточно просто немного поработать над логикой и интерфейсом, всё остальное уже есть.

В статье я буду рассказывать про английский язык, как наиболее популярный и актуальный для айтишников, но те же принципы применимы к изучению практически любого другого иностранного языка.
Читать дальше →
Total votes 42: ↑36 and ↓6+30
Comments14

Эволюция Python-программиста

Reading time3 min
Views2.8K

Начинающий


  1. def factorial(x):
  2.     if x == 0:
  3.         return 1
  4.     else:
  5.         return x * factorial(x - 1)
  6. print factorial(6)


Программирующий уже год (Ранее изучавший Pascal)


  1. def factorial(x):
  2.     result = 1
  3.     i = 2
  4.     while i <= x:
  5.         result = result * i
  6.         i = i + 1
  7.     return result
  8. print factorial(6)

Читать дальше →
Total votes 167: ↑143 and ↓24+119
Comments38

5 клевых сайтов, чтобы все думали, что вы работаете

Reading time2 min
Views2K
На работе заблокированы любимые сайты? Офисный firewall прикрыл Twitter? Вот пятерка сайтов, которые помогут решить эту проблему и при этом сделать вид, что вы работаете ;)

1) Vanishd – прячем одну веб-страницу за другую

Сделаем так, чтобы сотрудники, босс и друзья думали, что вы работаете. Что если бы мы могли, например, прикрыть любую веб-страницу ложным Word-документом или даже страницей google.com и смотреть через небольшое окно на YouTube или что-нибудь другое? Для этих целей придуман сайт Vanishd.com



Читать дальше →
Total votes 122: ↑76 and ↓46+30
Comments66

Айтишник 60 уровня. Что дальше?

Reading time5 min
Views130K
У многих из нас есть родители или родственники, которые находятся в одном шаге от пенсии. Хотя мне еще только немного за 30, я предлагаю вам немного расширить кругозор и, может быть, что-то пересмотреть в своей жизни.



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

Да да, именно вы решили, потому что вы стареете именно потому, что вы этого ожидаете.

А главный бонус в том, что можно увеличить продуктивный период жизни в 2 раза, причем на приличные еще 30 лет(!) и более. Т.е. в 60 лет у вас будет 35-40 лет продуктивной жизни, а здесь я расскажу как эту продуктивность сохранить до 90 лет и более. Интересно?

Внимание! Возрастное ограничение 30+, ваша психика может пострадать.
Читайте пост на свой страх и риск!



Читаем подробный лайфхак.
Total votes 162: ↑120 and ↓42+78
Comments153

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

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

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



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



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

Выразительный JavaScript: Введение

Reading time9 min
Views466K


Перевод книги Marijn Haverbeke "Eloquent JavaScript". Лицензия Creative
Commons attribution-noncommercial license
. Код предоставляется под лицензией MIT.


Содержание



Читать дальше →
Total votes 54: ↑49 and ↓5+44
Comments14

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Works in
Date of birth
Registered
Activity