Pull to refresh
179
0

Пользователь

Эксперимент длиной 12 лет: из 45 сервисов бесплатного хранения картинок рабочих осталось 6

Reading time 5 min
Views 10K
В марте 2010 года были популярны в том числе и на Хабре, бесплатные хостинги картинок: собственного сервиса habrastorage.org у сайта ещё не было, а по форумам была довольно популярной услуга — опубликовать картинку на стороннем сервисе и показать её в статье или в комментарии.

Возник вопрос — много ли таких сервисов в природе, чтобы бесплатно и главное — без регистрации, позволяли бы достаточно надёжно публиковать картинки, в основном, не требуя рекламы? (Только при просмотре картинки на отдельной странице реклама могла быть и могла окупить расходы на хостинг при такой модели пользования.)

Хабр вскоре, года через 2-3, избавился от зависимости от сторонних сервисов, и большинство других сайтов стремятся так делать. Потому что срок жизни таких картинок на хостинге по разным причинам хостеры гарантировали недолгим — 0.5-3 года и часто — в зависимости от частоты показа картинки (долго неиспользуемые — удаляются).
Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Comments 7

Опыт работы над проектом на базе Vue3 в 2021 году

Reading time 7 min
Views 10K
Около полугода пришлось поработать над миграцией неработающего проекта на базе Vue 2 на проект Vue v.3.

Поскольку до сих пор работа с ним остаётся экзотикой, попробую описать состояние развития этого проекта в июле 2021 года, через 10 месяцев после релиза, и какие особенности встречались в этом не очень большом проекте в процессе миграции.

Будет интересно разработчикам и менеджерам, планирующим перевод проектов на Vue3, чтобы оценить трудоёмкость такого перехода. (TLDR — для перехода на Vue 3 сейчас многие фреймворки уже имеют свои версии с поддержкой Vue3. Сам переход особых трудностей не представляет, благодаря поддержке старого Options API и совместимости компонентов на разных API. Но вполне возможно, что время разработки увеличится за счёт ручной доработки отдельных компонентов, для которых авторы не написали версии поддержки. Какая-то значительная часть таких пакетов NPM имеется и останется, но нет проблем основываться на нативных версиях пакетов или написать части своего проекта по-другому, без использования старых пакетов. Активно поддерживаемые пакеты часто уже мигрировали и проблем не создают. Эту неопределённость каждого своего проекта необходимо вначале оценить и уметь писать компоненты.)
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 5

Как освободиться от Яндекс-дзена и прилипшей строки в поиске

Reading time 4 min
Views 24K
imageРечь пойдёт о юзер-стилях, помогающих программистам не отвлекаться на Дзен и не закрывать часть окна браузера поисковой строкой Яндекса.

Нет сомнения, что читатели сайта всё это знают, но не часто реагируют на желания Яндекса улучшить жизнь большинства. Я тоже, хотя когда-то писал эти стили для себя, уже почти год не реагировал на ребрендинг Главной Яндекса, когда окончательно убрали настраиваемые Виджеты и ввели Дзен. Но сегодня навёл некоторый порядок (когда окончательно стало понятно, что там особо нечего смотреть, а если и есть, то не в режиме рекламы), чтобы Яндексом было эффективнее пользоваться).

Появление Дзена и самозапускающихся видео изрядно мешает программисту или любому исследователю, который пришёл на сайт за запросом, а тут — картинки и видео начинают показывать своё и отбирают с таким трудом достигнутое сосредоточение на работе ) или просто время.
Читать дальше →
Total votes 7: ↑1 and ↓6 -5
Comments 23

Допиливаем прибитое поле поиска Гугла

Reading time 5 min
Views 5.5K
За десятилетие развития Гугл уже давно перестал выкладывать страницы поиска с примитивной вёрсткой, денег и времени на дизайн поисковой страницы стало хватать. Недавно (на самом деле, в разных районах мира он экспериментировал уже 2 месяца) он выложил новый дизайн результатов поиска, которые ещё постепенно дорабатываются — появилось овальное поле ввода (в поиске картинок — ещё прямоугольное), прибитое к верху (при прокрутке страницы) поле поиска. Остальные функции, в основном, остаются теми же, для которых довольно давно был сделан юзерскрипт (расширение браузера) Google Search Extra Buttons. В связи с изменениями вёрстки страницы были сделаны доработки, и заодно они затронули новые элементы пользовательского интерфейса, о которых порассуждаем сейчас, показав работающие модификации.
Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Comments 7

Firefox Gecko, «который мы потеряли»

Reading time 11 min
Views 49K

Эволюция идёт, и более слабые, медленные и неэффективные организмы вымирают. Не так давно мы проводили в пучину истории Оперу-12, глядя куда-то вдаль, молча слушая за спиной всхлипывания сочувствующих. В отличие от трупа последнего животного из Красной Книги, ею можно было ещё пользоваться 2-3 года, да и на некрофилов пользователи не смахивали. Похожая ситуация повторяется с Firefox на движке Gecko с последней наиболее удобной версией 56.0.2. Есть много полезной и привычной функциональности, не только встроенной, но и в аддонах (расширениях). Даже пониженное быстродействие — не основание для перехода к новой версии, если с ней теряется несколько полезных функций. А со старым движком есть, что терять...


Рассмотрим список того, чем ещё можно пользоваться в старой версии Firefox и с какими успехами идёт замена и восстановление этого в новых версиях. Что имеется совершенно нового, ради чего стоит всё бросить и забыть. (На самом деле — не обязательно. Ведь можно одновременно открывать старую и новую версии.)

Читать дальше →
Total votes 32: ↑25 and ↓7 +18
Comments 219

Сложности регистрации в Скайпе без телефона

Reading time 7 min
Views 29K

Для того, чтобы продолжать пользоваться Скайпом как классической программой, должно выполняться одно из требований — простота регистрации (однофакторная, без телефона и других избыточных действий). Рассмотрим текущие проблемы пользования Скайпом и истории о том, как обойтись без телефона.


Собственно, MS с радостью бы придушили эту свободу, чем они планомерно занимаются. Что-то их держит не перекрыть все выходы до конца. К примеру, Гугл душить не стремится, хотя мог бы. Есть, видимо, в мире много сервисов, не дающих сказать MS-овцам "Мы просто делаем, как все".


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

Читать дальше →
Total votes 40: ↑35 and ↓5 +30
Comments 100

Недокументированный строчный тег «Это перевод, тупица!» на Хабре

Reading time 2 min
Views 3.5K
Всем известны проблемы трудного распознавания того, сам ли автор написал статью или лишь перевёл её. На Хабре с этим положением долго думали, как бороться, но осенью приняли все ранее предлагавшиеся меры:

  • Поставить вверху более заметную метку «Перевод»;
  • поставить перед статьёй открытым текстом ссылку на оригинал;
  • поставить внизу тоже сссылку на оригинал;
  • указать внизу открытым текстом автора оригинала.

Всё уже почти хорошо, но с одним условием: если составитель не забыл вначале, ПЕРЕД публикацией на сайте, указать, что он публикует перевод. Если забыл — перевести публикацию в формат «Перевод» невозможно, только с удалением и опубликованием новой копии. Но уже могут быть комментарии и история просмотра, которую не хотелось бы терять.
Что делать, если забыл?
Total votes 31: ↑12 and ↓19 -7
Comments 12

Галерный хакатон

Reading time 2 min
Views 7.8K
Вдохновителем статьи послужила история о хакатоне и идея наблюдателя в комментарии.

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

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

Наша команда галерщиков очень дружна. Разлучить их может только увольнение. Именно про таких песни поют: связанные одной целью, скованные одной… И вот помочь бы им так же за два дня напрямик махнуть через море, а там бы наши воины постреляли бы львов. Обычно окольный путь по побережью занимает две недели, но ведь умеют же лодочники выкладываться и гнать напрямик. Казалось бы, нашим в чём разница?

image

Читать дальше →
Total votes 31: ↑23 and ↓8 +15
Comments 7

Доработки шаблонизатора DoT.js

Reading time 12 min
Views 5.1K
Время зоопарка шаблонизаторов миновало, теперь вокруг бегают динозаврики MVC, а в них используются встроенные шаблонизаторы и билдеры компонентов. Но для замены старых менее удобных шаблонизаторов в Knockout и Backbone иногда нужны они, в основном, остановившиеся в развитии на уровне около 2014 года.

Так случилось и с DoT.js. Поначалу заброшенный авторами примерно на год в 2013-м, он получил их внимание ненадолго, поднявшись с версии 1.0.1 до 1.1.1, и снова был заброшен (или стабилизирован, смотря как рассуждать). В связи с этим ещё в 2013 году понадобилось (делать клон DoT.js), а теперь — и апгрейдить его.

Он — такой же быстрый, как и встроенный _.template() в Underscore/Lodash, но с улучшенным синтаксисом, при котором необходимость писать JS в шаблонах встречается нечасто, а в Underscor-овском — нужна всегда. Этим скобкам со скриптами даже придумали специальный термин: javascript encapulated sections (JES), и от них, в основном, избавились.

Что получаем дополнительно?


1. Структура шаблонизатора была переработана (в 2013-м, ссылка оттуда), чтобы лучше читалась и уменьшилось число декодирований функций;
2. Тесты показали, что быстродействие в среднем не изменилось (колебания -3% — +10% в зависимости от параметров);
3. Добавлена команда работы по структуре, аналогично работе по массиву;
Читать дальше →
Total votes 8: ↑5 and ↓3 +2
Comments 25

Не находите ли вы неудачной кнопку перехода на страницу номер 100?

Reading time 1 min
Views 20K
Поговорим про интерфейсы и про то, что видим на этой ленте статей, прокрутив её вниз, до пагинатора.



Конечно, очевидно, что после кнопки с номером «8», ведущей на страницу номер 8 по стрелке, похожей на стрелку возле слова «Туда» должна идти кнопка, ведущая на страницу с номером 9.

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

Поможем доказать это.

1. Почему вредно после кнопки «8» ставить кнопку со стрелкой, похожей на стрелку «туда», но ведущую не туда?

К примеру, вот очень похожая…

Total votes 86: ↑70 and ↓16 +54
Comments 67

Раскрываем тему WebAssembly с Бренданом Айком

Reading time 24 min
Views 13K
(Прим. перев.: технологии asm.js и WebAssembly ещё не вышли в практическую плоскость, о них регулярно идут сдержанные сигналы с самых верхов Олимпа разработки веб-технологий (Mozilla, Microsoft, Google), но многие об их состоянии знают мало. Значит, самое время — узнать о них сейчас.

Представлено интервью Брендана Айка, сделанное 31 марта 2017 года Оно — на 1.5 часа, но 2-я половина — про проект браузера Brave, не относится к компиляторам JS), создателя Javascript и журналистов из SE Daily.

Читать дальше →
Total votes 21: ↑19 and ↓2 +17
Comments 12

Кто выложил 10-миллионный комментарий? Тайны нумерологии

Reading time 2 min
Views 14K
image8 января между 11:24 и 12:12 наше предприятие выпустило 10-миллионный комментарий. Ура. Смотрим статью, самую близкую к этому времени, и видим доказательство:

https://habrahabr.ru/post/319094/#comment_9999994
https://habrahabr.ru/post/319094/#comment_10000014

Как же найти сам комментарий? Расследование.

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

Но всё оказалось хорошо, и на удалении примерно 10 страниц назад по https://habrahabr.ru/all/ от этой даты, комментарий с этим номером был найден (сам пост от 3 января, а комментарий — на 5 дней позже).

https://habrahabr.ru/post/318938/#comment_10000000

Дальше видим, что автор комментария Kavabunga в этот момент написал свой ПЕРВЫЙ комментарий на Хабр, и тут же попал в «десятку».
Читать дальше →
Total votes 44: ↑37 and ↓7 +30
Comments 12

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

Reading time 7 min
Views 18K
Всё верно, слишком агрессивное поведение окружающей среды (производителей контента) приводит ко всё более жёстким попыткам цивилизации подчинить окружающий мир себе. В этом — естественная природа человека и человечества, поэтому незнание законов природы приведут контентчиков к тому, что их надёжно обезопасят. Чтобы они, наконец стали приносить пользу, а не рекламу разумным людям.

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

TL;DR: есть способ обойти агрессивные анти-адблокеры сейчас, в рамках существующих правил игры, в расширениях браузеров.
Читать дальше →
Total votes 43: ↑26 and ↓17 +9
Comments 103

Розовые мечты евролоббистов о цензуре на тему «1984»

Reading time 5 min
Views 11K
Источник новости — статья депутата Европарламента из Германии juliareda.eu/2016/12/10-illegal-things от Пиратской партии на её собственном сайте, на котором она поднимает некоторые кричащие дела о лоббировании и следит за мероприятиями лоббистов. Особого внимания ИТ-сообщества заслуживает её последняя информация, пока что на уровне предложений в Европарламент (далее везде?). Не самый последний по должности еврокомиссар (по цифровой экономике и обществу) Гюнтер Эттингер на днях оставит свой пост, определявший интернет-политику ЕС и перейдёт на повышение — будет контролировать бюджет ЕС. Но венцом своего пути на текущей должности оставил удивительный законопроект, который, если будет реализован в полной мере, глубоко затронет привычные отношения в интернете и посеет новые надежды в сердца тысяч простых тружеников-копирастов по всему миру. Речь, фактически — о реформе авторского права.

Если кратко — что он предлагает. (Ранжирую по степени влияния на IT.)

* Github обяжут проверять все загрузки исходного кода на нарушение авторских прав;
* Wikipedia будет цензурироваться на загрузки фотографий;
* Вам нельзя будет развивать собственные реализации искусственного интеллекта на основе текстов и прочих данных, защищённых авторским правом (кроме НИИ в целях научных исследований);
* Запрет поисковикам на индексирование страниц даже в целях хранения данных (т.е. «для себя» тоже нельзя);
* Картинки нельзя куда-либо прикреплять, как в соцсетях сейчас, даже «для души», ибо копирайт;
* В твиттерах нельзя копировать авторские словосочетания, слоганы, заголовки;
* В соцсетях, конечно, нельзя копировать посты из блогов;
* Нельзя даже делиться ссылками (да, линками со сколь угодно короткими цитатами), это же копирайт, собственность авторов (можно, если с разрешения, за деньги или как-то ещё согласованно);
Читать дальше →
Total votes 33: ↑19 and ↓14 +5
Comments 112

Каникулы Василия или использование МТС ошибки учёта трафика для длительной блокировки счёта

Reading time 11 min
Views 17K
По следам аналогичной публикации о технических ошибках систем, приводящих к ошибкам в расчётах с клиентами, публикую обещанную историю с МТС. Не реклама. :)

Был август. До 2-го курса студента Василия Задёрганова (персональные данные изменены) оставалось несколько дней. Он был доволен летним интернетом от МТС на тарифе «МТС Коннект-4» по услуге «МТС-Планшет» — 4 ГБ трафика в месяц. И оставался последний день услуги и последний нескачанный гигабайт.

«Эх, скачаю фильм, и укачу на последние дни на природу!» — безмятежно подумал Василий. У него было просчитано всё. Он знал истории об облапошенных велосипедистах-любителях, у которых из-за незакрытого велозамка на прокате массово списывают тысячу рублей. Он знал, что вернут деньги лишь избранным, кто хорошо и красиво напишет об этом и прославит сервис на всю страну. Но это — не его путь. Он сделал всё, чтобы не пострадать. Он — стратег.

1) заранее для интернета завёл отдельную сим-карту;
2) заранее оставил для подлых крохоборов лишь 20 непотраченных рублей на счёте; а мог и меньше; но верил им, что побрезгуют такой мелочью;
3) в Личном Кабинете отключил опции законного жульничества — автоматической оплаты сверхлимитного трафика по повышенному тарифу;
4) там же отключил опцию «передавать трафик на услуге сверх лимита».

Вы поняли, какая перестраховка? Это вам не тракторист Федя, которого вы в этом сезоне обули на рекламе. Кто-то бы успокоился на отключении первой опции, а тут ему — вторая, не автоматическая. Вася — не такой.

… До конца его сим-карты оставалась пара часов.
Читать дальше →
Total votes 44: ↑38 and ↓6 +32
Comments 124

Расширенный поиск Яндекса (и Гугла) с помощью установленного скрипта или в интерфейсе

Reading time 9 min
Views 54K
В яндекс-поисковике, как и в Гугле, есть настройки расширенного поиска (по датам, документам, сайтам, стране, языку, ...) и специальные страницы для расширенного поиска. То и другое бывает неудобно из-за интерфейса — большого количества нажимаемых кнопок, кликов и движений. Для некоторых (частоиспользуемых) режимов поиска сделаны юзерскрипты с выбором одной из десятков кнопок в один клик. На экране видны лишь несколько стартовых кнопок, работающих как спадающие списки по наведению мыши.

Такой скрипт, когда-то бывший без спадающих списков, давно работал на страницах Гугла, и, судя по количеству скачиваний, приобрёл популярность среди англоязычных пользователей (есть выбор 5 языков интерфейса). Однажды подумалось, что его несложно будет перенести на Яндекс, и на выходных за пару дней адаптация и перекраска под цвета Яндекса была сделана, и теперь он представляется «целевой аудитории» — людям из IT, которым иногда приходится много искать и которым привычно устанавливать дополнительные скрипты и ходить по гитхабам.
далее
Total votes 11: ↑9 and ↓2 +7
Comments 4

Анимация падающего снега на Canvas эффективнее анимации на DOM в несколько раз

Reading time 16 min
Views 44K
.В сравнении с нативным JS на элементах DOM, реализация анимационных алгоритмов на Canvas обычно производительнее во много раз. Это известный факт (но с особенностями для малого числа частиц, как выяснится позже), и он может найти реализацию так всем мешающего традиционного под НГ, но гонимого рациональными пользователями «падающего снега». Чтобы нагрузки было мало, в последние годы считается хорошим тоном «запускать» снег на сайте едва заметным, с минимальным количеством снежинок (5-15). Тут и эффект есть, и нагрузки на процессор почти никакой.

Поэтому, пока до НГ ещё несколько дней ещё зима, предлагаю устроить хакатончик по реализации лучших алгоритмов на канвасе и их аналогов на DOM, взяв за основу в основном древние нативные алгоритмы, которые как максимум обёртывались в плагин jQuery, чтобы было удобно подключать. Большая часть этих алгоритмов не соразмеряет нагрузку на процессор или сделана неэффективно, поэтому даже при малом числе снежинок грузят процессор на 100%. Вот пример обзорной статьи, где рассмотрены более 10 реализаций, не все, встречающиеся в природе. В дополнение, рассмотрим несколько избранных, чтобы получить задел на развитие алгоритма и реализацию его с хорошей эффективностью (получится ещё 5-6 вариантов). На этой основе можно построить доработку. Github с 12 демо (ссылки повторяются ниже) и несколькими алгоритмами.
подробности
Total votes 12: ↑12 and ↓0 +12
Comments 14

Firefox и iOS — разве это совместимо? Оказалось, что да

Reading time 1 min
Views 10K
Вся проблема издавна была в том, что руководство Apple хотело видеть браузеры в iOS c рядом ограничений по движку (движок браузера — Webkit, рендеринг — UIWebView). Firefox никогда не делал браузеров на Webkit, но неудобство было ещё и в том, что сама Apple использовала более быстрый движок Nitro. В 2013 году по этой причине руководство Mozilla не планировало выпускать браузер в iOS. С версии iOS 8 политика несколько смягчилась — к Nitro допущены сторонние разработчики. Весь последний год мы получали сообщения о разработке Firefox под iOS. 2 месяца назад он появился в магазине AppStore для Новой Зеландии. Сейчас тестовый период прошёл, и Firefox для iOS версии не менее 8.2 доступен для установок по всему миру.
Далее
Total votes 6: ↑6 and ↓0 +6
Comments 15

Опубликованы jQuery 3.0 alpha и jQuery Compat 3.0 alpha

Reading time 18 min
Views 24K
(Перевод этого рассказа от авторов популярнейшей библиотеки будет весьма поучительным для всех, кто хотел бы держать руку на пульсе тектоники браузеров в свете решаемых проблем с парсингом DOM на данном этапе.)

Много воды утекло со времени последнего крупного релиза, и вы, конечно, заслуживаете обновлений. Поэтому мы рады объявить о выходе первой альфа-версии jQuery!

Несмотря на номер версии 3.0, мы ожидаем, что этот выпуск не доставит слишком много неприятностей при модернизации кода. Да, есть несколько критичных изменений, что оправдано сменой старшего индекса версии, но, надеемся, что эти переделки не повлияют на многих. Плагин jQuery Migrate поможет выявить проблемы совместимости кода. Также, ваши мнения об этой альфе нам сильно помогут, поэтому, пожалуйста, попробуйте её на существующем коде и плагинах!

Первый из релизов, jQuery 3.0, поддерживается новыми браузерами и IE 9+. Второй, jQuery Compat 3.0, поддерживается в IE 8+. Как бонус, оба релиза будут поддерживаться Яндекс-браузером, выпущенным в 2012-м.
Читать дальше →
Total votes 40: ↑38 and ↓2 +36
Comments 6

Свой шаблон отклика-письма на HeadHunter (и moikrug) без Copy-Paste

Reading time 7 min
Views 24K
Многим хорош сервис поиска вакансий hh.ru, но ищущий всегда найдёт, что усовершенствовать. К примеру, на сервисе есть поле для заполнения письма — ответа на вакансию, но нет элементарного шаблона оформления письма — заголовок, кратко о себе, ответы на требования по вакансии.

Если нет — надо сделать. Ведь специалист по JS не будет многократно заниматься Copy-Paste-операциями, когда знает, что их можно автоматизировать, даже не обременяя просьбами службы сайта. Есть такие инструменты, как пользовательские скрипты.

UPD 12.1.2016: Скрипт расширен на сайты career.ru (клон HH с той же клиентской базой), itmozg.ru, superjob.ru.

Вначале, конечно, пришлось покопировать, пока не выявились закономерности и не получился юзерскрипт hhFiller. Шаблон отклика, на мой взгляд, должен содержать:
1. Заголовок-приветствие. После него пойдёт сразу рукописный текст, живой ответ на вакансию в 2-3 или более строчек.

Читать дальше →
Total votes 14: ↑11 and ↓3 +8
Comments 3

Information

Rating
Does not participate
Location
Россия
Registered
Activity