Pull to refresh
91
0
Сергей Лебедев @sunman

Web-разработчик

Send message

Как наладить код-ревью, если ты совсем один

Level of difficultyEasy
Reading time3 min
Views8.5K

Код-ревью – это хорошо. Оно помогает улучшить качество кода, наладить сотрудничество в команде, познакомить каждого разработчика с самыми отдаленными уголками кодовой базы, до которых он бы не скоро добрался, делая только назначенные ему задачи. Из всего того, чем обычно занимаются программисты, именно в код-ревью лучше всего видна справедливость поговорки «Одна голова – хорошо, а две – лучше».

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

Читать далее
Total votes 32: ↑28 and ↓4+32
Comments17

Койн Шрёдингера — новое слово в криптовалютах

Level of difficultyEasy
Reading time2 min
Views3.2K

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

Читать далее
Total votes 20: ↑19 and ↓1+30
Comments11

Как в PHP улучшить читаемость регулярных выражений

Reading time11 min
Views8.1K

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

PHP использует диалект регулярных выражений PCRE — до версии PHP 7.3, и PCRE2 — в более новых версиях. Поэтому в PHP можно использовать различные продвинутые приемы, помогающие писать читаемые, самодокументируемые и поддерживаемые регулярные выражения. При этом не надо также забывать и о наличии в PHP функций фильтрации переменных, а также семейства функций ctype*, позволяющих валидировать такие распространенные значения как url-ссылки, адреса электронной почты и строки из букв и цифр — вообще без использований регулярный выражений. Во многих IDE есть подсветка регулярных выражений, помогающая их читать, а иногда даже и проверка выражений, с подсказками по их улучшению.

Читать далее
Total votes 24: ↑22 and ↓2+35
Comments14

Корзинка с сюрпризами — cпасите наши push'и

Reading time5 min
Views2.8K
TLDR: Сделал набор скриптов автоматизации миграции Bitbucket репозиториев с Mercurial на Git.

В один непрекрасный день мой любимый хостинг репозиториев Bitbucket объявил о скором прекращении поддержки репозиториев Mercurial в пользу Git, после чего все Mercurial репозитории будут удалены.

image
Читать дальше →
Total votes 7: ↑6 and ↓1+9
Comments10

Львы в пустыне и интроспекция

Reading time6 min
Views7.3K
Наверное, практически все обитатели Хабра знают что такое дихотомия и как с ее помощью поймать льва в пустыне. Ошибки в программах тоже можно ловить дихотомией, особенно, при отсутствии вменяемой диагностической информации.

image

Однажды отлаживая свой проект на PHP/Laravel, я увидел в браузере вот такую ошибку:
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments17

Перевод отрывков из книги Роберта Хайнлайна «Заберите себе правительство» — часть 28, заключительная

Reading time18 min
Views14K

Кто будет сторожить сторожей?


Это латинское изречение показывает, что древние римляне кое-что понимали в политической жизни. Сами римляне так отвечали на этот вопрос: «Никто». И именно поэтому их верховные политики со временем стали называть себя цезарями, а их республика, в конце концов, превратилась в монархию.

Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments19

Перевод отрывков из книги Роберта Хайнлайна «Заберите себе правительство» — часть 27

Reading time22 min
Views6.2K

Глава 11


Заметки о демократии


«К чему стремимся, для кого,
Приобретая и теряя?
Для тех обычнейших людей,
Кого дурачат раз за разом.
Добро, достоинство и разум,
Неторопливо вкруг посей
// американский поэт Карл Сэндберг


«Когда вы собираете группу людей, чтобы сконцентрировать их объединенную мудрость, вместе с ними вы неизбежно собираете все их страсти, предрассудки, заблуждения, эгоизм и недальновидность. Как от таких собраний можно ожидать совершенства в решениях и поступках?
И, тем не менее, меня изумляет, насколько близка к совершенству работа этой системы».
//
из речи Бенджамина Франклина на Конституционном Конвенте

Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments3

Перевод отрывков из книги Роберта Хайнлайна «Заберите себе правительство» — часть 26

Reading time20 min
Views6.2K

Как работать наблюдателем на выборах


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

Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments11

Перевод отрывков из книги Роберта Хайнлайна «Заберите себе правительство» — часть 25

Reading time10 min
Views6.5K

Глава 10 Как выиграть выборы: заключение


Финишная прямая


Рассылка напоминаний в последнюю неделю перед выборами


За время кампании ваш кандидат посетил дома более 3 000 избирателей, а, возможно даже до 5 000.

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

Перевод отрывков из книги Роберта Хайнлайна «Заберите себе правительство» — часть 24

Reading time10 min
Views4.9K

Анализ предвыборной ситуации в округе


И вот кампания мистера Честняги на выдвижение кандидатом от партии достигла стадии последнего предвыборного месяца. Вы славно поработали, и теперь хотели бы узнать, какие результаты принесла ваша работа. Нужно ли сейчас потрудиться интенсивнее, или игра уже проиграна, и вам пора сворачивать лавочку?
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments1

Перевод отрывков из книги Роберта Хайнлайна «Заберите себе правительство» — часть 23

Reading time23 min
Views5.8K

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


Предположим, в вашем избирательном округе живет 320 000 постоянных жителей в 100 000 домах. Сомневаюсь, что у вас достаточно волонтеров, чтобы зайти в каждый из этих домов. К тому же, только 70 000 из всех этих жителей – члены вашей партии, и только от 25 000 из них можно ожидать голосования на праймериз. Эти 25 000 живут примерно в 15 000 отдельных домах (цифры не высосаны из пальца, а основаны на статистических исследованиях). Имеющиеся у вас 100 волонтеров и один неутомимый кандидат смогут обойти эти 15 000 домов только в том случае, если будут знать точно, какие дома нужно посетить обязательно. К счастью, существуют способы, позволяющие это узнать.

Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments0

Перевод отрывков из книги Роберта Хайнлайна «Заберите себе правительство» — часть 22

Reading time16 min
Views6.5K

Штаб-квартира предвыборной кампании


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

Читать дальше →
Total votes 15: ↑11 and ↓4+7
Comments0

Поэтический дискурс с привкусом реверс-инжиниринга

Reading time8 min
Views14K

«Старик Ассемблер нас заметил,
И в гроб сходя, благословил»


image

Однажды я решил написать программу, сочиняющую стихи. Алгоритм придумался быстро – в конце сочиняемых строф ставить рифмующиеся слова, а остальную часть строфы заполнять словами с учетом рифмы, ритма, и вероятности их нахождения рядом с другими словами, взятыми из готовых связных текстов. Эдакие марковские цепи с прикрученными к ним рифмами.

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

Перевод отрывков из книги Роберта Хайнлайна «Заберите себе правительство» — часть 21

Reading time8 min
Views6.2K

Условно-эффективные методы ведения кампании


А теперь я расскажу о том, как выбрать те мероприятия, в которых и в самом деле стоит участвовать.

Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments1

Перевод отрывков из книги Роберта Хайнлайна «Заберите себе правительство» — часть 20

Reading time9 min
Views14K

Глава 8 Как выиграть выборы: продолжение. Предвыборная кампания на местах: обход домов избирателей


Когда вы приступаете к ведению предвыборной кампании, перед вами открывается широчайшее поле различных видов деятельности, по-видимому, полезных для успеха на выборах, и каждый вид деятельности какой-нибудь ваш соратник будет ревностно защищать как «Как раз то, что нам нужно!». Если вы не будете самостоятельно тщательно оценивать, чем заниматься нужно, а чем – нет, вы растратите все ваши силы на бессмысленную деятельность, и вдобавок получите нервное истощение.
Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments0

Перевод отрывков из книги Роберта Хайнлайна «Заберите себе правительство» — часть 19

Reading time8 min
Views8.5K
Конечно, вы можете не заниматься всеми этими связанными с кокусом хлопотами, а просто собрать вместе сторонников мистера Честняги, сформировать из них предвыборный комитет, и выдвинуть кандидатуру. Но так у вас не очень много шансов выиграть выборы.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments3

Перевод отрывков из книги Роберта Хайнлайна «Заберите себе правительство» — часть 18

Reading time8 min
Views11K
А теперь – рассмотрим типичный кокус, так как процедура кокуса – одна из самых недопонимаемых, и вместе с тем, одна из самых необходимых процедур в демократии
Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments14

Перевод отрывков из книги Роберта Хайнлайна «Заберите себе правительство» — часть 17

Reading time7 min
Views9.2K

А теперь проанализируем данные, характеризующие предвыборную обстановку.


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

Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments2

Перевод отрывков из книги Роберта Хайнлайна «Заберите себе правительство» — часть 16

Reading time12 min
Views19K

Глава 7 Как выиграть выборы


Выборы в парламент в Интенсуилле

«На улице у двери находятся двадцать человек, хорошо вымытых, вы им пожмете руки, и шестеро грудных младенцев — вы их погладите по головке и спросите, сколько каждому из них месяцев. Будьте особенно внимательны к детям, уважаемый сэр, не забывайте, что это всегда производит огромное впечатление.
Читать дальше →
Total votes 33: ↑28 and ↓5+23
Comments2

Android до Госдумы доведет или Мобилизация гражданской сознательности

Reading time3 min
Views17K


Как завсегдатаи Хабра наверное знают, я интересуюсь книгами о политике. А еще я интересуюсь программированием, особенно на тех платформах, на которых раньше не программировал
Читать дальше →
Total votes 36: ↑31 and ↓5+26
Comments46
1

Information

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