Как стать автором
Обновить
37
0
Виктор Ефимов @vsespb

Пользователь

Отправить сообщение

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

Время на прочтение7 мин
Количество просмотров17K

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

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

Читать далее
Всего голосов 36: ↑36 и ↓0+36
Комментарии25

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

Время на прочтение9 мин
Количество просмотров58K


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

Что же я получил после полугода использования мышления письмом?
Читать дальше →
Всего голосов 67: ↑66 и ↓1+89
Комментарии85

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

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

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

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

Время на прочтение4 мин
Количество просмотров95K
imageВ данном туториале мы кратко разберем, как реализовываются REST-запросы к API, требующие, чтобы пользователь был авторизован, и создадим асинхронную «обертку» для запроса, которая будет проверять авторизацию и своевременно ее обновлять.
Читать дальше →
Всего голосов 26: ↑19 и ↓7+12
Комментарии53

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

Время на прочтение6 мин
Количество просмотров44K

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


image


Теория


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


Задача


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


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

Читать дальше →
Всего голосов 39: ↑24 и ↓15+9
Комментарии95

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

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

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


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

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

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

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

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

Однако такое решение имеет недостаток — отсутствие блокировки сессии.
Читать дальше →
Всего голосов 28: ↑20 и ↓8+12
Комментарии10

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

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

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

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

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



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

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

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

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

Время на прочтение16 мин
Количество просмотров133K


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

Поскольку дискуссия вокруг статьи идет весьма активно, Жан-Жак Дюбре (он читает комментарии) решил организовать чаты в 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).
Читать дальше →
Всего голосов 78: ↑67 и ↓11+56
Комментарии254

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

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

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

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


Читать дальше →
Всего голосов 77: ↑70 и ↓7+63
Комментарии80

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

Время на прочтение2 мин
Количество просмотров3.1K

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

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

Время на прочтение3 мин
Количество просмотров7.9K


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


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

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

Время на прочтение5 мин
Количество просмотров288K
То, о чем так долго ходили слухи и что так много обсуждалось уже осуществляется близко к завершению.
Вступают в силуСкоро вступят в силу новые правила ввоза товаров. Сегодня пришла рассылка от 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.
И хотя официального объявления не было, и проект еще не подписан, рассылка от одного из крупнейших посредников говорит о многом.
Читать дальше →
Всего голосов 115: ↑103 и ↓12+91
Комментарии334

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

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

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

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

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

Время на прочтение7 мин
Количество просмотров81K
Truly Ergonomic 209


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

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

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

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

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

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

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

Читать дальше →
Всего голосов 33: ↑29 и ↓4+25
Комментарии109

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

Время на прочтение7 мин
Количество просмотров99K


Введение


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

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

Время на прочтение21 мин
Количество просмотров11K
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). В статье же речь пойдёт о специфике и нюансах этого модуля.

Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии16

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Работает в
Зарегистрирован
Активность