Pull to refresh
218
0
Алексей @smartov

Technical Lead

Недокументированные приемы CSS

Reading time 8 min
Views 54K
Всем привет! Зовут меня Дмитрий Григоров. Работаю фронтедером в Райффайзенбанке в команде RBO PRO. Я расскажу и покажу вам, как можно творчески применять данные возможности CSS. В статье мы рассмотрим следующие темы:

  • Фоны и рамки;
  • Фигуры;
  • Визуальные эффекты.

Total votes 116: ↑114 and ↓2 +112
Comments 30

Как я делал веб-версию KeePass

Reading time 6 min
Views 80K
Как-то мне надо было добавить в админку просмотр списка паролей. База хранилась на сервере в формате KeePass (kdbx v2), сервер был на ноде — недолго думая, я взял первый попавшийся пакет и сделал. А потом понадобилось то же самое, но прямо у пользователя в браузере, без сервера. Ничего не нашлось. Первым желанием было форкнуть либу и заменить использование node api, но от первого просмотра кода желание пропало, решил сделать сам.



Под катом расскажу о проблемах, с которыми я столкнулся, и способах их решения
Читать дальше →
Total votes 134: ↑133 and ↓1 +132
Comments 162

У нас проблемы с промисами

Reading time 16 min
Views 233K
Разрешите представить вам перевод статьи Нолана Лоусона «У нас проблемы с промисами», одной из лучших по теме из тех, что мне доводилось читать.

У нас проблемы с промисами


Дорогие JavaScript разработчики, настал момент признать это — у нас проблемы с промисами.

Нет, не с самими промисами. Их реализация по спецификации A+ превосходна. Основная проблема, которая сама предстала передо мной за годы наблюдений за тем, как многие программисты борются с богатыми на промисы API, заключается в следующем:

— Многие из нас используют промисы без действительного их понимания.

Если вы мне не верите, решите такую задачку:

Вопрос: В чем разница между этими четырьмя вариантами использования промисов?

doSomething().then(function () {
  return doSomethingElse();
});

doSomething().then(function () {
  doSomethingElse();
});

doSomething().then(doSomethingElse());

doSomething().then(doSomethingElse);

Узнайте решение задачи
Total votes 139: ↑136 and ↓3 +133
Comments 121

Autofill: чего не знают веб-разработчики, хотя должны знать

Reading time 14 min
Views 77K


Многим известно, что в мобильной версии Safari можно отсканировать свою банковскую карту. Но многие ли разработчики умеют создавать формы, поддерживающие эту возможность?

Готов поспорить, что немногие.

Дело осложняет полное отсутствие документации от Apple по работе этой функции. Но тут есть один момент. Функция сканирования банковских карт является подмножеством автозаполнения — браузерного функционала, давно игнорируемого веб-разработчиками. Понятно, почему они не уделяли ему должного внимания: когда регулярно заполняешь форму тестовыми данными, автозаполнение обычно мешает. Но для наших пользователей это важная функция. В Google выяснили, что при использовании автозаполнения пользователи на 30% быстрее заполняют формы. Так что давайте изучим работу автозаполнения, разберёмся, как создавать формы, поддерживающие кросс-браузерное автозаполнение, и воспользуемся преимуществами новых возможностей наподобие сканирования банковских карт.
Читать дальше →
Total votes 40: ↑39 and ↓1 +38
Comments 12

Web-приложения в режиме offline. ServiceWorker и CacheStorage

Reading time 6 min
Views 40K

О чём речь?


Всё чаще возникает задача научить frontend-приложение работать в автономном режиме. Это значит придать web-приложению свойство mobile- или desktop-программы — функционировать в отсутствии связи с Интернет, а также в случае отказа сервера.

Цель — оградить пользователя от проблем соединения на его устройстве. Как было бы обидно не сохранить созданные в google docs таблицы из-за потери wi-fi в ближайшем фастфуде!

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

Решение задачи заключается в следующем:
Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Comments 2

Я хочу, чтобы сайты открывались мгновенно

Reading time 10 min
Views 139K
Здравствуйте, меня зовут Александр Зеленин и я веб-разработчик. Я расскажу, как сделать так, чтобы ваш сайт открывался быстро. Очень быстро.


Я хочу, чтобы мой сайт открывался быстро
Total votes 130: ↑122 and ↓8 +114
Comments 87

Онлайн размещение документов на сайте

Reading time 3 min
Views 23K
В наше время, когда Интернет широко шагает по стране, компании все чаще создают собственные сайты. Почти на каждом присутствует информация о ценах на продукцию, услуги и т.д., проще говоря – прайсы. Зачастую прайсы сразу сверстаны в html страницу или дается ссылка на их скачивание. В первом случае хорошо, если на сайте установлена CMS и можно редактировать страницы, а если нет? Во втором, нужно закачать прайс по ftp. Оба случая могут явиться камнем преткновения при обновлении прайса на сайте, если нет собственного вебмастера. Да и копирование информации из готового прайса на сайт, может привести к неточностям и ошибками, особенно если прайс не маленький. А это чревато потерей клиентов. Рассмотрим, как упростить размещение прайсов online. Сразу оговорюсь, что рассматривать мощные системы, где CMS сайта взаимодействует с бухгалтерией компании я не буду.
Читать дальше →
Total votes 72: ↑66 and ↓6 +60
Comments 31

Загрузка контента через YQL

Reading time 1 min
Views 5.4K
Возможно для вас, как и для меня, станет новостью то, что используя язык запросов Yahoo! Query Language — можно выдрать контент практически с любой страницы непосредственно в браузере (через javascript). Т.е. отпадает необходимость в использовании сервер-сайд кода и библиотек типа curl.

Выглядит это примерно так:
DELETE FROM HTML WHERE 1=1

Даже больше. YQL позволяет выполнять GET и POST HTML запросы.

Как это использовать — да по разному. Вот, для наглядности/примера — украл яндекс) (view source code вам поможет). Можно подглядеть информацию, закрытую корпоративным фаерволом.
А можно и поиграться с кросс-доменными запросами.
Тут уж у кого какая фантазия.
Total votes 49: ↑46 and ↓3 +43
Comments 23

Мой опыт восстановления зрения

Reading time 9 min
Views 277K
   Этим летом я был на некоторое время предоставлен сам себе – всех своих я отправил подальше от дыма, а сам, недолго думая, решил немного подтянуть здоровье. Не просто записаться в тренажерный зал и накачать «квадратиков» для пляжа, а именно обследоваться у некоторых врачей, чтобы выработать для себя вектор дальнейших действий, дабы совсем не превратиться в «овоща».

image

   Расскажу лишь про свой опыт восстановления зрения – именно оно больше всего подвержено риску у любого «компьютерного» человека.
Читать дальше →
Total votes 494: ↑397 and ↓97 +300
Comments 208

Проклятье веб-сайтов и волшебный UX design

Reading time 5 min
Views 22K
Представьте себе обычного директора, который решил сделать обычный сайт для своей не менее обычной компании. Он нашёл ближайших веб-разработчиков с честными глазами и в двух словах на одной салфетке описал им стандартные пожелания обычного корпоративного сайта. А может быть он поступил проще — указал на похожий сайт и сказал: “Мне надо тоже самое, только круче!”. Разработчики привычно сами себе написали техническое задание и с честью его выполнили. Потом как смогли наполнили сайт контентом и запустили, помолясь. За месяц работы на сайт зашло десяток роботов и несколько случайных посетителей. Директору рассказали о SEO, на которое ему, скрепя сердце, пришлось выделить на три месяца по 50 тыс. руб. — “чтобы попробовать” и “чтобы наверняка”. Благодаря раскрутке сайт начал появляться в поисковой выдаче и счётчик стал показывать почти тысячу посетителей в день. За это время к менеджерам звонило по 5-10 человек в месяц, говоривших что они смотрят сайт и у них есть вопросы о товарах. Реальным клиентом стал только один, да и то, по-мелочи.

Убитый печалью директор отменил всё это бессмысленное SEO и с негодованием отказался от предложений потратить ещё денег на услуги “партизанского” и “социального” маркетинга со “100% результатом”. Попытки выяснить причину неудачи ни к чему не привели — все эксперты только разводили руками и опять советовали потратить денег на SEO, контекстную рекламу и маркетинг. Или заказать новый сайт у новых разработчиков — вдруг на этот раз он получится лучше. И вот поиск причин неудачи перешёл из области разума в область метафизики. Ведь неизвестно — может у разработчиков сайта отрицательная карма (на хабре), или хостинг сайта расположен на старом индейском кладбище, или сервер не окропили святой водой, или сглазили по ftp, или это конкуренты заплатили денег энергоинформационному экстрасенсу и он с помощью генератора акустического резонанса (модель бубен) взял, да и сайт весь ПРОКЛЯЛ!
Читать дальше →
Total votes 82: ↑51 and ↓31 +20
Comments 54

Альтернативный способ распространения файлов

Reading time 3 min
Views 3.3K
В последнее время в сети стало распространённым выкладывание различных файлов на различные ресурсы-«файлопомойки». Сейчас я не хочу обсуждать проблемы, связанные с просмотром рекламы при или перед скачиванием, проблемы получения премиум-эккаунтов и удаление файлов по претензиям правообладателей. Найденный мной способ может использоваться как во благо — для автоматического распространения файлов внутри группы, так и во вред — для распространения вирусов, патчей и кряков и т.д. Виноват не изобретатель пистолета, а рука, его держащая.
Читать дальше →
Total votes 70: ↑63 and ↓7 +56
Comments 45

SICP теперь по-русски! Часть третья

Reading time 1 min
Views 12K
image
Перевод третьей лекции из курса «Структура интерпретация компьютерных программ».

Это самый известный курс по программированию за последние 25 лет; с 1980г читается в MIT, а с недавних пор что-то подобное читается и в Беркли.

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

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

Приятного просмотра!
Читать дальше →
Total votes 98: ↑94 and ↓4 +90
Comments 39

BBCode-enabled Growl Webkit Style

Reading time 2 min
Views 826
Продолжая тему Изучаем иностранные выражения (и не только), создал отдельный плагин для Growl, который поддерживает расширенное форматирование. Я считаю что для изучения языка (а не просто выражений) надо выводить немного больше информации, чем просто строчку «оригинал — перевод», например, добавлять контекст. Но в этом случае надо как-то отделять смысловые блоки друг от друга, желательно, визуально. Данный плагин это позволяет делать.

Естественно, возможности использования плагина не ограничены — он поддерживает полный набор BBCode-тегов. В данной заметке я расскажу как проинсталлировать и использовать плагин.
Читать дальше →
Total votes 32: ↑26 and ↓6 +20
Comments 2

Удаление запущенного .exe с помощью потоков NTFS

Reading time 1 min
Views 13K
Про потоки NTFS на хабре писали уже не раз, я же покажу, как с их помощью преодолеть одно ограничение Windows по работе с процессами. Тут эта тема в одном посте уже поднималась, но как-то вскользь. Я же хочу обратить на неё внимание.

Вы наверное знаете, что .exe файл работающего процесса невозможно удалить, пока он работает. Можно перемещать файл, но только в пределах своего раздела. С помощью потоков NTFS всё таки можно удалить файл процесса во время его работы.
Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Comments 7

Пара слов о разработке и публикации add-ons для FireFox и Chrome

Reading time 2 min
Views 3.4K
image
На днях мне обломился инвайт на лепру. В связи с чем появилось желание поэкспериментировать с плагинами для отображения картинок из комментариев к посту. Дальше о лепре ни слова, просто несколько тезисов о написании и публикации простого или чуть более чем простого адд-она для FireFox и Chrome. Ну и в конце — ссылки на поделки.
Читать дальше →
Total votes 60: ↑46 and ↓14 +32
Comments 17

Собеседования с разработчиками: вы делаете это неправильно

Reading time 5 min
Views 4.2K
Истории о том, как люди проходят собеседования в Google, напоминают мне о тех давно ушедших днях, когда я работал в стартапе. За десять лет проведения «современных» IT-интервью наша компания ничему не научилась, и я был частью этой проблемы несколько лет. Я просто скопировал стандартный механизм интервью тех времен, и тем самым совершил большую ошибку. Я думаю, проблемы с производительностью в компаниях, в которых во главе угла ставятся разработчики, выжжены в их ДНК процессом найма новых сотрудников — в корне порочным.

Как мы это делали


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

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

Читать дальше →
Total votes 107: ↑97 and ↓10 +87
Comments 54

Эффективная обработка фотографий в Photoshop

Reading time 6 min
Views 146K
Эффективная обработка фотографий в Photoshop

Читая статьи о Photoshop, я часто удивляюсь тому, насколько многие авторы усложняют решение по сути простых задач по обработке. Этим страдают и многие «монументальные» писатели, например Дэн Маргулис. Но ему это простительно – его задача написать о всех тонкостях и нюансах процесса обработки, рассмотреть его со всех ракурсов и сторон. Хотя именно эта особенность подачи материала в его книгах отталкивает многих читателей.

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

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

Читать дальше →
Total votes 288: ↑244 and ↓44 +200
Comments 117

Ричард Фейнман. Характер физических законов. Лекция 1

Reading time 1 min
Views 8.5K
Мой хороший друг по собственной инициативе решил сделать перевод популярных лекций известного физика-теоретика, лауреата Нобелевской премии Ричарда Фейнмана, прочитанных им в Корнельском университете в 1964 году.

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

Итак, «Характер физических законов», лекция первая.

http://vimeo.com/14174734

Те, кто интересуется, кто же такой Ричард Фейнман и почему его лекции настолько интересны, для начала могут ознакомиться со статьей в Wiki.
Читать дальше →
Total votes 105: ↑100 and ↓5 +95
Comments 44

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity