Как стать автором
Обновить
0
0

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

Отправить сообщение

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

Время на прочтение8 мин
Количество просмотров42K


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

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


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


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

PostgreSQL Antipatterns: обновляем большую таблицу под нагрузкой

Время на прочтение6 мин
Количество просмотров27K
Как стоит поступить (а как точно не надо), если в «многомиллионной» активно используемой таблице PostgreSQL нужно обновить большое количество записей — проинициализировать значение нового поля или скорректировать ошибки в существующих записях? А при этом сохранить свое время и не потерять деньги компании из-за простоя.


Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии8

PostgreSQL Antipatterns: навигация по реестру

Время на прочтение4 мин
Количество просмотров9.6K
Сегодня не будет никаких сложных кейсов и мудреных алгоритмов на SQL. Все будет очень просто, на уровне Капитана Очевидность — делаем просмотр реестра событий с сортировкой по времени.

То есть вот лежит в базе табличка events, а у нее поле ts — ровно то самое время, по которому мы хотим эти записи упорядоченно показывать:

CREATE TABLE events(
  id
    serial
      PRIMARY KEY
, ts
    timestamp
, data
    json
);

CREATE INDEX ON events(ts DESC);

Понятно, что записей у нас там будет не десяток, поэтому нам потребуется в каком-то виде постраничная навигация.

#0. «Я у мамы погроммист»


cur.execute("SELECT * FROM events;")
rows = cur.fetchall();
rows.sort(key=lambda row: row.ts, reverse=True);
limit = 26
print(rows[offset:offset+limit]);

Даже почти не шутка — редко, но встречается в дикой природе. Иногда после работы с ORM бывает тяжело перестроиться на «прямую» работу с SQL.

Но давайте перейдем к более распространенным и менее очевидным проблемам.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии17

Выжимаем все соки из Chromium на Linux

Время на прочтение7 мин
Количество просмотров131K
В этой статье рассмотрим, как выжать все соки из Хромиума и максимально ускорить его или другой браузер на его движке (Chromium, Google Chrome, Opera, Vivaldi, Яндекс и др.). За счет включения многих экспериментальных возможностей по вынесу вычислений с процессора на видеокарту и включения использования находящихся в разработке программных алгоритмов. За счет этого наш любимый хромиум станет работать быстрее, может перестать тормозить или моргать экраном.

Поехали!
Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии30

Делаем быстрее POSTGRESQL COUNT (*)

Время на прочтение4 мин
Количество просмотров50K


Часто жалуются, что count (*) в PostgreSQL очень медленный.

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

Почему count (*) такой медленный?


Большинство людей без проблем понимают, что следующий запрос будет выполняться медленно:

SELECT count(*)
FROM /* сложный запрос */;

В конце концов, это сложный запрос, и PostgreSQL должен вычислить результат, прежде чем узнает, сколько строк он будет содержать.

Но многие люди потрясены, когда узнают, что следующий запрос медленный:

SELECT count(*) FROM large_table;

Тем не менее, если вы подумаете еще раз, все вышесказанное остается в силе: PostgreSQL должен вычислить результирующий набор, прежде чем сможет его посчитать. Поскольку в таблице не хранится «магический счетчик строк» (как в MyISAM MySQL), единственный способ подсчитать строки — это просмотреть их.

Поэтому count (*) обычно выполняет последовательное сканирование таблицы, что может быть довольно дорого.
Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии36

Управление кластером Docker Swarm с помощью Swarmpit

Время на прочтение3 мин
Количество просмотров17K
image

Доброго времени суток, %username%. Пора расчехлить блог после 6 лет простоя и попробовать опять что-то полезное принести сообществу.

Я крайне удивлен, что на хабре до сих пор нет ни одной статьи про Swarmpit. Я конечно понимаю, что наверняка большинство изучая Docker останавливаются собственно на нем и потом пытаются забраться на Эверест под названием Kubernetes. Не знаю точных чисел, но думаю тут большинство теряются и либо вообще забивают на Docker либо только его и используют. А зря!
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии75

Чеклисты заменяют регламенты?

Время на прочтение3 мин
Количество просмотров22K


На работе мне приходилось внедрять проектное управление в одной большой и мягкой, в плане управления, компании. Я «ломал» старые и пытался запустить новые бизнес-процессы. Я писал регламенты, заводил людям оценки в мотивационные матрицы.
Генеральный директор подписывал приказы, которые практически никто не исполнял. Я вовлекал в процесс топов компании, но они не находили времени посмотреть тот или иной документ. Некоторые руководители проектов искренне хотели жить по новым правилам, но не понимали их. Я пытался сделать документы максимально простыми и понятными, но это не давало результатов.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии65

Современный курс по Node.js в 2020

Время на прочтение4 мин
Количество просмотров110K


Дорогие товарищи инженеры, сообщество Метархия представляет вашему вниманию современный курс по Node.js, который включает глубокий разбор всех возможностей и аспектов платформы. Основной упор делается на то, как создавать надежные высоконагруженные сервера приложений и API без привязки к конкретному фреймворку и даже протоколу, т.е. абстрагировать бизнес-логику в отдельный слой. К лекциям прикреплено множество примеров кода, демонстрирующих гибкую структуру приложений и архитектурные приемы, в том числе работу с СУБД через слой доступа к данным, создание интерактивных приложений на вебсокетах, обеспечение безопасности, Graceful shutdown, межпроцессовое взаимодействие, предотвращение утечек памяти, масштабирование и кластеризацию при помощи процессов и потоков. На текущий момент в курсе 38 лекций (около 35 и ½ часов видео), 37 репозиториев с примерами кода, 4 PDF со слайдами. Перед основной частью курса по Node.js нужно сначала освоить хоть частично курс по асинхронному программированию.

Читать дальше →
Всего голосов 40: ↑40 и ↓0+40
Комментарии15

[в закладки] 9 инструментов, повышающих продуктивность веб-разработчика

Время на прочтение4 мин
Количество просмотров32K
Интернет — это не только то место, где можно научиться программировать. Тут имеется множество полезных онлайновых инструментов, способных помочь разработчику на разных этапах работы над проектом и таким образом сэкономить немного времени.



Автор статьи, перевод которой мы сегодня публикуем, отобрал 9 таких инструментов.
Читать дальше →
Всего голосов 46: ↑38 и ↓8+30
Комментарии12

Создание инкрементального сервера для iOS Team

Время на прочтение3 мин
Количество просмотров2.9K
image

Бесплатная книга

После пяти лет наступаний на одни и те же грабли, и полугода поисков DevOps-а, который знает что-такое Provision Profile и как от него зависит развертывание приложения, было принято решение составить пошаговую инструкцию, в картинках, о том, настраивать рабочее окружение в iOS Team с минимальными финансовыми вложениями (к примеру, когда нет проплаченных аккаунтов GitHub или Jira), а работа кипит.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии1

Sampler. Консольная утилита для визуализации результата любых shell команд

Время на прочтение5 мин
Количество просмотров84K

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


Sampler


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


Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.

Читать дальше →
Всего голосов 298: ↑297 и ↓1+296
Комментарии54

Кот Шрёдингера без коробки: проблема консенсуса в распределённых системах

Время на прочтение13 мин
Количество просмотров23K
Итак, представим. В комнате заперты 5 котов, и чтобы пойти разбудить хозяина им необходимо всем вместе договориться между собой об этом, ведь дверь они могут открыть только впятером навалившись на неё. Если один из котов – кот Шрёдингера, а остальные коты не знают о его решении, возникает вопрос: «Как они могут это сделать?»

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


Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии20

Вертим логи как хотим ― анализ журналов в системах Windows

Время на прочтение6 мин
Количество просмотров119K


Пора поговорить про удобную работу с логами, тем более что в Windows есть масса неочевидных инструментов для этого. Например, Log Parser, который порой просто незаменим.


В статье не будет про серьезные вещи вроде Splunk и ELK (Elasticsearch + Logstash + Kibana). Сфокусируемся на простом и бесплатном.

Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии6

Как лучше разбираться в людях

Время на прочтение31 мин
Количество просмотров102K
Рассказывать айтишникам про психологию то еще дело, некоторые читатели скажут: «Bullshit!», и вообще не поверят, потому что психологию, даже прикладную, нельзя назвать точной наукой. Тем не менее, задача этой статьи — показать и доказать вам, что некоторые модели действительно работают. В основе доклад Сергея Котырева из UMI на РИТ++ 2017, от его лица дальше и пойдет повествование.



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

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

Мне кажется, о поведении и предсказании поведения спиральных галактик мы знаем больше, чем о том, как поведет себя человек, например, моя жена, сотрудник, или особенно сотрудница моего отдела маркетинга, не говоря уже о пиарщицах. О том, что ближайшая к нам Галактика летит, и через сколько-то миллиардов лет столкнется с нашей, мы уже знаем точно.
Всего голосов 127: ↑113 и ↓14+99
Комментарии63

Веб-типографика: создаем таблицы для чтения, а не для красоты

Время на прочтение12 мин
Количество просмотров22K
Наталия Шергина, фрилансер-редактор и студентка Нетологии, специально для блога перевела лонгрид Richard Rutter о типографике веб-таблиц.



Хорошие дизайнеры не жалеют времени на типографику. Они тщательно подбирают шрифты, перебирают множество типографических шкал и скрупулезно применяют пробелы (white space) ради удобства пользователя. Затем появляется соблазн покреативить — и вот все мысли уже не о пользователе. Однако таблицы нужны в первую очередь, чтобы их читали и использовали, а не просто любовались.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии9

Знакомство с хранилищем Ceph в картинках

Время на прочтение11 мин
Количество просмотров282K
Облачные файловые хранилища продолжают набирать популярность, и требования к ним продолжают расти. Современные системы уже не в состоянии полностью удовлетворить все эти требования без значительных затрат ресурсов на поддержку и масштабирование этих систем. Под системой я подразумеваю кластер с тем или иным уровнем доступа к данным. Для пользователя важна надежность хранения и высокая доступность, чтобы файлы можно было всегда легко и быстро получить, а риск потери данных стремился к нулю. В свою очередь для поставщиков и администраторов таких хранилищ важна простота поддержки, масштабируемость и низкая стоимость аппаратных и программных компонентов.

Знакомьтесь: Ceph


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



При выходе любого диска, узла или группы узлов из строя Ceph не только обеспечит сохранность данных, но и сам восстановит утраченные копии на других узлах до тех пор, пока вышедшие из строя узлы или диски не заменят на рабочие. При этом ребилд происходит без секунды простоя и прозрачно для клиентов.
Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии67

Анализируй это. Mista.ru

Время на прочтение69 мин
Количество просмотров15K


What, How, Why


Форум Mista.ru — один из самых старых и активных форумов, посвященных 1С. Первое сообщение датировано 2000 годом и на текущий момент счетчик тем перевалил за 800000, а количество сообщений больше 16 000 000. Форум был настолько популярен, что его даже пытались "зеркалировать", так как содержал неплохую базу вопросов-ответов по 1С, из-за чего админы форума добавили "защиту от скачивания". В этой статье будет описано то, как можно скачать этот (а наверное и любой другой) форум в относительно короткие сроки при помощи Google Cloud Platform.

Читать дальше →
Всего голосов 38: ↑33 и ↓5+28
Комментарии40

Давайте уже разберемся в DNS

Время на прочтение8 мин
Количество просмотров438K

image
Внимательный читатель найдет на этой картинке IPv6


Люди часто озадачены доменами. Почему мой сайт не работает? Почему эта хрень поломана, ничего не помогает, я просто хочу, чтобы это работало! Обычно, вопрошающий или не знает про DNS, или не понимает фундаментальных идей. Для многих DNS — страшная и непонятная штука. Эта статья — попытка развеять такой страх. DNS — это просто, если понять несколько базовых концепций.


Что такое DNS


DNS расшифровывается как Domain Name System. Это глобальное распределенное хранилище ключей и значений. Сервера по всему миру могут предоставить вам значение по ключу, а если им неизвестен ключ, то они попросят помощи у другого сервера.


Вот и все. Правда. Вы или ваш браузер запрашивает значение для ключа www.example.com, и получает в ответ 1.2.3.4.

Читать дальше →
Всего голосов 52: ↑48 и ↓4+44
Комментарии36

Настраиваем Windows Server так, чтобы у вас все было, при этом вам за это ничего не было

Время на прочтение7 мин
Количество просмотров165K

Parallels Parallels Remote Application Server (RAS) представляет из себя RDP с человеческим лицом, но некоторые его фишки должны быть настроены на стороне Windows Server (либо в виртуальных машинах, которые вы используете). Под катом рекомендации Матвея Коровина из команды техподдержки Parallels о настройках Windows Server при использовании RAS.
Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии31

SQL Server поддерживает регулярные выражения при проверке ограничений, не всегда нужны триггеры

Время на прочтение2 мин
Количество просмотров28K

Кто-то задал такой вопрос:


Мне нужно создать таблицу group со столбцом code. Можно ли добавить ограничение на столбец, которое допускало бы только буквенные символы (D, M, O, P или T) с последующими двумя цифровыми символами?

Ему ответили:


Вы не можете этого сделать обычным способом — MS SQL Server поддерживает проверку ограничений, но лишь в виде мин/макс значения INT, длины строки и т.п. То, что вам нужно, — проверка на основе регулярного выражения, которую SQL Server не поддерживает. Теоретически можно сделать .NET вставку, развернуть на SQL Server и заставить его использовать такую проверку — нетривиальная задача.

Попробуем разобраться


Не смотря на то, что SQL server не поддерживает регулярные выражения в полной мере, но поставленную выше задачу можно без проблем решить и на T-SQL. Вот так будет выглядеть это регулярное выражение

[DMOPT][0-9][0-9]

Оно допускает только буквенные символы (D, M, O, P или T) с последующими двумя цифровыми символами. Ладно, хватит разговоров, давайте перейдем к коду
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии3

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность