Кэширование для больших и маленьких

Задача и простейшее решение

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

Поделиться
Posted in Programming | Tagged , , , , | Leave a comment

Сопереживание

Когда знакомые стали перекрашивать свои аватарки в цвета французского флага, я тоже не мог понять, почему так не делали во время других трагедий и катастроф, например, при крушении A320 над Синаем. И я не нашёл лучшего объяснения, чем потому что такой функциональности не было на фейсбуке.

Я решил исправить это недоразумение и позволить людям проявить сострадание по любому поводу к какой бы стране мира это не относилось с помощью compassion, а также пофантазировать на тему, как бы могли выглядеть аватарки в соц. сетях в другое время. Continue reading

Поделиться
Posted in Society | Tagged , , , , | Leave a comment

Солидные микросервисы

Солидный микросервис
Микросервисы набирают популярность и становятся мейнстримом в разработке ПО. Вынесение вычислений в облако способствует этому процессу, подтверждением чему служит запуск нано-серверов от, казалось бы, нерасторопного Microsoft. Что же такое эти микросервисы, какие задачи они позволяют решить и с какими проблемами сталкиваются разработчики при работе с ними? На эти вопросы мы попытаемся найти ответы далее.

Continue reading

Поделиться
Posted in Programming | Tagged , , , , , , | Leave a comment

Коллективное владение кодом

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

Коллективное владение

Continue reading

Поделиться
Posted in Management, Programming | Tagged , , | Leave a comment

Хороший программист — богатый программист?

Я не знаю, как обстоит дело в других профессиях, но программистов можно разделить на два условных лагеря: те, кто автоматизирует процессы бизнеса, и те, кто зарабатывает деньги. К моему глубокому сожалению, стал больше встречать людей, принадлежащих ко второй категории. Возможно, их количество увеличилось вследствие информационного бума вокруг технологических стартапов — красивых историй о том, как технически подкованные парни заработали миллионы на своих сервисах. Конечно, такие примеры воодушевляют, но… Continue reading

Поделиться
Posted in Management, Programming, Society | Tagged , , , | 2 Comments

Всего лишь деньги

Я никогда не питал иллюзий по поводу экономической грамотности населения постсоветского пространства, но события последних двух недель перед Новым годом заставили меня серьёзно задуматься о том, насколько всё же поверхностно и безответственно люди относятся к своим же заработанным кровью и потом деньгам. Я, конечно, понимаю, что сложившаяся ситуация выходит далеко за рамки нормальной. Но как раз в таких критических условиях наиболее ярко и резко проявляются просчёты и ошибки, и в данном случае меня больше занимает реакция людей, чем причины и варианты выхода из данного ахового положения. И я бы хотел поделиться наиболее взволновавшими меня впечатлениями. Continue reading

Поделиться
Posted in Economy, Society | 11 Comments

Опыт плановых операций

Лёжа в больничной палате после операции по выпрямлению носовой перегородки, меня посетили мысли о добром, вечноммотивации к переменам. Казалось бы, нужно быть настоящим мазохистом, чтобы терпеть заложенность носа, головные боли и прочие недомогания в течение нескольких лет и не предпринимать никаких попыток изменить ситуацию. Я не сказал бы, что сам без сомнений быстро согласился на операцию, но сейчас мне очень жаль того времени, что я потерял, постоянно откладывая решение на «более подходящее время». Но оказывается, что три года, а именно столько я себя уговаривал собраться с силами и духом, далеко не предел в этом вопросе. Со мной в палате оказался мужчина, который собирался её сделать в течение 15 лет, да и среди знакомых нашлось много, испытывающих проблемы с дыханием, но не собирающиеся что-то менять. Практически, сложившаяся картина, является иллюстрацией строк: «Мириться лучше со знакомым злом, чем бегством к незнакомому стремиться». Действительно, тяжело пойти на какие-либо перемены, когда нет 100-процентной гарантии, что эти перемены будут к лучшему. Но в жизни никто не может быть целиком и полностью уверен в достижении желаемого результата, потому что всегда найдётся место превратностям судьбы, которые заставят скорректировать планы. И опасения по поводу своего здоровья абсолютно понятны, но также нужно понимать, что они практически не обоснованы. Если говорить в общем, всё, что касается медицины у нас в обществе, покрыто даже не налётом, а толстым слоем предрассудков и допотопных суждений, основанных на негативном опыте обращения к врачам. Конечно, и здесь раз на раз не приходится, и приходится сталкиваться с неквалифицированными лекарями, чью некомпетентность очень сложно оценить, не имея специальных знаний (которые можно получить на медицинском факультете, а не от бабушки). Чтобы не испытывать опасения перед врачами (да и не только перед ними), желательно выстроить отношения основанные на доверии. Слепо верить мистическим пасам руками и инструментам врача тоже не стоит и, если есть неуверенность по поводу успеха оздоровительного предприятия, можно попытаться их развеять, задав доктору вопросы, ответы на которые вызывают у вас сомнения. Если же опасения развеять так и не удалось, вероятно, всё же стоит найти другого врача.

Но даже, имея в запасе, хорошего доктора всё равно есть искушение отложить его вмешательство, мотивируя это решение тем, что 1) сейчас нет свободного времени, 2) нет денег, 3) вдруг само рассосётся, 4) да и так сойдёт (нужное подчеркнуть). И тут уже стоит приложить силу воли, чтобы наконец определить что действительно важно и сколько на это можно потратить ресурсов. Под ресурсами я понимаю и время, и эмоции, и деньги. Возможно для кого-то страх и сорок тысяч рублей стоят больше, чем легкое дыхание, но тогда стоит прекратить и горевать по этому поводу и смириться с тем, что в ближайшем будущем едва ли что-то измениться в этом аспекте. Или всё же решиться потратить немного времени и сил, поставить себе срок достижения цели и планомерно к ней идти. К чему это я растекался мыслью по экрану? К тому, что я три года мучился, страдая от искривлённой перегородки, и не мог себя заставить перестать паниковать и спокойно решиться сделать операцию. Но у меня всё-таки получилось, и, как итог, за 2 дня неудобств, 6 дней в больнице и порядка 40 тысяч рублей я лишился хряща в носу, заложенного носа и головной боли. Я считаю, что это очень даже неплохо. Если у кого-то возникнут вопросы по поводу того, где, как, что и почему я делал, я готов поделиться своим опытом.

Поделиться
Posted in Society | Tagged , , , | Leave a comment

Крым. Историческая справедливость

После известных событий, следствием которых стало «присоединение» Крыма к России, светлоликий президент В. В. Путин стал часто акцентировать своё внимание на том, что Крым является колыбелью русского православия. «И это [якобы] дает нам все основания сказать, что для России Крым, древняя Корсунь, Херсонес, Севастополь имеют огромное цивилизационное и сакральное значение. Так же, как Храмовая гора в Иерусалиме для тех, кто исповедует ислам или иудаизм.» То, что аннексия Крыма имеет потусторонние и иррациональные мотивы, я думаю, почувствовали многие на своей шкуре, как минимум, в виде замороженных пенсий на 2014 и 2015 года и гигантской инфляции, сравнимой лишь с инфляцией страны, находящейся в состоянии гражданской войны. Но я считаю, что каждый волен самостоятельно определять, как относиться к происходящему; я же предлагаю обратить свой взор в прошлое и изучить действия князя Владимира, «его духовный подвиг — обращение к православию», а также его предков.

Владимир в Корсуне
Владимир в Корсуне

Continue reading

Поделиться
Posted in Society | Tagged , , , , , , , | Leave a comment

Тёмные времена программирования. Чем программист похож на средневекового эскулапа?

Мне кажется, сравнение программистов с врачами выглядит достаточно любопытным. Только в качестве пациента выступает не отдельный человек, а чей-то бизнес. Если учесть, что основной задачей прикладного программирования является автоматизация процессов (с которыми до автоматизации вполне успешно справляются люди), становится понятно, что, как и лечение болезни, внедрение новых разработок несёт вместе с собой «определённые неудобства». Однако, после «выздоровления» «пациент» чувствует себя гораздо лучше. Почему же я сравнил современных разработчиков со средневековыми врачами? Во многом потому что, в отличие от современной медицины, нет никакой гарантии, что разрабатываемые новые технологии и продукты принесут какую-то пользу. Рынок информационных технологий очень юн и рискован, как и средневековая медицина (хотя и современная тоже далеко не идеальна), ввиду отсутствия стандартов и общепринятых практик. Можно провести несколько интересных аналогий между миром информационных технологий и средневековой медициной. Continue reading

Поделиться
Posted in Programming, Society | Leave a comment