Pull to refresh
0
0
Enykey @Enykey

User

Send message

Выразительный JavaScript: Регулярные выражения

Reading time22 min
Views232K

Содержание




Некоторые люди, столкнувшись с проблемой, думают: «О, а использую-ка я регулярные выражения». Теперь у них есть две проблемы.
Джейми Завински

Юан-Ма сказал: «Требуется большая сила, чтобы резать дерево поперёк структуры древесины. Требуется много кода, чтобы программировать поперёк структуры проблемы».
Мастер Юан-Ма, «Книга программирования»


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

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

Регулярки одновременно очень странные и крайне полезные. Их синтаксис загадочен, а программный интерфейс в JavaScript для них неуклюж. Но это мощный инструмент для исследования и обработки строк. Разобравшись с ними, вы станете более эффективным программистом.
Читать дальше →
Total votes 47: ↑41 and ↓6+35
Comments10

Статистика надёжности SSD носителей

Reading time2 min
Views81K
Некоторое время назад я создал опрос по надёжности SSD. Несмотря на то, что мне кажется, что результатов слишком мало, но ждать нет особого смысла.

Итак, для начала статистика размеров.

На картинке видно, что наиболее популярны форматы 120, 80 и 60, которые выпускаются только Intel.
Можно также заметить, что диски объёмом 120/128 особо популярны среди пользователей алтернативных операционных систем (включая OS X).

Продолжим данными по производителям.
Читать дальше →
Total votes 84: ↑82 and ↓2+80
Comments40

Как помочь ребенку выучить таблицу умножения

Reading time6 min
Views4.1K
image

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

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

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

Также косвенно в рассказе упоминаются и некоторые способы мотивации. Само наше обучение, как станет ясно из повествования, представляло собой игру. Уверен, в комментариях вы сможете дополнить мою историю своими интересными идеями и методами, о которых я не знал, что поможет сделать рассказ более полным для того, кто натолкнется на него в поисках ответа на вопрос заголовка статьи.
Читать дальше →
Total votes 48: ↑44 and ↓4+40
Comments13

Красивый парсинг email оповещений из банка

Reading time3 min
Views6.2K
Мы продолжаем радовать вас интересными техническими решениями.

Сегодня на очереди email оповещения из банка, которые выглядят примерно так:
Pokupka, SHELL AZS OLGINO 1133, karta *347788, 23.07.11 12:09, 300.25 rub. Dostupno = 421.61 rub
или так
1000.00 RUR было списано с Вашего счета **77876.
Торговая точка: ZAO GAMMAEKSPER
Дата: 12/07/2011
Доступный баланс: 12344.11 RUR


Как вы думаете, как должна выглядеть красивая обработка таких оповещений в сервисе учета личных финансов?
Читать дальше →
Total votes 43: ↑32 and ↓11+21
Comments34

W3C Дайджест. Что нового в CSS3. Выпуск 3

Reading time2 min
Views931
Рабочая группа CSS3 постоянно ведет дискуссии по поводу того, что же будет в новом стандарте. Иногда буйная фантазия и желание сделать все настолько круто, насколько это возможно, приводит разработчиков в глухой тупик.

Предыдущая часть тут

Анимация скрытых объектов




Похоже, одной из серьезных проблем для модуля CSS3 Animations станут объекты, которые имеют display: none и visibility: hidden.
Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments30

W3C Дайджест. Что нового в CSS3. Выпуск 1

Reading time2 min
Views811
Рабочая группа CSS3 постоянно ведет дискуссии по поводу того, что же будет в новом стандарте. Чтобы держать руку на пульсе, я постараюсь еженедельно выкладывать самые интересные моменты из их обсуждения.

Регионы


Начнем с того, что выложили новый черновик (draft) модуля CSS3-Regions. Этот модуль создавался для более точного управления потоком, облегчая создание таких дизайнов как этот:


Стоит отметить, что авторами данного модуля являются господа из Adobe Systems, Inc, и подобное поведение (перетекание текста из одного региона в другой) хорошо известно пользователям таких продуктов как Adobe Illustrator, Adobe InDesign, и даже Corel Draw.

«Регионы» могут стать главным инструментом верстальщика, так как позволяет создавать удивительные обтекания по заданной траектории.
Читать дальше →
Total votes 45: ↑44 and ↓1+43
Comments35

