Pull to refresh
4
0

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

Хостим Bitwarden — open-source менеджер паролей

Reading time 5 min
Views 71K


Менеджеры паролей действительно полезны и важны как для отдельных пользователей, так и для организаций, и они пригодятся, когда у вас много разных учетных записей и паролей. Обычно люди не любят пользоваться сторонними менеджерами паролей с сервисной архитектурой — неизвестно, что происходит с данными на чужом сервере, и не будет ли он скомпрометирован. Самое безопасное решение это разместить менеджер на своём собственном (как следует защищенном) сервере. Разумеется, к такому self-hosted варианту возникает много требований, и большой список решений с открытым исходным кодом довольно быстро сужается до нескольких известных, проверенных продуктов. Среди них мне больше всего нравится Bitwarden, и сейчас я объясню почему.
Читать дальше →
Total votes 35: ↑35 and ↓0 +35
Comments 42

Быстрый туториал по установке и эксплуатации системы фильтрации IP-адресов CrowdSec v.1.0.x

Reading time 7 min
Views 8.1K

Всем привет! Перед Новым годом мы выпустили большой апдейт нашего продукта — CrowdSec v.1.0.X, в котором содержатся значительные изменения по сравнению с предыдущей версией. Самое главное: был введен в эксплуатацию локальный REST API и проведены соответствующие архитектурные изменения. Как следствие, значительно упростился процесс создания баунсеров и повышена их устойчивость, при этом снизилось время на обслуживание системы. 

В этой статье вы найдете основные материалы о том, как был переделан CrowdSec и, в целом, ее можно рассматривать как User Guide для тех, кто собирается попробовать наш продукт на своих системах. 

Быстрый и приятный туториал далее
Total votes 16: ↑16 and ↓0 +16
Comments 0

Выбираем лучшее приложение для заметок, ускорения производительности и управления задачами

Reading time 8 min
Views 122K
Прошлую неделю я провёл в поиске приложения для заметок, которое было бы идеально для использования каждый день. После некоторого обширного исследования я нашёл на рынке множество хороших вариантов. Задача свелась к анализу различных параметров приложений, чтобы найти подходящее.

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

Приятного чтения
Total votes 24: ↑23 and ↓1 +22
Comments 76

CSS var в rgba или удобное использование цветов в Sass

Reading time 3 min
Views 17K

Эта статья посвящена обзору моих наработок в Sass, которые облегчают жизнь при работе с цветами во время верстки. Мы рассмотрим 3 подхода, которые воедино принесут комфорт в работу с цветами. Имя только список цветов в HEX формате.

Читать далее
Total votes 13: ↑13 and ↓0 +13
Comments 14

Как я клею топовые дроп домены на продвигаемый сайт

Reading time 7 min
Views 47K

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

Читать далее
Total votes 52: ↑31 and ↓21 +10
Comments 49

Странный вкус, как симптом

Reading time 11 min
Views 62K

Вы когда-нибудь ловили себя или своих близких на странных вкусовых пристрастиях или излишествах? Не казалось ли вам, что 5 ложек сахара в чай уже не делают его сладким? Острый перец не такой уж и острый? А может быть вам нравится странное сочетание сладкого и соленого? Рыба с сиропом? Мороженное с пивом?

Читать далее
Total votes 114: ↑109 and ↓5 +104
Comments 59

Flutter + чистая архитектура: разбираем на примере

Reading time 17 min
Views 70K

На определенном этапе изучения новой технологии начинаешь задаваться вопросом, как правильно организовать архитектуру проекта. Мне в свое время повезло - попались опытные наставники, которые дали мудрые советы. Однако я считаю, что знания не должны лежать мертвым грузом, поэтому пишу эту статью в помощь начинающим (и не только) flutter-разработчикам.

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

Flutter - стремительно набирающий популярность фреймворк для разработки кроссплатформенных приложений. В списке поддерживаемых платформ - iOS, Android, web, в бете находится поддержка десктопа.

Под катом - рассказ о том, как построить flutter-приложение с использованием идей чистой архитектуры.

Читать далее
Total votes 26: ↑25 and ↓1 +24
Comments 36

Настройка Webpack 5 с нуля

Reading time 10 min
Views 199K


Узнайте, как использовать вебпак для сборки JavaScript, изображений, шрифтов и стилей, а также как запускать сервер для разработки

Если вы раньше использовали вебпак 4, вот некоторые отличия от 5 версии:

  • команда «webpack-dev-server» теперь выглядит как «webpack-serve»
  • отдельная установка file-loader, raw-loader и url-loader больше не требуется, вы можете использовать встроенные загрузчики ресурсов (asset modules)
  • полифилы для Node.js больше не поддерживаются, поэтому если, например, вы получили ошибку для stream, необходимо добавить пакет «stream-browserify» в качестве зависимости и { stream: «stream-browserify» } в качестве алиаса в настройки вебпака

Что такое вебпак?


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

Вебпак — это сборщик модулей. Он служит для упаковки кода для использования браузером. Он позволяет использовать последние возможности JavaScript с помощью Babel или использовать TypeScript и компилировать его в кроссбраузерный минифицированный код. Он также позволяет импортировать статические ресурсы в JavaScript.

Для разработчиков вебпак также предоставляет сервер для разработки, который умеет обновлять модули и стили на лету при сохранении файла. Инструменты командной строки, такие как «vue create» и «react-create-app» используют вебпак за сценой, но вы легко можете создать собственную настройку вебпака для указанных фреймворков.

Вебпак также умеет делать много других вещей, но данная статья посвящена основам его настройки и использования.
Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Comments 12

Как выбрать решение для парсинга сайтов: классификация и большой обзор программ, сервисов и фреймворков

Reading time 17 min
Views 23K
Парсинг или как его еще иногда называют web scraping – процесс автоматического сбора информации с различных сайтов. Форумы, новостные сайты, социальные сети, маркейтплейсы, интернет-магазины и даже поисковая выдача, вот далеко не полный список ресурсов с которых собирают контент.

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

Оптимизация: Настройка веб-сервера Nginx для улучшения показателей RPS в HTTP API

Reading time 6 min
Views 14K

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

Мы столкнулись с указанной выше проблемой, когда наша развернутая система ежедневно использовалась миллионом пользователей, которые подключались всплесками время от времени. Это значит, что развертывание нескольких серверов или их масштабирование не будет в данной ситуации оптимальным решением.
Читать дальше →
Total votes 14: ↑9 and ↓5 +4
Comments 5

Подключение и настройка графиков TradingView

Reading time 9 min
Views 45K


Если Вы — фрилансер или CTO финансового проекта, рано или позно Вы столкнетесь с вопросом подключения графиков, я сэкономлю Вам минимум сутки работы. Те, кто уже используют эту библиотеку, возможно, найдут что-то новое.


Статья будет в формате "книги рецептов" с open source решениями для криптовалютной биржи Binance и Forex.

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

5 библиотек для Vue.js, без которых мне не обойтись

Reading time 10 min
Views 30K
Опытные разработчики знают о том, что иногда, пытаясь сэкономить время и решить какие-то задачи своего проекта с помощью пакета, созданного кем-то другим, можно, в итоге, потратить больше времени, чем было сэкономлено. Библиотеки, жёстко регламентирующие реализацию неких механизмов и не позволяющие решать с их помощью необычные задачи, выходящие за рамки того, что кажется правильным их авторам, заставляют нас, буквально сразу же после их установки, жалеть о том, что мы вообще решили их попробовать.



Хотя со мной такое случалось довольно часто, у меня, всё же, есть небольшой список любимых библиотек, которые я использовал во множестве проектов, и которые за долгое время доказали свою крайнюю полезность. Я испытал множество подходов к решению тех задач, которые решают эти библиотеки. На мой выбор повлияло удобство работы с библиотекой, разнообразие её возможностей, хороший внешний вид того, что получается при её применении. В итоге у меня и появился тот список, которым я хочу с вами поделиться.
Читать дальше →
Total votes 45: ↑43 and ↓2 +41
Comments 26

Секрет формы иконок iOS: это сквиркл? Разбор

Reading time 4 min
Views 78K
Давайте сыграем в игру. У нас есть два ряда знакомых всем пользователям iOS-иконок. На первый взгляд иконки сверху и снизу одинаковые. Но это не так. В одном ряду вы видите настоящие иконки, а в другом подделку.





Можете ли вы определить, где какие? Не торопитесь, посмотрите внимательно? Ну что, выбрали?

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

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

Но! В интерфейсе iOS нет ни одного квадрата с закруглёнными углами. Все элементы в iOS, это не квадраты и прямоугольники — это суперэллипсы!

Сегодня мы поговорим про секреты в дизайнах продуктов Apple. Что такое суперэллипс? В чём магия формы иконок? И почему HomePod — это суперяйцо.



Total votes 112: ↑93 and ↓19 +74
Comments 103

Изучаем Parcel — альтернативу Webpack для небольших проектов

Reading time 8 min
Views 18K


Доброго времени суток, друзья!

Основное назначение сборщиков модулей или бандлеров, таких как Webpack или Parcel, состоит в том, чтобы обеспечить включение всех модулей, необходимых для работы приложения, в правильном порядке в один минифицированный (если речь идет о сборке для продакшна) скрипт, который подключается в index.html.

На самом деле сборщики, как правило, умеют оптимизировать не только JS, но и HTML, CSS-файлы, могут преобразовывать Less, Sass в CSS, TypeScript, React и Vue (JSX) в JavaScript, работать с изображениями, аудио, видео и другими форматами данных, а также предоставляют дополнительные возможности, такие как: создание карты (используемых) ресурсов или источников (source map), визуальное представление размера всего бандла и его отдельных частей (модулей, библиотек), разделение кода на части (chunks), в том числе, в целях переиспользования (например, библиотеки, которые используются в нескольких модулях, выносятся в отдельный файл и загружаются лишь раз), умная загрузка пакетов из npm (например, загрузка только русской локализации из moment.js), всевозможные плагины для решения специфичных задач и т.п.

В этом отношении лидерство, безусловно, принадлежит Вебпаку. Однако, что если мы разрабатываем проект, в котором большая часть функционала, предоставляемого этим замечательным инструментом, не нужна? Существуют ли альтернативы данной технологии, более простые в освоении и использовании? Для меня ответом на этот вопрос стал Parcel. К слову, если вы заинтересованы в изучении Вебпака, рекомендую к просмотру это видео. Мой файл с настройками Вебпака по данному туториалу находится здесь.
Читать дальше →
Total votes 5: ↑4 and ↓1 +3
Comments 6

Web scraping вашего сайта: непрошеные гости и как их встречают

Reading time 20 min
Views 26K
На первом в истории полностью виртуальном мероприятии РИТ++, прошедшем в конце мая, инженер Qrator Labs — Георгий Тарасов, рассказал публике про веб-скрейпинг, он же парсинг, популярным языком. Мы решили предоставить вашему вниманию транскрипцию выступления. Видео в конце публикации.


Total votes 70: ↑69 and ↓1 +68
Comments 59

Гайд-пример по Планировщику ключевых слов Google: собираем рекламную кампанию с нуля

Reading time 9 min
Views 22K
Гайд-пример по Планировщику ключевых слов Google

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


Мы протестировали Планировщик «в бою» — собрали кампанию для рекламы фотоаппаратов. Подробно рассказали, что и как делать, нашли проблемы и предложили решения.

Читать дальше
Total votes 4: ↑3 and ↓1 +2
Comments 0

Сон и продолжительность жизни. Пандемия недосыпа

Reading time 20 min
Views 65K

О времена, о нравы.


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


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


«Вот бы вообще не спать, я бы столько всего успевал сделать!» — наверное, так мечтал почти каждый.


Есть и те, кто относятся ко сну с пренебрежением: «Лягу сегодня попозже, часа в 3 ночи». Неважно, остались ли незаконченные дела у человека или он решил досмотреть сериал — так повторяется изо дня в день. А вставать, как всегда, по будильнику в 7:00. Кто-то даже гордится тем, как мало он спит. Подумаешь недосып?


Есть ли тут повод для гордости? Скорее наоборот.


Сегодня команда Lifext расскажет:



image

Читать дальше →
Total votes 47: ↑47 and ↓0 +47
Comments 105

Проверка сайта на уязвимости своими силами с использованием Wapiti

Reading time 6 min
Views 26K

image
В прошлой статье мы рассказали о Nemesida WAF Free — бесплатном инструменте для защиты сайтов и API от хакерских атак, а в этой решили сделать обзор популярного сканера уязвимостей Wapiti.


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


Nikto, W3af (написан на Python 2.7, поддержка которого закончилась) или Arachni (с февраля более не поддерживается) — наиболее популярные решения, представленные в бесплатном сегменте. Разумеется, есть и другие, например, Wapiti, на котором мы решили остановимся.

Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Comments 2

Как заставить Google полюбить вашего автора?

Reading time 2 min
Views 3.3K
В сентябре 2019 года вышел новый алгоритм от Google E-A-T для борьбы с некачественным и не с экспертным контентом. Сильнее всего повлиял на сайты YMYL — Your Money or Your Life (кошелёк или жизнь).

image

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

Экспертность автора — один из ключевых факторов ранжирования алгоритма E-A-T от Google. Создателем контента может быть компания или человек, Google об этом говорит в «Руководстве для асессоров», но создать и следить за репутацию отдельного человека легче, чем за целой компанией. Люди больше доверяют другим людям, чем организациям.
Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Comments 5

Как я искал пацанский движок для блога

Reading time 8 min
Views 41K


Я много пишу в интернетах и мне захотелось завести свой личный стэндалон блог, куда можно писать мелкие заметки и статьи, не подходящие для других площадок. Главная проблема личного блога — мне лень оформлять посты. Чтобы черкануть пару строк в каком-нибудь Wordpress, нужно слишком много телодвижений. Я попробовал несколько разных движков и каждый раз ловил себя на ощущении, что мне не хочется ими пользоваться, намного быстрее и проще писать в записную книжку вроде Evernote или Notion. Так я стал искать идеальный движок для блога, отвечающий всем моим потребностям.

Мои требования к идеальному движку:


  • Желательно self-hosted — я пережил много закрытий сервисов, от narod.ru до google+ и точно знаю, что рано или поздно все протухает, поэтому надежнее всего держать контент у себя. Также посты могут удалять по каким-то фейковым жалобам или по DMCA, как это происходит на Medium и LiveJournal.
  • Возможность подключения своего домена — мне нужен сайт-визитка со всеми проектами и ссылками в одном месте, где можно разместить портфолио, резюме, контакты.
  • Минимум телодвижений и интерфейса — в идеале интерфейса CMS вообще не должно быть видно, админская панель не нужна, посты должны редактироваться, создаваться и просматриваться в одном месте.
  • Полноценный WYSIWYG редактор — поддержка разметки Markdown и обработка её в реальном времени, подсветка кода, вставка картинок из буфера обмена.
  • Нормальные комментарии — возможность оставлять анонимные комментарии и авторизовываться через максимум соц. сетей для персонифицированных комментариев.
  • Минималистичный внешний вид — я не хочу заниматься версткой и темами, подходящее оформление должно быть из коробки.


Внутри я рассказываю какой вижу идеальную CMS, редактор постов и комментарии, почему большинство существующих движков устарели на десять лет, и сравниваю между собой разные движки.
Total votes 94: ↑87 and ↓7 +80
Comments 80

Information

Rating
Does not participate
Registered
Activity