Pull to refresh
37
0
Виктор Ефимов @vsespb

User

Send message

Скрытые расходы при переходе на микросервисы

Reading time7 min
Views17K

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

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

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

Мышление письмом

Reading time9 min
Views56K


Начните записывать мысли, чтобы усилить мышление. Этот совет я слышал много раз, но только в этом году решил сам попробовать. Результаты так впечатлили, что я решил описать опыт и поделиться теоретическими рассуждениями.

Что же я получил после полугода использования мышления письмом?
Читать дальше →
Total votes 91: ↑90 and ↓1+89
Comments85

Как сварить кашу из микросервисов

Reading time10 min
Views11K
Одной из причин популярности микросервисов является возможность автономной и независимой разработки. По сути микросервисная архитектура — это размен возможности автономной разработки на более сложный (по сравнению с монолитом) деплой, тестирование, дебаг и мониторинг. Но нужно учитывать, что микросервисы не прощают ошибок разделения ответственности. При неправильном разделение обязанностей возникают частые зависимые изменения в разных сервисах. И это намного больнее и сложнее, чем согласованные изменения в рамках разных модулей или пакетов внутри монолита. Согласованные изменения в микросервисах осложняется согласованной выкладкой, деплоем, тестированием и т.д.

И хотелось бы рассказать о различных паттернах и антипаттернах разделении ответственностей на микросервисы.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments16

Token, refresh token и создание асинхронной обертки для REST-запроса

Reading time4 min
Views90K
imageВ данном туториале мы кратко разберем, как реализовываются REST-запросы к API, требующие, чтобы пользователь был авторизован, и создадим асинхронную «обертку» для запроса, которая будет проверять авторизацию и своевременно ее обновлять.
Читать дальше →
Total votes 26: ↑19 and ↓7+12
Comments53

Вечный фотоархив для дома

Reading time6 min
Views44K

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


image


Теория


Ресурс работы SSD накопителя теоретически не ограничен, если не превышать количество циклов перезаписи в ячейку.


Задача


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


Выбор железок дело субъективное, но для себя сформулировал требование к малому формфактору. Кроме того все что скрыто от глаз в квартире, как правило лежит в пожароопасном месте, по этому хотелось питание в по USB, и минимум проводов.

Читать дальше →
Total votes 39: ↑24 and ↓15+9
Comments95

Проприоцепция для неспециалистов. Часть 3. Динамическое сидение на стуле

Reading time3 min
Views47K
«Ровная спина – залог здоровья позвоночника», «Сиди ровно», «Ваши мышцы спины слабые, их нужно накачать, чтобы держать спину ровной», «Выпрямься, чего сидишь горбом» – все эти фразы слышал практически каждый образованный человек не один раз в своей жизни.

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


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

Мышцы в нашем теле предназначены для движения, и даже те мышцы, которые приспособлены для длительной нагрузки в статичных позах, требуют периодического отдыха. При длительной сидячей работе отдых достигается путём смены позы. «Усталая спина» — основной симптом игнорирования принципов динамической подстройки позы, является ответом на перегрузку мышц чрезмерной статической нагрузкой.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments33

Хранение php-сессий в Redis с блокировками

Reading time5 min
Views28K
Стандартный механизм хранения данных пользовательских сессий в php — хранение в файлах. Однако при работе приложения на нескольких серверах для балансировки нагрузки, возникает необходимость хранить данные сессий в хранилище, доступном каждому серверу приложения. В этом случае для хранения сессий хорошо подходит Redis.

Наиболее популярное решение — расширение phpredis. Достаточно установить расширение и настроить php.ini и сессии будут автоматически сохраняться в Redis без изменения кода приложений.

Однако такое решение имеет недостаток — отсутствие блокировки сессии.
Читать дальше →
Total votes 28: ↑20 and ↓8+12
Comments10

Агрегация несущих в LTE или на что обратить внимание при покупке следующего смартфона

Reading time4 min
Views168K
Скорость мобильного интернета зависит как от оператора связи, так и от вашего устройства. Когда при описании сети оператора используются термины 4G+ или LTE-Advance, то речь идет о том, что на сети поддерживается технология агрегации несущих, она-то и обеспечивает более высокие скорости мобильного интернета. Что это такое, как это уже реализовано на сетях российских операторов мобильной связи, какие смартфоны ее поддерживают – об этом данная статья.
Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments39

Как взломать Telegram и WhatsApp: спецслужбы не нужны

Reading time2 min
Views716K
На прошлой неделе общественность взбудоражила новость о возможной причастности спецслужб к взлому аккаунтов оппозиционеров в популярном мессенджере Telegram. На протяжении своего существования человечество пыталось объяснить всё необъяснимое с помощью высших сил – Богов. В наше время все непонятные вещи объясняют происками спецслужб.

Мы решили проверить, действительно ли нужно быть спецслужбой, чтобы получить доступ к чужому аккаунту Telegram. Для этого мы зарегистрировали тестовый аккаунт Telegram, обменялись несколькими тестовыми сообщениями:



А затем мы провели атаку через сеть SS7 на один из тестовых номеров (подробнее о самих атаках мы писали ранее). И вот что у нас получилось:
Читать дальше →
Total votes 156: ↑146 and ↓10+136
Comments242

Как узнать, достаточен ли ваш уровень английского для работы за границей

Reading time5 min
Views21K
Этот вопрос весьма актуален для тех, кто желает найти работу заграницей, но не уверен на счет своих знаний английского. У меня такой вопрос не стоял, так как первая моя специальность «переводчик с английского и немецкого». Но уже первая моя статья о переезде заграницу вызвала множество комментариев на тему знаний языка. Об этом говорили практически все. Когда я отвечал, что я по первой специальности переводчик, мне отвечали: «ну вот! Теперь все понятно!». Когда я пожил заграницей какое-то время, пообщался с другими людьми, теперь я могу сказать вам точно — не обязательно быть переводчиком, чтобы найти работу там. Ниже я предоставляю вам опыт моей жены, которая НЕ переводчик и по-английски говорила исключительно на бытовом уровне, когда мы переехали. Вот как она справилась с этой задачей, и сколько времени это у нее заняло. Возможно, найдете для себя что-то интересное. Далее повествование пойдет «от первого лица», а именно, от лица моей жены.
Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments4

Почему я больше не использую MVC-фреймворки

Reading time16 min
Views132K


Уважаемые хабравчане.

Поскольку дискуссия вокруг статьи идет весьма активно, Жан-Жак Дюбре (он читает комментарии) решил организовать чаты в gitter.

Вы можете пообщаться с ним лично в следующих чатах:
https://gitter.im/jdubray/sam
https://gitter.im/jdubray/sam-examples
https://gitter.im/jdubray/sam-architecture

Также автор статьи разместил примеры кода здесь: https://bitbucket.org/snippets/jdubray/

По поводу кода он оставил следующий комментарий:
I don't code for a living, so I am not the best developer, but people can get a sense of how the pattern works and that you can do the exact same thing as React + Redux + Relay with plain JavaScript functions, no need for all these bloated library (and of course you don't need GraphQL).
Читать дальше →
Total votes 78: ↑67 and ↓11+56
Comments254

Под капотом Redis: Строки

Reading time9 min
Views31K
Если вы знаете, почему простая строка `strings` в Redis займёт в оперативной памяти 56 байт — вам, думаю, статья не будет интересна. Всем остальным я попробую рассказать, что такое строки в Redis и почему использующему эту базу данных разработчику важно понимать, как они устроены и работают. Это знание особенно важно, если вы пытаетесь рассчитать фактическое потребление памяти вашим приложением или планируете строить высоко нагруженные системы статистики или учёта данных. Или, как часто бывает, пытаетесь срочно понять, почему вдруг ваш экземпляр redis стал потреблять неожиданно много памяти.
Читать дальше →
Total votes 55: ↑54 and ↓1+53
Comments3

Мегафон — кто угодно может управлять вашим счётом

Reading time2 min
Views70K
Недавно обнаружил, что если зайти на страницу https://szfsg.megafon.ru/ps/scc/mobile/ с мобильного устройства через мобильный интернет Мегафона, то имеется возможность попасть в «Мегафон Сервис-Гид Северо-Запад» без пароля (для других регионов, возможно, существует аналогичная ссылка).


Читать дальше →
Total votes 77: ↑70 and ↓7+63
Comments80

6-й санкт-петербургский Perl-воркшоп и хакатон Saint Perl 2014

Reading time2 min
Views3.1K

В декабре Perl празднует свой 27-й день рождения. А мы традиционно проводим приуроченный к этой славной дате очередной, шестой уже по счёту, Saint Perl. В этом году он состоится 20-21 декабря.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments4

SSD VPS от REG.RU: объединяем достоинства

Reading time3 min
Views7.8K


VPS/VDS: для кого этот тип хостинга?


Каждый, кому необходимо создать и развивать собственный сайт, рано или поздно подходит к необходимости приобретения хостинга для него. Большинство людей под хостингом понимают shared-хостинг, то есть виртуальный, когда несколько сайтов одновременно пользуются ресурсами одного и того же сервера. Достоинства такого хостинга очевидны: минимум забот по его поддержке и настройке, львиная часть этих работ ложится на плечи хостинг-провайдера.
Читать дальше →
Total votes 21: ↑10 and ↓11-1
Comments25

Вступают в силу новые правила ввоза товаров из-за рубежа (посредники предупреждают пользователей)

Reading time5 min
Views288K
То, о чем так долго ходили слухи и что так много обсуждалось уже осуществляется близко к завершению.
Вступают в силуСкоро вступят в силу новые правила ввоза товаров. Сегодня пришла рассылка от Shipito, в которой сообщается, что есть около 40 дней на приобретение и доставку товаров по старым расценкам (1000 Евро в месяц на человека).

Russian Customs News
New custom limit is 150 Euro and 10kg for one parcel.
There is about 30-40 days for this law to take effect.

Голосования в интернете не помогли.
Печальная история. Теперь уже не купишь так легко редкие в России товары (например заказанный мной сразу после анонса Nexus 5 32Gb white и Nexus 7 32Gb white).
Так же неизвестно по какой цене для нас будут доступны так ожидаемые многими Moto360.
И хотя официального объявления не было, и проект еще не подписан, рассылка от одного из крупнейших посредников говорит о многом.
Читать дальше →
Total votes 115: ↑103 and ↓12+91
Comments334

Как купить золото?

Reading time5 min
Views138K
Пенсия для ITшника.
Тут нужно было бы писать «а что делать в старости?», «на государство недёжи никакой», «в наше время каждый должен...» и прочее бла-бла-бла и би-би-би. Но мне лень, потому — сразу к делу.

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

А еще?
А еще золото двигается в противофазе с рынком акций. То есть, когда в экономике тайфун — все инвесторы бегут в золото, как самый надежный актив. Ну и наоборот, естественно… Это делает золото идеальным инструментом для построения «портфеля простака».
Читать дальше →
Total votes 92: ↑73 and ↓19+54
Comments167

Боремся с RSI — обзор клавиатуры Truly Ergonomic 209

Reading time7 min
Views81K
Truly Ergonomic 209


Говоря кратко, после пары десятков лет работы за компьютером я вдруг стал чувствовать на себе признаки «туннельного синдрома» (RSI). Более подробно изложено в лирическом отступлении.

Лирическое отступление
Последние годы на Дни рождения все больше вместо «денег» я стал получать пожелания «здоровья». И хоть по человеческим меркам мне еще не так много лет (30), для айтишника это уже практически пенсионер. Впервые сесть за свой компьютер мне повезло в возрасте шести лет, а с восьми это был уже PC-совместимый компьютер с типичной для тех времен классической 101-клавишной клавиатурой формы кирпича, за которую современный хипстер отдал бы свой айфон.

Шло время, менялись конфигурации, оставалась лишь привычка дни напролет проводить за компьютером, с годами закономерно переросшая в профессию программиста. Тем временем, мой интерфейс понемножечку эволюционировал вслед за прогрессом — сначала я отказался от стрелочного блока клавиатуры, став покупать модели без его наличия (детская привычка гамать на цифровом блоке с выключенным NumLock взяла свое), затем та же участь постигла и цифровой блок, оставив вместо него лишь вертикальную дорожку Home'ов и PageUp'ов. Потом я и вовсе переполз на ноутбуки, несколько лет работая только на них.

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

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

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

Проблему нужно было решать скорее, запускать болезнь чревато осложнениями. Изучив интернет (в частности, некоторые материалы на хабре), пришел к печальному выводу, что выбор эргономичных клавиатур не столь велик, как кажется. Если не рассматривать откровенно гиковские приблуды, остается шорт-лист из продуктов Microsoft, Kinesis и Truly Ergonomic. Microsoft Ergonomic Keyboard хороша тем, что ее легко купить в наших магазинах — больше я хорошего в ней не нашел. Да, клавиатура удобная, популярная, относительно недорогая. Однако она очень широка — правый ненужный мне блок клавиш ставит мышку слишком далеко от плеча, а это неудобство. Мультимедийные кнопки сверху это вообще за гранью добра. На легендарный Kinesis Advantage я периодически посматриваю с начала нулевых, и вот наконец-то могу его позволить ($300 с копейками, зависит от модели), однако все так же смущает ширина и уж слишком далекая от стандартов посадка клавиш — есть мысль, что периодически свитчить с нее на ноутбук в будущем станет большой проблемой. Выяснилось также, что Kinesis не доставляет в Россию, поэтому заказывать нужно через одного из их европейских реселлеров, но это просто к слову.

Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments109

Анализ спроса и предложения фрилансеров на примере биржи oDesk

Reading time7 min
Views99K


Введение


oDesk — крупнейшая в мире (ну по крайней мере так считает сам oDesk) международна биржа фрилансеров. Про сам оDesk на хабре писали уже довольно много раз, например тут или тут, где, на мой взгляд, практически разжёвано зачем и для кого создан данный ресурс, и особенно “с чем его есть”. В связи с этим этап описания и принцип работы сайта можно опустить. Я же попытаюсь провести анализ данных как о самих фрилансерах, так и о заказах, заказчиках и их требованиях к фрилансерам — грубо говоря что нужно уметь и знать, чтобы быть более менее в теме современных технологий. Также проанализирую спрос и предложение на основе данных о навыках фрилансеров и требованиях клиентов. И конечно некоторые статистические данные и немного красивых картинок в качестве примеров (кто работает на oDesk, откуда в основном идут заказы, кто больше зарабатывает, а кто лучше работает и т.д.). И все это на основе самостоятельно собранной информации, так открыто и благородно предоставляемой самим oDesk’ом посредством API. Стоит отметить, что статья с небольшим количеством статистики про oDesk ранее уже успела промелькнуть на просторах хабра, однако в ней, в отличии от текущей статьи, oDesk сам себя хвалил предоставил результаты. В целом же, сразу хочу сказать, что не претендую на полноту обзора, однако ниже будет кратко описан процесс сбора данных, что позволит провести Ваш собственный анализ при необходимости.
Читать дальше →
Total votes 76: ↑75 and ↓1+74
Comments77

Test::Spec: плюсы, минусы и особенности

Reading time21 min
Views10K
image

Test::Spec (https://metacpan.org/pod/Test::Spec) — модуль для декларативного написания юнит-тестов на Perl. Мы в REG.RU активно его используем, поэтому хочу рассказать, зачем он нужен, чем отличается от других модулей для тестирования, указать на его преимущества, недостатки и особенности реализации.

Эта статья не является вводной ни в юнит-тестирование в целом, ни в использование Test::Spec в частности. Информацию по работе с Test::Spec можно получить из документации (https://metacpan.org/pod/Test::Spec и https://metacpan.org/pod/Test::Spec::Mocks). В статье же речь пойдёт о специфике и нюансах этого модуля.

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments16

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Works in
Registered
Activity