MTBF — откуда берется «миллион часов MTBF»

Reading time2 min
Views129K


Просто удивительно то, насколько велико непонимание вокруг такого широко распространенного понятия, как MTBF (Mean Time Between Failure — «Время между сбоями» или «наработка на отказ» ), насколько смысла этой величины не понимают, зачастую, даже специалисты в области хранения данных.

Казалось бы — что может быть проще. «Наработка на отказ» это время беспроблемной работы, от первого включения нового диска, до момента отказа, посчитанная в часах.
Почти любой, кто поинтересуется значением, приводимым производителями, в качестве MTBF современных дисков, и с легкостью сделает несложные подсчеты, будет удивлен странной его величиной.
На сегодня величина MTBF приводится в миллион или даже полтора миллиона часов.
В году — примерно 8760 часов, значит, исходя из нашего понимания «физического смысла» этого значения, производитель планирует «наработку на отказ» для любого такого диска более ста лет (114 лет, для миллиона часов MTBF), что является очевидной нелепостью для каждого, у кого подыхали жесткие диски.
Читать дальше →
Total votes 153: ↑147 and ↓6+141
Comments83

Чеклист при подготовке презентации

Reading time3 min
Views7.1K
В последнее время я наблюдал несколько десятков презентаций, которые начинались вот так:

— Мы делаем систему управления электронным обучением…

— Мы провели исследование поведения посетителей на нашем сайте…

— Наша компания была основана более ста лет назад…

Это просто удивительно как люди любят так поступать. Они с первых секунд садятся на уши аудитории рассказом про себя:

— Мы предлагаем SAAS-решение…

— Наши технологии…

И мое любимое:

— Начну рассказ с того, кто мы такие…

Почему все так уверены, что именно это в первую очередь интересует слушателей? Единственное что выступающий гарантированно получит в таком выступлении — это претензии к себе лично и своей компании.

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

Почему каждый раз это происходит?

Читать дальше →
Total votes 75: ↑68 and ↓7+61
Comments36

Как Facebook разрабатывает код

Reading time8 min
Views2.5K
Перевод оригинальной статьи.

Как Facebook разрабатывает код


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

Прошло более шести месяцев с момента, как я собрал эти наблюдение, и я уверен, что даже сейчас Facebook постоянно совершенствует свои методики разработки ПО. Так что эти заметки, возможно, немного устарели. А также, похоже, что культура Facebook, управляемая разработчиками, получает всё большее внимание общественности. Так что я чувствую себя теперь более комфортно, выпуская эти заметки… ОГРОМНОЕ спасибо многим людям, которые помогли собрать воедино это представление о Facebook изнутри! Также выражаю благодарности людям epries и fryfrog, которые внесли исправления и отредактировали.

UPD: перевод не является красочным литературным произведением, которое читается и захватывает дух. Поэтому, если есть возможность, лучше прочтите оригинал на английском.

Читать заметки
Total votes 112: ↑80 and ↓32+48
Comments44

Пятая информационная революция — продолжение

Reading time5 min
Views15K
Первая часть — здесь.

Начало 20-го века явило четвертую информационную революцию.

СМИ



В 90-х годах 19-го века независимо друг от друга Попов, Маркони и Тесла изобретают средство передачи информации на расстояние — радио. В 1916 году началось регулярное вещание первой радиостанции — 9XM в США. В середине 20-х появились первые удобные и доступные радиоприемники. Тогда же начались первые эксперименты по передаче видеосигнала.

Чем радио и телевидение отличаются от книг и газет?
Total votes 149: ↑139 and ↓10+129
Comments116

Шон Паркер — хакер, со-основатель Napster, Plaxo и Facebook, миллиардер и инвестор

Reading time15 min
Views45K
После просмотра фильма "The Social Network" мне стало интересно, насколько реален персонаж Шона Паркера, изображенный в фильме. Статья в Vanity Fair во многом утолила мой интерес, а Паркер оказался даже любопытнее, чем я предполагала. Так что я не удержалась и перевела статью — все ее «много букв» того стоят.

Те, кто не смотрел фильм, а только планирует, учтите, в тексте будет немного спойлера.

В 19 Шон Паркер помог создать Napster. В 24 он стал президентом-соучредителем Facebook. В 30 лет он – любитель вечеринок, гений, знаток социальных сетей, стесняющийся прессы, перспективный миллиардер. А теперь еще и знаменитость после того как Джастин Тимберлейк сыграл его в фильме Дэвида Финчера «The Social Network».

Шон Паркер сидел на уроке, посвященном мировым цивилизациям в своей школе в Вирджинии, когда вдруг кто-то передал ему записку. Его отец, — было сказано в ней, — ждал его, чтобы поехать на прием к врачу-ортодонту. По спине Паркера пробежал холодок. У него не было ортодонта. Когда он вышел, отец рассерженно запихнул его в семейный минивен. К тому моменту, когда они приехали в их скромный загородный дом, группа агентов ФБР выносила документы и настольный компьютер из комнаты Шона.
Читать далее
Total votes 203: ↑193 and ↓10+183
Comments84

Пятая информационная революция

Reading time6 min
Views15K
Сущностью социального явления служит факт взаимодействия индивидов и групп.
Питирим Сорокин


Disclaimer: все нижеизложенное является плодом больного воображения автора, а не переводом, творческим пересказом или иной формой плагиата. Честно.

Первая информационная революция началась примерно 40 тысяч лет назад. До этого момента предки человека эволюционировали довольно неспешным темпом как минимум несколько миллионов лет. Однако в период позднего палеолита (начался примерно 40 тысяч лет назад — закончился примерно 10 тысяч лет назад) происходит ряд важнейших процессов, укладывающихся в достаточно короткий по археологическим меркам период:

а) ускорился технический прогресс; впервые скорость эволюции орудий превысила скорость изменений собственно человеческого тела (см. здесь с иллюстрациями);

б) началась экспансия homo sapiens в Европу; сам по себе вид sapiens появился, предположительно, в Африке около 130-150 тысяч лет назад, и 50-55 тысяч лет назад уже предпринял экспансию в Азию. Однако именно в Европе sapiens встретился с серьезной конкуренцией с другими представителями семейства homo — неандертальцами. Сейчас нет единого мнения, было ли это прямое столкновение или два вида конкурировали за ресурсы, но, так или иначе, неандертальцы были побеждены. Европейскую ветвь homo sapiens принято называть кроманьонцами;

в) зародилось искусство; самые древние из известных сейчас наскальных рисунков были сделаны около 35-40 тысяч лет назад. Самые древние из европейских наскальных рисунков относятся к 30-32 тысячелению до н.э. и обнаружены в пещере Шове (один из них и приведен слева).

Причем же здесь информационная революция, спросите Вы? Дело в том, что в этот период возникает еще один специфически человеческий феномен:

Какой же?
Total votes 108: ↑94 and ↓14+80
Comments83

The Case of the Intermittent Windows Freezes

Reading time4 min
Views13K

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

Читать дальше →
Total votes 249: ↑238 and ↓11+227
Comments113

Monkey Island Special edition — классика жанра в обновленном виде

Reading time1 min
Views995
Спустя 19 лет после появления серии LucasArts перерисовали замечательнейший квест всех времен и народов — Tales of the Monkey Island.

Было:
image

Стало:
image

Приятные эмоции и ностальгия под катом…
Читать дальше →
Total votes 125: ↑112 and ↓13+99
Comments143

Восстанавливаем флешки

Reading time4 min
Views886K
Хотя со временем флешки становятся все дешевле и объемнее это не значит, что при любом сбое ее можно выбросить и приобрести другую. Хотя многие именно так и делают, даже на задумываясь о том, что ситуацию еще можно спасти. В свое время мы тряслись за каждую флоппи-дискету, почему же не поковыряться и с флешкой, чтобы дать ей вторую или даже не третью жизнь. Думаю, у многих в столе рядом с компьютером найдется какая-нибудь «мертвая» флешка-брелок, которую выбросить жалко из-за того, что она красивая или, хотя бы потому, что какое-то время назад она была полезна. Конечно, иногда флешки «умирают» раз и навсегда, но зачастую они находятся в состоянии «клинической смерти», а как известно, такое состояние обратимо.

image
Читать дальше →
Total votes 182: ↑175 and ↓7+168
Comments138

Производственная практика студентов

Reading time1 min
Views3.2K
На хабре есть много студентов, которые летом будут проходить производственную практику. Некоторые из нас пройдут ее формально, некоторые пойдут на неинтересные им должности, и лишь немногие найдут интересную работу по специальности. А в связи с кризисом найти работу по специальности для студента стало еще сложнее. С другой стороны на хабре есть представители компаний, которые хотели бы заполучить будущих специалистов на выгодных условиях. Было бы неплохо, если люди из этих двух групп найдут друг друга.

Предлагаю всем тем, кто еще не определился с практикой, написать в комментариях о себе в следующем формате: курс, интересующая должность, город.

Если вы — представитель компании, пишите, на какую должность вы ищите людей, в каком городе вы находитесь, а также любую другую информацию, которую сочтете нужной. Или пишите студентам, которые уже отметились в комментах.
Total votes 107: ↑95 and ↓12+83
Comments138

Мультитач для Windows Notebooks

Reading time1 min
Views1.4K
В Хабратопике «Круговая прокрутка а-ля iPod на тачпаде» описали, как настроить мультитач на тачпадах Synaptics для linux. Но если в этой системе мультатач и прочие прелести активизировались правкой конфигов, решение для Windows было не так очевидно.
Пользователь Winter_mute обнаружил на просторах сети программу TwoFingerScroll, активизирующую данную функцию для XP/Vista и описание установки.

Далее в виде howto:

1. качаем программу TwoFingerScroll отсюда. При удачном исходе после ее запуска вам сообщат, что мультитач активирован и предложат перезагрузиться.
2. если программа выдает «Synaptics kernel driver keys missing», удаляем старые драйвера тачпада, ставим модифицированную версию отсюда и возвращаемся к п. 1.
3. Вуаля, мультитач работает (TwoFingerScroll должен висеть в трее). Настраиваем по желанию и забываем про кнопки под тачпадом и зоны прокрутки.

P.S. Под вистой SP1 у меня заработало сразу, а вот для Windows Se7en пришлось поставить указанный выше драйвер. Впрочем, если вам нужна «круговая прокрутка», модифицированный драйвер все равно ставить придется — в TwoFingerScroll эта опция пока не работает.

подробная статья

UPD. Судя по комментариям, описанное выше работает не у всех. По всей видимости, не все тачпады (в первую очередь — на относительно старых ноутбуках) поддерживают мультитач «физически».
Total votes 23: ↑21 and ↓2+19
Comments23

Ускорение загрузки Windows for fun and profit

Reading time4 min
Views804K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Total votes 533: ↑517 and ↓16+501
Comments365

Полнотекстовый поиск в InnoDB

Reading time12 min
Views37K
Привет, Хабрачитатель!
Полнотекстовый поиск данных в InnoDB – это известная головная боль многих разработчиков под MySQL / InnoDB. Для тех, кто не в курсе дела я объясню. В типе таблиц MyISAM есть полноценный полнотекстовый поиск данных, однако сама таблица исторически имеет ограничения, которые являются принципиальными в отдельных проектах. В более «продвинутом» типе таблиц InnoDB полнотекстового поиска нет. Вот и приходится мириться бедным разработчикам либо с ограничениями MyISAM, либо с отсутствием поиска в InnoDB. Я хочу рассказать о том, какие есть способы организовать полноценный поиск в InnoDB без магии и исключительно штатными средствами. Также будет интересно сравнить скоростные характеристики каждого способа.
Читать дальше →
Total votes 79: ↑73 and ↓6+67
Comments55

Поколение, затерянное на базаре

Reading time9 min
Views75K
«Качество появляется только тогда, когда кто-нибудь несёт ответственность лично».
— Фредерик Ф. Брукс



Привет, хабр!

Предлагаю вашему вниманию вольный перевод эссе "A Generation Lost in the Bazaar" Пола-Хеннинга Кампа, повествующего нам о печальной судьбе поколения IT-профессионалов, выросших в период бума доткомов, а также о фундаментальных проблемах в UNIX, напрямую влияющих на качество и портабельность ПО. Обо всём по порядку.
Читать дальше →
Total votes 187: ↑174 and ↓13+161
Comments74

Information

Rating
Does not participate
Registered
Activity