Search
Write a publication
Pull to refresh
387
3.2
Олег Чирухин @olegchir

Продакт GigaIDE Cloud, фаундер Anarchic

Send message

Управление транзакциями в Spring: @Transactional в деталях

Reading time16 min
Views150K

Вы можете использовать это руководство, чтобы получить простое и практическое понимание того, как работает управление транзакциями в Spring с помощью аннотации @Transacional .

Единственное необходимое условие? Вы должны иметь приблизительное представление об ACID, то есть о том, что такое транзакции баз данных и зачем их использовать. Также здесь не рассматриваются распределенные транзакции или реактивные транзакции, хотя общие принципы, с точки зрения Spring всё же применимы.

Читать далее

Есть ещё выдающиеся программисты, кроме Торвальдса, Беллара и Дина? Знакомьтесь — Джастин Танни

Level of difficultyEasy
Reading time6 min
Views46K
Программистам не дают Нобелевские премии. Хотя некоторые заслуживают. В нашей отрасли есть настоящие герои с выдающимися достижениями. Эти люди не строят карьеру, перепрыгивая с одной должности на другую, прокачивая зарплату. Создаётся впечатление, что им карьера вообще не важна. В силу высокого интеллекта, врождённой любознательности и особого характера эти люди не способны выполнять скучные, рядовые задания. Только интересные или важные. И только по своей воле, не по указанию сверху.

На Хабре рассказывали про «чак норрисов» от программирования, таких как Линус Торвальдс, Фабрис Беллар и Джефф Дин. Конечно, есть и другие феноменальные таланты, их много. Зачастую эти люди далеки от публичности, никогда не давали интервью и известны только по никам. Но их объединяет одно — выдающиеся индивидуальные разработки, которые разрывают шаблон и выделяются из общей массы.

Мы собирали этот список несколько лет. Начнём с последних строчек своебразного хит-парада… Знакомьтесь — Джастин Танни (Justine Tunney), хакерша и гений системного программирования.
Читать дальше →

Образование!=профессия. Истории айтишников без профильной вышки

Reading time16 min
Views12K

«Кем станешь, когда вырастешь» — спрашивают нас родители лет эдак в 5. Что ответить? Ну, помечтаем, мол, космонавтом, поваром… Но кто лет до 20 точно знает, чем хочется заниматься? Туда же добавим настойчивые советы родственников и получим невроз.

IT-сфера, пожалуй, богаче остальных на самоучек, ведь университеты не выпускают Ruby-сеньоров или фуллстеков. Это значит, что прийти сюда может любой, было бы желание — фундаментальные знания здесь преимущество, но уж точно не определяющий фактор. 

Под катом истории следователя, врача скорой помощи, биолога и ещё 5 коллег из Evrone, которые работают не по специальности. Осторожно, лонгрид!

Читать далее

Какого цвета ваша функция?

Reading time13 min
Views28K

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


(Тем временем, вы и я используем только самый просветленный язык и отточенные инструменты, разработанные для ловких рук таких мастеров, как мы).


Конечно, как автор проповеди, я иду на риск. Вам может нравиться язык, который я высмеиваю! Безрассудный памфлет мог бы неосторожно привлечь в мой блог яростную толпу черни с вилами и факелами наперевес.


Чтобы защититься от праведного огня и не оскорбить ваши (вероятно деликатные) чувства, я буду рассказывать о языке...

Читать дальше →

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

Reading time5 min
Views8.9K


Исторически так сложилось, что AWS стал промышленным стандартом на рынке облачных услуг, как с точки зрения набора предоставляемых услуг и решений, так и с точки зрения поддержки, комьюнити, готовых библиотек для использования, провайдеров для работы с подходом IaaC. Но ввиду изменившейся геополитической ситуации, а также других различных факторов (например, 152 ФЗ), зарубежные решения становятся всё менее доступными. Так что необходимо искать альтернативы на российском внутреннем рынке.

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

Дисклеймер №1
Данная статья не является рекламой. Все совпадения с реальностью — всего лишь совпадения с реальностью. А все несовпадения с реальностью — всего лишь несовпадения с реальностью.

Дисклеймер №2
Читать дальше →

Хорошо подумайте, прежде чем использовать Docker-in-Docker для CI или тестовой среды

Reading time6 min
Views54K


Docker-in-Docker представляет собой виртуализированную среду Docker-демон, запущенную в самом контейнере для сборки образов контейнера. Основной целью создания Docker-in-Docker была помощь в разработке самого Docker. Многие люди используют его для запуска Jenkins CI. Поначалу это кажется нормальным, но затем возникают проблемы, которых можно избежать, установив Docker в контейнер Jenkins CI. В этой статье рассказывается, как это сделать. Если вас интересует итоговое решение без подробностей, просто прочитайте последний раздел статьи «Решение проблемы».

Читать дальше →

Сборник тестовых заданий для Product Manager

Reading time5 min
Views23K

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

Собрал подборку из 30 тестовых заданий для Product Manager и Product Marketing Manager от реальных IT, EdTech и FinTech компаний России и мира. Уровень вакансий Junior и Middle.

Читать далее

Контент как Код

Reading time14 min
Views3.3K

Предыстория проста. В нашем банке существует множество продуктов, контент которых нуждается в едином способе управления. Одни продукты построены на классических CMS, другие вовсе требуют усилий разработчиков для обновления информации на портале. Ситуация усугубляется требованием миграции всех продуктов в банковскую облачную платформу, построенную по принципу PaaS. Это означает, что поддержка какого то определённого сервиса (Kafka, Elasticsearch, PorstreSQL, и т. д.) или, тем более, системы (WordPress, Magento, Drupal, и т. д.) требует согласования и разработки в рамках платформы. И если абсолютно всех и в долгосрочной перспективе устраивает пресловутый WordPress, то с учетом прочих приоритетов его поддержка будет реализована со временем.

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

Читать далее

Чем быстрее вы забудете ООП, тем лучше для вас и ваших программ

Reading time7 min
Views220K

Объектно-ориентированное программирование — чрезвычайно плохая идея, которая могла возникнуть только в Калифорнии.

— Эдсгер Вибе Дейкстра

Возможно, это только мои ощущения, но объектно-ориентированное программирование кажется стандартной, самой распространённой парадигмой проектирования ПО. Именно его обычно преподают студентам, объясняют в онлайн-туториалах и, по какой-то причине, спонтанно применяют даже тогда, когда не собирались этого делать.

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

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

Получить американскую визу основателю стартапа или сотруднику — что может быть проще

Reading time5 min
Views13K
Владимир Климонтович, основатель опенсорсного стартапа Jitsu (YC S20), поделился своим опытом получения американской визы L1-A.

image

Вот так выглядел пакет документов для моей петиции на L1-A визу четыре года назад

”— В целом, – говорил Морковин, – происходит это примерно так. Человек берет кредит. На этот кредит он снимает офис, покупает джип «Чероки» и восемь ящиков «Смирновской». Когда «Смирновская» кончается, выясняется, что джип разбит, офис заблеван, а кредит надо отдавать. Тогда берется второй кредит – в три раза больше первого. Из него гасится первый кредит, покупается джип «Гранд Чероки» и шестнадцать ящиков «Абсолюта». Когда «Абсолют»…
— Я понял, — перебил Татарский.”
В. Пелевин, “Generation П”


Сейчас не 90ые, но в чем-то ситуация похожа: стартапер получает первый раунд инвестиций и …переезжает в США! Необходимость переезда — тема для отдельного поста (если коротко: переезд помогает развиваться, но сам по себе волшебной палочкой не является — соотечественники, делающие продукт для российских пользователей, получающие деньги у российских инвесторов, но живущие в США — вызывают удивление). Так что тут расскажу про технические и юридические аспекты.

Рассказ обращен как к основателям стартапа, так и к сотрудникам, которым не очень чистоплотные компании обещают “переезд в США через три месяца”, а потом “кидают” с обещаниями.

Итак, если вы решили переехать в США, у вас есть четыре варианта: три вида неиммиграционных виз (O1, L1 и H1B), а так же International Entrepreneur Parole. Последнее — довольно экзотический зверь, так что рассказывать про него не буду (но если дойдет до дела — обязательно спросите про эту опцию у юриста!).

Итак, визы. Про них нужно понимать следующее:
Читать дальше →

Самодельная Механическая «Эргономическая» Клавиатура

Reading time8 min
Views9.8K

Самодельные клавиатуры и раскладка для них.

О чём это?

В этой статье я рассказываю про две клавиатуры, которые я собрал и использую ежедневно. Также описываю раскладку прошитую в эти клавиатуры, идеи и принципы определившие эту раскладку.

Я работаю за комьютером уже долго. Писать, то есть печатать, приходится довольно много. Несколько лет назад пальцы и руки начали болеть, достаточно, чтобы начать искать облегчения. Ежедневно бинтовать пальцы и использовать обезболивающие - не выход. Решение нашлось в создании клавиатуры и её расладки, при использовании которых руки движутся более-менее естественно и не травмируются так сильно, как раньше.

Читать далее

Экономим свое время. Ускоряем создание отложенных постов в Telegram с помощью бота

Reading time7 min
Views15K

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

Читать далее

Почему наследование всегда было бессмысленным

Reading time4 min
Views32K
Есть три типа наследования.

  1. Онтологическое наследование указывает на специализацию: вот эта штука — специфическая разновидность той штуки (футбольный мяч — это сфера и у неё такой-то радиус).
  2. Наследование абстрактного типа данных указывает на замещение: у этой штуки такие же свойства, как у той штуки, и такое-то поведение (это принцип подстановки Барбары Лисков).
  3. Наследование реализации связано с совместным использованием кода: эта штука принимает некоторые свойства той штуки и переопределяет или дополняет их таким-то образом. Наследование в моей статье «О наследовании» именно такого и только такого типа.

Это три разных и часто противоречивых отношения. Требовать любого или даже всех не представляет никаких сложностей. Но требование поддержки одним механизмом двух или более из них — значит нарываться на проблемы.

Часто для наследования в ООП приводят контрпример отношений между квадратом и прямоугольником. Геометрически квадрат — это специализация прямоугольника: все квадраты — прямоугольники, но не все прямоугольники — квадраты. Все s в классе «Квадрат» являются прямоугольниками s, у которых длина равна ширине. Но в иерархии типов это отношение обратное: вы можете использовать прямоугольник везде, где используется квадрат (указав прямоугольник с одинаковой шириной и высотой), но нельзя использовать квадрат везде, где используется прямоугольник (например, вы не можете изменить длину и ширину).
Читать дальше →

Установка Kubernetes на домашнем сервере с помощью K3s

Reading time23 min
Views32K

Но зачем


Знаю, о чем вы думаете — Kubernetes? На домашнем сервере? Кто может быть настолько сумасшедшим? Что ж, раньше я согласился бы, однако недавно кое-что изменило мое мнение.


Я начал работать в небольшом стартапе, в котором нет DevOps разработчиков со знанием Kubernetes (в дальнейшем K8s), и даже будучи старым ненавистником K8s из-за его громоздкости, был вынужден признать, что мне не хватает его программного подхода к деплойментам и доступу к подам. Также должен признать, что азарт от укрощения настолько навороченного зверя давно будоражит меня. И вообще, K8s захватывает мир — так что лишние знания не навредят.

Читать дальше →

Ваш гайд в React Native: три решения для автоматического ресайза текста

Reading time4 min
Views2.9K

Если вы решили посвятить свой нелегкий путь разработчика React Native, то почти наверняка уже столкнулись с проблемой автоматического растягивания текста. Или (спойлер) столкнетесь с ней в ближайшем будущем. Немало часов я провел на форумах для поиска универсального решения. Меж тем, вводных для авторесайза текст-компонента в мобильных приложениях может быть великое множество - используемая платформа, утвержденный дизайн, который должен быть одинаковым на всех девайсах, анимации, размер девайса, объем текста, размер шрифта и т.д. Готовое универсальное решение нам не удалось обнаружить даже на любимом  https://stackoverflow.com/. Поэтому каждый программист справляется с проблемой автоматического ресайза текста по-своему. 

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

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

Читать далее

Книга «Дизайн-мышление: канвасы и упражнения. Полный набор инструментов»

Reading time9 min
Views5.9K
image Привет, Хаброжители! Издание содержит все самые важные и ценные инструменты для реализации дизайн-мышления на практике. Более 100 экспертов мирового сообщества по дизайн-мышлению приняли участие в создании этой книги и показали, насколько актуальна тема сегодня, как происходит обмен знаниями.Простые инструкции, советы и шаблоны помогут вам определиться с выбором каждого инструмента или метода. Вы подберете подходящие разминки, познакомитесь с лучшими приемами дизайн-мышления, а также сможете спланировать темы для воркшопов.В главе «Применение» представлены проекты, демонстрирующие, как дизайн-мышление способствует культурной трансформации в компании и за ее пределами.Книга поможет студентам и специалистам любой сферы деятельности ознакомиться с самыми популярными инструментами дизайн-мышления. Это идеальное дополнение к международному бестселлеру «Дизайн-мышление. От инсайта к новым продуктам и рынкам».
Читать дальше →

КОМПАС-3D и Linux → Часть 1

Reading time3 min
Views81K

Вода, конечно, камень точит и курочка по зёрнышку клюёт, а ползущая линуксонизация начала настигать промышленность. Видимо, план перехода на операционные системы на базе ядра linux принимает четкие очертания и начинает реализовываться. И одними из первых на этом пути находятся предприятия оборонно-промышленного комплекса нашей страны с их процессами конструкторско-технологической подготовки производства. Реализация такого плана требует, кроме запуска офисных приложений, еще и запуск САПР под ОС на ядре linux.

Вот, в рамках этой задачи, мы “поковырялись” и расскажем про наш опыт запуска системы КОМПАС-3D  в операционной системе Ubuntu с помощью Wine.

Узнай как настроить КОМПАС-3D под Linux

Большой FAQ про разные виды коррекции зрения: все вопросы гиков в одном месте

Reading time29 min
Views185K
Ниже – прямое сравнение видов коррекции (операций) с удобной сводкой по возможным осложнениям и применимости, плюс море других вопросов от профессиональных параноиков: от «что будет, если махнуть головой во время операции» до «а отдадут ли мне ткань, которую вынули из моего глаза» и «что будет в старости с моим зрением».

– Что лучше: очки, линзы или лазерная коррекция?

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

– Я решил остановиться на очках, но боюсь, что мне в лицо откроется подушка автомобиля и они станут контактными линзами. Что делать?

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

Если вы видите плохо и не надеваете очки, то вы теряете часть информации об окружающем мире и при этом создаёте дополнительную нагрузку на зрительный аппарат. Есть проблема – нужна оптическая коррекция. А испортить глаза очками можно, как один из наших коллег из клиники в г. Марбурге – он уснул в стеклянных очках за компьютером дома, упал лицом на клавиатуру, и осколок стекла вошёл в хрусталик. В итоге сначала заменили хрусталик, потом через год понадобилась трансплантация.
Читать дальше →

Ещё пара неочевидных вещей, которые вам могут не рассказать до лазерной коррекции зрения

Reading time13 min
Views161K

Сегодня без «жести», как вы просили

Уже есть пост про то, как лазер режет с помощью создания миллионов кавитационных пузырей в слое роговицы глаза, и разбор телеметрии с реальной операции по секундам с комментариями действий хирурга. И ещё история операций. Вы задали очень много вопросов. Теперь FAQ про разные сопутствующие вещи.

— Если я посмотрю в сторону во время работы лазера, что случится?

У вас попросту не выйдет. На самом деле сразу после обезболивания глаз прижимается к специальному пневмозахвату. Моргнуть у вас тоже не выйдет из-за фиксации (это небольно и недолго). Единственный момент, где можно серьёзно нарушить ход операции — это сильно дёрнуть головой, серьёзным волевым усилием вытащив её из подголовника. В этом случае операция мгновенно прекратится. Точнее, она прекратится даже до потери захвата (детали ниже).

— Как должна быть подготовлена операционная?

В целом — как обычная операционная, то есть это помещение с чистой зоной (фильтрация воздуха, избыточное давление для предотвращения загрязнений извне после очистки). Для процедуры важно, чтобы между линзой лазера и глазом не попадали микрочастицы пыли, летающие в воздухе.
Читать дальше →

Однажды в HFT-компании…

Reading time43 min
Views37K

Моя личная история трейдинга, все совпадения случайны.
image
Я начал свою карьеру в HFT в австралийском филиале одной из крупнейших американских трейдерских компаний в качестве программиста на C++. В первый день меня встретил офис с огромными окнами с видом на сиднейскую гавань, на одном из которых было написано фломастером “< 2ms”. Это было главной задачей для дюжины разработчиков, но, пока что, не для меня. Итак…

Читать дальше →

Information

Rating
2,073-rd
Location
Россия
Works in
Date of birth
Registered
Activity

Specialization

Chief Technology Officer (CTO), Chief Executive Officer (CEO)
Lead
From 2,000,000 ₽
Product management
Project management
Marketing research
Game Development
Web development
Software development