Pull to refresh
0
0
Сергей Мочалов @Vyatka

Backend

Send message

Топ ошибок со стороны разработки при работе с PostgreSQL

Reading time21 min
Views47K
HighLoad++ существует давно, и про работу с PostgreSQL мы говорим регулярно. Но у разработчиков все равно из месяца в месяц, из года в год возникают одни и те же проблемы. Когда в маленьких компаниях без DBA в штате случаются ошибки в работе с базами данных, в этом нет ничего удивительного. В крупных компаниях тоже нужны БД, и даже при отлаженных процессах все равно случаются ошибки, и базы падают. Неважно, какого размера компания — ошибки все равно бывают, БД периодически обваливаются, рушатся.



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


О спикере: Алексей Лесовский (lesovsky) начинал системным администратором Linux. От задач виртуализации и систем мониторинга постепенно пришел к PostgreSQL. Сейчас PostgreSQL DBA в Data Egret — консалтинговой компании, которая работает с большим количеством разных проектов и видит много примеров повторяющихся проблем. Это ссылка на презентацию доклада на HighLoad++ 2018.
Читать дальше →
Total votes 79: ↑77 and ↓2+75
Comments8

Полезные скрипты при миграции из Oracle в PostgreSQL

Reading time13 min
Views17K
Во время миграции из Oracle в PostgreSQL с помощью ora2pg встал вопрос с несоответствием типов данных между разными базами. По умолчанию не все колонки конвертируется правильно, а отсутствие в Oracle Boolean и вовсе порождает неоднозначность – часть колонок нужно перенести как числа, часть как логические значения. В тоже время hibernate знает все о типах данных и может создать эталонную схему.

Итоговый процесс переноса выглядел следующим образом: создание структуры таблиц через ora2pg, исправление структуры по эталонной схеме, перенос данных, конвертация blob и Boolean, добавление отсутствующих в PostgreSQL функций (nvl, nvl2, regexp_substr), создания оставшейся структуры — индексов, view и прочего.

Под катом накопившиеся за время конвертации sql скрипты для полуавтоматической миграции.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments11

5 причин не использовать свой личный счёт в фрилансе

Reading time6 min
Views96K

Дано: программист Василий Иванов (ещё до того, как зарегистрировал ООО) в свободное от основной работы время фрилансил, выполняя заказы и получая оплату от клиентов на свою карту физического лица. В какой-то момент клиентов стало так много, что Василий решил легализоваться и открыть ИП.
Изучив законодательство, он узнал, что индивидуальный предприниматель не обязан открывать расчётный счёт. «Прекрасно, — решил Василий, — продолжу принимать оплату на свою карту, ведь это удобно, а главное, бесплатно. Не придётся ежемесячно платить банку за ведение расчётного счёта».
Читать дальше →
Total votes 58: ↑54 and ↓4+50
Comments109

7 советов начинающему ИП, чтобы избежать проблем (что-то вы точно из этого не знаете)

Reading time10 min
Views952K


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


А для тех, кто открыл ООО, мы подготовили: 10 вещей, которые обязательно нужно сделать после регистрации ООО
Читать дальше →
Total votes 44: ↑41 and ↓3+38
Comments72

Ansible с чего начать

Reading time8 min
Views174K
В последние пару лет я все чаще использую Ansible для решения практически любых задач связанных с автоматизацией, будь то конфигурирование, резервное копирование или деплой проектов. Не смотря на то, что система очень хорошо документирована, я думаю смогу добавить немного полезной информации для тех кто еще только начинает пользоваться Ansible. Для начала я хотел бы рассказать об основных вещах, таких как структура проекта в котором будут содержаться плейбуки, роли, переменные, шаблоны и файлы необходимые для автоматизации развертывания серверов, кода и всего другого, что можно сделать с помощью Ansible.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments44

Проецируя Google Material Design на десктопную систему… (часть вторая)

Reading time5 min
Views25K


Краткое содержание первой части: контрактный клиент, редизайн их собственной CRM-ки, стиль Google Material, привычная среда обитания, аудитория — опытные айтишники. Кто не вдохновился первой частью и остальных тоже — приглашаю под кат.
Читать дальше →
Total votes 25: ↑18 and ↓7+11
Comments40

Никогда не отвлекай программиста

Reading time2 min
Views240K
Во многих компаниях программистам запрещают работать в наушниках или отвлекают их по мелким вопросам. Вероятно, причина кроется в плохой информированности менеджеров и других сотрудников, насколько вредно так делать.

Крис Парнин (Chris Parnin) из технологического института Джорджии решил восполнить этот недостаток и опубликовал чрезвычайно насыщенную статью со ссылками на различные исследования по этой теме.

Для начала, несколько фактов, которые относятся ко всем работникам интеллектуального труда. Задача, прерванная по ходу выполнения, занимает в два раза больше времени и содержит вдвое больше ошибок, чем та же задача, которая выполнялась без прерывания (Czerwinski:04). Офисные сотрудники вынуждены отвлекаться при выполнении 57% задач (Mark:05). Опросы говорят о том, что сотруднику требуется в среднем 15 минут, чтобы вернуться в нормальный ритм после того, как его отвлекли (vanSolingen:98).
Читать дальше →
Total votes 263: ↑248 and ↓15+233
Comments180

50+ полезных ресурсов для самообучения

Reading time6 min
Views118K
learning

На сегодняшний день, когда информация стала доступна как никогда и получить новые знания проще простого, у нас появилась другая проблема: как фокусироваться и структурировать новые знания, если отсутствуют внешние ограничения вроде экзамена или необходимости подготовки к уроку?
И снова нас спасают разработчики и интернет, где появляется все больше открытых университетов, онлай-курсов, лекций и сервисов организации своего обучения.
Я решила собрать в одном месте ссылки на ресурсы дистанционного обучения и другие полезные сервисы на английском и русском языках, большинство из которых бесплатны. Не было цели охватить все, но если вы считаете, что в список нужно что-то добавить –, пожалуйста, напишите в комментариях.
Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments16

Принципы Getting Real (Часть 1)

Reading time12 min
Views24K
Продолжаем читать хорошие книги вот из этого списка от Milfgard и я продолжаю писать конспекты. Сегодня это, пожалуй, одна из самых важных книг в жизни IT-специалиста: Getting Real от 37signals. Она переворачивает мозги и даёт прекрасные рабочие принципы организации работы небольших компаний.


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

Лекции Технопарка. 2 семестр. Базы данных

Reading time4 min
Views86K


Очередной пост в рамках нашей постоянной рубрики «Лекции Технопарка». В этот раз предлагаем вашему вниманию лекции, посвящённые базам данных. Цель курса — получение студентами знаний в области проектирования реляционных баз данных, эффективной работы с базами данных, оптимизации запросов и схем данных, изучение особенностей использования баз данных в проектах с высокой нагрузкой и/или использующих большие массивы данных, noSQL и его применение для решения прикладных задач в WWW.
Читать дальше →
Total votes 47: ↑45 and ↓2+43
Comments0

15 советов и хитростей инструментов разработчика Chrome, которые вы обязаны знать

Reading time5 min
Views204K
Сегодня Google Chrome является самым популярным браузером среди веб разработчиков. С быстрым, шести недельным, циклом релизов и мощным набором постоянно расширяющихся инструментов разработчика, превратившим браузер в инструмент, который вы обязаны иметь. Большинство из вас, вероятно, знакомы со многими его функциями, такими как «живое» редактирование CSS, используя консоль и отладчик. В этой статье мы с вами рассмотрим 15 захватывающих советов и хитростей, которые позволят улучшить вашу производительность еще больше.
Читать дальше →
Total votes 88: ↑85 and ↓3+82
Comments23

Как я сделал так, чтобы мои статьи просмотрели 6.2 миллиона человек и подписалось 144,920 людей?

Reading time15 min
Views36K


Эту статью нельзя пропустить, так как любой компании в интернете нужно уметь вести блог. Это небольшое 15-минутное руководство поможет вам понять, как можно собирать миллионную аудиторию за копейки.
Итак, начинаем:
15-минутное руководство по ведению Блогов, Онлайн-Маркетингу и Развитию
Перейду сразу к делу, поскольку мне нужно многим поделиться.
Читать дальше →
Total votes 28: ↑21 and ↓7+14
Comments12

Дистанционная работа: Более 130 полезных источников

Reading time5 min
Views57K


Данная подборка позволит вам разобраться с плюсами и минусами дистанционной работы, оценить затраты и возможную экономию, познакомиться с опытом коллег и взглянуть на целый спектр компаний, команды которых работают дистанционно.
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments9

Самые нужные плагины для Gulp

Reading time6 min
Views161K


Это пост можно сказать является дубликатом моей предыдущей подборки “Самые нужные плагины для Grunt”. Дело в том, что спустя много часов поиска я не нашел крутых плагинов для Gulp, которых нет для Grunt за исключением пары весьма специфичных утилит. Всё как раз наоборот, но проигнорировать множество пользователей Gulp я не мог. Все недостающие плагины я выделил, потому что Gulp умеет использовать их из Grunt, как и Grunt из Gulp.

Доброго времени суток, всем! Кто-то умный, не помню в какой статье именно на Хабре, буквально недавно размышлял о процессе разработки с явным призывом автоматизировать все, что только можно автоматизировать. И лучше один раз потратить время на автоматизацию, чтобы потом экономить его на протяжении всего проекта.

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

А еще я выложил подборку на GitHub, чтобы каждый мог пополнить коллекцию.
Читать дальше →
Total votes 54: ↑46 and ↓8+38
Comments30

Семейный бизнес в IT. Первые полгода жизни нашего стартапа

Reading time7 min
Views26K
image

Предисловие


Соскучились? Я тоже! Пишу статью и понимаю, как же мне этого не хватало. Знаете, мне кажется, что за эти почти полгода, прошедшие с запуска нашего сервиса, объем информации в моей голове вырос десятикратно. Вы не представляете, какая это прокачка для мозгов!
Ощущение, что полгода назад я вообще ничего не знала. Вроде бы мы так тщательно все рассчитывали, продумывали, опирались на свой предыдущий опыт. Однако, развитие бизнеса вебстудии и развитие стратапа — это совсем не одно и тоже. Уверена, пройдет еще полгода, и я опять буду покусывать себя и грызть мужа, что все нужно было делать по другому.
Итак, устраивайтесь поудобнее. Сегодня вы узнаете о том, как прошли первые полгода жизни нашего стартапа.
Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments15

Большая подборка ссылок о галереях и всем, что с ними связанно

Reading time3 min
Views25K
Дадли Стори, автор «Pro CSS3 Animation», представил подборку своих статей с сайта demosthenes.info о галереях на сайтах и всем, что с ними связано. Решения используют HTML, CSS и PHP в различных комбинациях, текст статей на английском языке. В начале каждой статьи представлена демонстрация эффекта, о котором говорит автор.
Читать дальше →
Total votes 21: ↑18 and ↓3+15
Comments0

Нюансы коммерческой разработки на WordPress

Reading time7 min
Views51K


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

По большей части информация будет «технического плана», касательно CMS Worpdress, «по верхушкам». Я рассказываю лишь про наш путь, для кого использование технологий, путей, приемов etc. вопрос религии — просьба воздержаться от холиваров.
Приступим
Total votes 22: ↑19 and ↓3+16
Comments32

Буфер вывода в PHP

Reading time8 min
Views51K
В этой статье я хочу рассказать о том, как реализован слой «буферизации вывода» в PHP, как работает и как с ним взаимодействовать из PHP. В этом слое нет ничего сложного, но многие разработчики либо совсем не понимают, как с ним обращаться, либо не имеют полной ясности. Всё, о чём я буду писать, относится к PHP версии 5.4 и выше. Именно начиная с неё изменились многие вещи, связанные с буфером вывода (БВ). По сути, этот функционал был полностью переписан, поэтому совместимость с версией 5.3 сохранилась лишь частично.

Что такое буфер вывода?


Поток вывода в PHP содержит байты, обычно в виде текста, которые разработчику надо вывести на экран. Чаще всего для этого используется конструкция echo или printf(). Во-первых, нужно понимать, что любая функция, которая что-то выводит, будет использовать БВ из области PHP. Если говорить о расширениях для PHP, то можно получить доступ к функциям, пишущим в SAPI напрямую, в обход любого вышерасположенного БВ. API C задокументировано в lxr.php.net/xref/PHP_5_5/main/php_output.h, отсюда можно почерпнуть немало информации, например, о размере буфера по умолчанию.

Второй важный момент: слой БВ является не единственным слоем, в котором буферизуются выводимые данные.

И третье: в зависимости от SAPI, который вы используете (веб или cli), слой БВ может вести себя по-разному.

Ниже представлена схема, которая поможет понять всё вышесказанное:

Читать дальше →
Total votes 59: ↑52 and ↓7+45
Comments10

Делегирование: личный опыт

Reading time12 min
Views36K


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

Макс Волошин (@willie), директор по развитию Redmadrobot, рассказывает об общих принципах делегирования и практиках внутри компании.
Читать дальше →
Total votes 27: ↑23 and ↓4+19
Comments4

Яндекс вовсю показывает свою рекламу во Вконтакте

Reading time2 min
Views7.1K
image

В сентябре «Яндекс» и «Вконтакте» договорились об эксперименте — показах рекламных объявлений, предназначенных для рекламной сети «Яндекс» на сайте «Вконтакте». Ссылка на статью в «Ведомостях».

Многие рекламодатели уже заметили свою рекламу, размещенную через сервис «Яндекс.Директ» на просторах «Вконтакте». Лично я замерил на 10 разных компьютерах и аккаунтах — каждый второй показ рекламы «Вконтакте» — это показ рекламы РСЯ (рекламной сети «Яндекса»). Таким образом, можно смело говорить, что это уже не эксперимент, а реальность. А это огромное событие для всей рекламной индустрии Рунета.

Почему это так?
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments8
1
23 ...

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity