Pull to refresh
9
0
Владимир @kosenka

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

Send message

Как сделать связанный сервер для распределенной базы данных. (MSSQL + Postgre)

Level of difficultyEasy
Reading time4 min
Views2.9K

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

Всем доброго дня, дорогие Хабровчане! Решил поделиться созданием связаннх серверов, поскольку информации в интеренете много, но не везде описываются все мелочи.

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments19

Linux-порт Far Manager: новости весны 2023

Level of difficultyMedium
Reading time4 min
Views23K

Обычно я пишу статьи об развитии проекта far2l — порта знаменитого Far Manager под Linux, MacOS и BSD (а теперь ещё и Haiku) раз в год. Но иногда случается так, что объем новостей на статью набирается быстрее. Недавно произошло сразу несколько важных событий, поэтому дожидаться конца года не буду, а опубликую самое интересное сразу.

Нас взяли в Debian!

Это, пожалуй, главная новость. К сожалению, в Bookworm мы попасть не успели, так что ждите нас в следующем выпуске, или в Ubuntu 23.10. Да, можно будет делать sudo apt install far2l, без всяких сложностей с ppa или самостоятельной сборкой!

Читать далее
Total votes 141: ↑141 and ↓0+141
Comments89

Почему программистам нужны кабинеты с закрывающимися дверями?

Reading time8 min
Views17K
Обычная ситуация: вы сидите за своим рабочим столом, погрузившись в размышления, и пытаетесь разрешить проблему, которая вот уже неделю не дает вам продвинуться в работе. В глубинах сознания вы выстраиваете структуру из мыслей и вероятностей, о которой ни один философ и не мечтал: выявляете концепты, прилаживаете их друг к другу, поворачиваете так и эдак, чтобы они состыковались. Что-то вроде арки, сложенной из камней: когда она будет закончена, то окажется достаточно прочной, чтобы пережить целые поколения – но пока не готова, может развалиться до основания, если слишком рано перестать удерживать части.



Триумфальная арка © Verity Cridland/flickr

Тут мимо проходит коллега и замечает, что вы просто сидите, возможно, со слегка приоткрытым ртом, не исключено, что голова у вас слегка склонена, глаз подергивается и общее выражение лица такое, будто вы проглотили муху (или это только у меня так?). В общем, очевидно, что вы ничем не заняты. Поэтому коллега трогает вас за плечо и говорит: «Эй, можно тебя на минутку? Я только хотел спросить…»

И вот, в эту самую секунду роскошная полуарка, которую вы с таким трудом удерживали, обрушивается к вашим ногам.
Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments23

Генерация документов в doc, excel, pdf и других форматах на сервере

Reading time3 min
Views41K
Выгрузка отчетов в различных форматах — типовая задача для многих проектов. И сейчас есть немало инструментов для этого. Среди них есть интересный вариант, который применяется, как мне кажется, не часто, но он однозначно стоит внимания. Потому что позволяет получить документ в нужном формате буквально одной командой. О нем и расскажу.

image

Читать дальше →
Total votes 36: ↑33 and ↓3+30
Comments20

Блокировка Trello и Jira? Ничего страшного, поднимаем свой сервер

Level of difficultyEasy
Reading time5 min
Views24K

Redmine и Plane — опенсорсные альтернативы Jira на своём хостинге

Компания Atlassian в рассылке для пользователей предупредила, что все аккаунты в России и Беларуси будут принудительно отключены. Клиентам дают 30 дней на перенос своих данных.

Из опыта прошлых блокировок других сервисов, самый надёжный вариант в таком случае — поднять собственный сервер с аналогичной системой (но опенсорсной и бесплатной), чтобы ни от кого не зависеть.
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments16

Проблемы студентов курсов при работе с реальными данными

Level of difficultyEasy
Reading time9 min
Views3.6K

Практически от любого специалиста IT-сферы сегодня требуется хотя бы базовое знание SQL. Рынок онлайн-образования реагирует соответствующе: на любом сайте по теме можно найти что-то связанное с SQL и/или базами данных. В теории такие курсы действительно позволяют узнать основы языка, а иногда даже и немного больше, но на практике они не готовят специалиста ко взаимодействию с реальной базой данных. Многие стажеры и младшие (а иногда и грейдом повыше) специалисты допускают одни и те же ошибки.

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

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments7

Замена EAV на JSONB в PostgreSQL

Reading time6 min
Views21K
TL; DR: JSONB может значительно упростить разработку схемы БД без ущерба производительности в запросах.

Введение


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

Самый простой путь решения этой проблемы – это создание столбца в таблице БД для каждого значение свойства, и просто заполнять те, которые нужны для определенного экземпляра сущности. Отлично! Проблема решена… до того момента, пока ваша таблица не содержит миллионы записей и у вас не возникнет необходимость добавить новую запись.

Рассмотрим паттерн EAV (Entity-Attribute-Value), он встречается достаточно часто. Одна таблица содержит сущности (записи), другая таблица содержит имена свойств (атрибутов), а третья таблица связывает сущности с их атрибутами и содержит значение этих атрибутов для текущей сущности. Это дает вам возможность иметь разные наборы свойств для разных объектов, а также добавлять свойства “на лету”, не изменяя структуры БД.
Читать дальше →
Total votes 41: ↑36 and ↓5+31
Comments39

Стандарт комментирования кода в PHP

Reading time1 min
Views6.6K
Это вещь достаточно распространенная и известная,
я всего лишь расскажу о ее синтаксисе и применении на практике.
Все будет приминительно ООП на PHP.
Сразу оговорюсь, формат применим к классам, их методам и свойствам,
и чтоб в итоге наших трудов мы получили не каляку-маляку из даблслешей,
а красиво написаную документацию, этот формат следует применять.
Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments15

Назад в будущее: как поставить на поток документирование и анализ PHP проекта 10-летней давности

Level of difficultyMedium
Reading time15 min
Views2.6K

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

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

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

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments3

1C (и не только) c PostgreSQL

Level of difficultyMedium
Reading time3 min
Views5K

Уже несколько лет назад я столкнулся с проблемой производительности 1С на PostgreSQL в некоторых запросах, которые на MS SQL выполнялись относительно быстро. Тогда же выяснилось, что в 99% случаев такие запросы можно оптимизировать так, что они начинают выполняться даже быстрее, чем на MS SQL, всего навсего добавлением нужных индексов во временные таблицы.

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments15

Резервное копирование и восстановление СУБД PostgreSQL

Reading time7 min
Views39K

Резервное копирование является одной из основных задач администрирования баз данных. Отсутствие бэкапа может привести к катастрофическим последствиям при эксплуатации базы данных. Однако недостаточно только настроить регулярное создание резервных копий, необходимо также регулярно проверять созданные копии на способность к восстановлению БД. В этой статье мы поговорим от том, как правильно настраивать резервное копирование в БД PostgreSQL.

Читать далее
Total votes 16: ↑13 and ↓3+10
Comments17

Текст любой ценой: DOCX и ODT

Reading time4 min
Views62K
Недавно возникла задача получения чистого текста из различных форматов документооборота — будь-то документы Microsoft Word или PDF. Задача была выполнена даже с чуть более широким списком возможных входных данных. Итак, этой статьёй я открываю список публикаций о чтении текста из следующих типов файлов: DOC, DOCX, RTF, ODT и PDF — с помощью PHP без использования сторонних утилит.

Читать дальше →
Total votes 113: ↑98 and ↓15+83
Comments60

Мультиязычные деревья в Yii2 на примере создания модуля меню

Reading time16 min
Views6.7K

Вступление


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


Я хотел бы поделиться рецептом того, как можно создавать подобные модули на примере реализации модуля меню. Для примера я буду использовать шаблон приложения Yii2 App Basic, но вы можете адаптировать всё под свой шаблон, если он отличается от базового.

Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments4

ЕГРЮЛ, доходы и расходы, налоги, количество сотрудников в XML и JSON бесплатно

Reading time7 min
Views33K

Налоговая отдаёт данные ЕГРЮЛ  по организации в виде PDF. Посредники за автоматический доступ по API хотят денег. На многих сайтах часть данных закрыто, часть функций недоступны бесплатно, и полно рекламы. 

Особенно интересно, что на некоторых сайтах предоставляющих данные по API имеется логотип Сколково. Это такой высокотехнологический бизнес, наверное, открытые данные продавать.

Налоговая просит 150 000 рублей в год за доступ к данным ЕГРЮЛ в виде сваленных в архивы XML-файлов. У ФНС классный бизнес. Вы проявляйте должную осмотрительность при выборе поставщиков, но доступ к данным за деньги. Если вы хотите получить доступ и к реестру индивидуальных предпринимателей (ЕГРИП), то платите ещё 150 000 рублей в год. Согласитесь 300 000 рублей в год приличная сумма.

Остальные реестры данных у налоговой доступны бесплатно. Однако, без базы ЕГРЮЛ их вряд ли можно использовать. Самая частая операция в бизнесе подставить реквизиты из ЕГРЮЛ по ИНН.

Сформировалась целая отрасль, можно сказать, торговцев воздухом открытыми данными, создающих ВВП из воздуха как бухгалтеры, работающие руками там, где должны работать программы. Сколько компаний платит налоговой по 300 000р. в год?! Сколько программистов занято написанием одинаковых по функциям парсеров, которые переводят данные из XML налоговой в SQL и JSON?! Сколько серверов заняты под одинаковые функции?! Где добавочная стоимость? Все вроде при деле, а за чей счёт банкет?

Ну, ладно, “скандалить, критиковать каждый может”(с) как говорил бессмертный товарищ Райкин. “А что ты предлагаешь?” — резонно вы меня спросите. А я вам отвечу.

Читать далее
Total votes 164: ↑162 and ↓2+160
Comments139

zabbix_sender over HTTP — как послать данные в Zabbix по HTTP|S

Reading time5 min
Views24K
В этой статье я приведу возможное решение проблемы для многих системных администраторов, которые используют систему мониторинга Zabbix. Особенно пригодится для тех, кто осуществляет мониторинг разных программ в Zabbix: системы телефонии, разные регламентные операции с БД, 1С (да, да, такие вот мы извращенцы люди с нестандартным мышлением, что мониторим 1С в Zabbix). Сам мучался делая Powershell-скрипты, использую для отсылки zabbix_sender.exe. Страшные были времена.
Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments12

Нужен бесплатный SSL-сертификат? Легко

Reading time3 min
Views144K

Если вам нужен SSL-сертификат, но вы не являетесь специалистом в веб-технологиях, то эта заметка для вас. Описан простой способ выпуска базового SSL-сертификата Let’s Encrypt в ручном режиме, на локальном компьютере с Windows, с помощью приложения Certbot. Этот способ позволяет получить файлы SSL-сертификата в папку на своём локальном компьютере, после чего можно установить сертификат на свой хостинг.

Потребность в SSL-сертификатах возникла у меня в связи с тем, что срок старых истёк, а создать новые оказалось невозможным из-за возникших ограничений на доменные зоны RU и РФ. Если у вас такая же проблема или вам просто надоело искать веб-сервис для выпуска SSL-сертификатов, то эта заметка вам поможет.

Поскольку я пока не знаю наилучшего пути, то ниже просто опишу ту последовательность действий, которую сам выполнил и которая позволила мне создать SSL-сертификаты для десяти своих доменов (в том числе в зонах RU и РФ), а значит и вам этот способ может помочь.

Читать далее
Total votes 45: ↑29 and ↓16+13
Comments87

Уменьшение трафика за счёт сжатия изображений. На примере Laravel

Reading time9 min
Views8K

Как уменьшить трафик к вашему сайту в 200 раз? Возможно ли это?

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

Пример реализации на Laravel, его плюсы, минусы и возможные пути развития.

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments26

Мой новый домашний сервер, часть 3: немного о сборке

Reading time7 min
Views44K
По сборке системников писать особо нечего. 95% процентов всех подобных отчётов сокращаются до слов «я пошел в магазин, купил железок и собрал из них компьютер».



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

Предыдущие части:

Читать дальше →
Total votes 47: ↑45 and ↓2+43
Comments102
1
23 ...

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity