3e15d-11372412_1663853267167421_128479559_n
Спойлер: никак!

Кластеризация в связке с контейнерами в последние годы обрела ту самую невыносимую легкость бытия, когда мы можем взять несколько серверов, поднять на них кластер докера, скомандовать поднять пару десятков контейнеров и идти дальше пить смузи – потому что docker swarm (или kubernetes) сам раскидывает контейнеры по нодам, сам следит за их работоспособностью, сам всё балансирует и вообще делать ничего не надо – только железо по мере необходимости добавляй да новую жижку для вейпа докупать не забывай.

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

Итак, вы наслушались модных хипстеров  на конференциях и решили стать как они. Штаны с подворотами и вейп вы уже купили, а теперь решили освоить Docker. Его всё хвалят, а вот какие там проблемы и каких граблей ждать? Щас папа вам всё расскажет по своему недавнему опыту

Читать полностью »

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

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

Читать полностью »

fd81b742d27197e13eca20e68507cd2a914329c8_hq

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

Итак, в чем суть:

В миграциях в Laravel все изменения в схеме таблицы оборачиваются в замыкание, которое передается в метод фасада Schema (table или create, неважно). Выглядит это примерно так:

Schema::table('mytable', function(Blueprint $table)
{
    $table->integer('test');
    $table->boolean('test2')->default(false);
});

Суть в том, что на момент вызова методов Schema Builder (integer(), boolean(), index()…), никаких действий над схемой ещё не происходит – соответствующие задачи просто записываются в очередь, а потом, уже после завершения выполнения замыкания, последовательно выполняются.
Но на самом планируемые изменения схемы пишутся не в одну, а в две очереди: отдельная очередь на действия с колонками (добавление, редактирование, удаление) и отдельно на всё остальное (индексы, внешние ключи, и т.д). Вот это то и есть багофича, потому что одна последовательность действий разделяется на две и выполняется сначала одна, а потом вторая (сначала выполняются все действия над колонками, а потом действия над индексами и прочее). Читать полностью »

В то время, как прогрессивное человечество борется с африканской чумой свиней, гомофобией и комплексами, нормальные DBA-шники, как всегда, борются с дэдлоками. И есть у дэдлоков одна интересная особенность, которая является их причиной в 90% случаев, но нигде в этих ваших интернетиках этого не написано. Сейчас мы восполним это упущение. Когда вы в следующий раз поймаете дэдлок – сначала вспомните, что здесь написано – это сэкономит вам кучу времени.

Читать полностью »

8 ноября 2018 | Категория: Программинг

feature-тесты спасут мир

Все мы знаем, что unit-тесты – это хорошо. Об этом пишут всюду – на Хабре, на форумах, в книжках, в вакансиях и на освежителях воздуха (даже на казахском и киргизском).

Но вот чего нигде не пишут: Практически не бывает больших и успешных проектов, которые бы покрывались с самого начала. Если не считать сервисов в рамках уже больших и прибыльных компаний (Яндекс, Гугл, Челябинский мыловарный завод имени Красного Октября), то всем остальным на этапе зарождения необходима в первую очередь скорость разработки и рентабельность. По сути в самом начале пути любой сервис пишется как MVP (даже если его создатели не знают об этом).

В результате некоторые из этих стартапов выходят на самоокупаемость, потом на прибыль, нервный мандраж проходит и на первое место выходит не “быстро и шоб как-то работало”, “шоб рабоало и не падало от каждой второй правки”. То есть люди приходят таки в unit-тестам. Другой вопрос, что на этом этапе обычно уже имеется куча черте как написанного кода, с легаси, костылями, отсутствием инверсии зависимостей и матерными комментариями. Покрыть все это дело тестами разом – это целый настоящий кошмар, в первую очередь для руководителя бизнеса, который вот так, не за хуй свинячий, должен посадить всю команду разработки на год, чтобы они пилили не новые фичи, а тесты. И не просто посадить, НО И ПЛАТИТЬ ИМ СУКА ЗАРПЛАТУ!

Некоторые, особо волевые руководители с серьезным штатом выделяют под эту задачу 20-30% разработчиков и планомерно, ГОДАМИ, покрывают всё тестами (например, на хабре можно почитать истории немаленькой такой компании Badoo, которая планомерно замаливает грехи покрывает своё наследие тестами уже несколько лет, и добрались примерно до 80% покрытия)

Что же делать, если таких ресурсов у вас нет, а постоянные падения прода уже невозможно объяснять клиентам их плохим интернетом? Ответ под катом, бесплатно, без регистрации и СМС

Читать полностью »

vlcsnap-2018-06-08-00h11m21s538

Итак, на дворе 2018 год, вышла новая версия мускула, вы наслушались песен о том, как там все круто и решили это дело затестить. Скорее всего вы, как и я, быстренько проскочили установку и после попытки подключитсья к базе начали получать вышеозначеную ошибку.

Почему она возникает, можно почитать в инете (если коротко – нечего было щелкать клювом во время установки, вместо дефолтного типа авторизации надо было выставлять старый, потому что новый никакие библиотеки ещё не поддерживают, только через консоль можно войти).

Как же порешать этот вопрос? Лехко! Читать полностью »

15 апреля 2018 | Категория: холостякинг

Лайфхаки холостяка №1

Passengers.(2016).HDRip.x264.AFM.mkv_snapshot_00.24.02_[2018.04.16_00.19.59]

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

Читать полностью »

The.Matrix.1999.Bdrip.mkv_snapshot_00.07.46_[2018.03.26_23.34.09]

Итак. Предположим по каким-то причинам вам нужно выбрать два набора данных объединив их во всех возможных комбинациях, т.е. каждый с каждым. Например, у нас есть выборка болтиков и выборка гаечек и мы хотим получить все потенциально возможные пары. Опустим, на хер вам это понадобилось – может нужно некоему пулу пользователей добавить одним махом десяток прав и вы хотите уложить все это в один insert select, может вы считаете потенциальную скорость распространения сифилиса в каком-то замкнутом сообществе и нужны все возможные комбинации пар, а может ни для чего, просто душа просит и тело жаждет.

Короче, бля. Читать полностью »

The.Hateful.Eight.2015.BDRip-AVC.Dub.2.18Gb.stalkerok.new-team.mkv_snapshot_02.42.01_[2017.09.21_22.14.23]

Итак. Пройдя это неимоверно увлекательное действо и получив свою немалую порцию адреналина, я думаю, что стоит поделиться нюансами по поводу правильного составления заявления, которых нет в интернете, плюс некоторые общие рекомендации. Ибо сотрудники ФМС (который уже давно не ФМС) в первую очередь докапываются именно до заявления. Некоторым товарищам приходится по 6-7 раз по новой повторять попытки подачи. Что, с учетом диких очередей и ночевок под дверями ФМС, весьма напряжно. В общем, слушайте и не говорите, что не слышали.

Читать полностью »

Страница 1 из 3123