Как стать автором
Обновить
35
Карма
0.2
Рейтинг
Павел Маминов @Xobotun

Жаба-программист

Глубокое погружение в Java Memory Model

Программирование *Java *


Я провел в изучении JMM много часов и теперь делюсь с вами знаниями в простой и понятной форме.


В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да, в интернете накопилось достаточно много информации про JMM/happens-before, и, кажется, что очередную статью про такую заезженную тему можно пропускать мимо. Однако я постараюсь дать вам намного большее и глубокое понимание JMM, чем большинство информации в интернете. После прочтения этой статьи вы будете уверенно рассуждать о таких вещах как memory ordering, data race и happens-before. JMM — сложная тема и не стоит верить мне на слово, поэтому большинство моих утверждений подтверждается цитатами из спеки, дизассемблером и jcstress тестами.

Читать дальше →
Всего голосов 109: ↑109 и ↓0 +109
Просмотры 40K
Комментарии 58

DLBI: в открытый доступ выложен файл с данными покупателей билетов на автобус сервиса Tutu.ru

Информационная безопасность *Облачные сервисы *Транспорт IT-компании


Эксперты сервиса поиска утечек и мониторинга даркнета DLBI рассказали, что в открытый доступ выложен файл с данными покупателей билетов на автобус сервиса Tutu.ru.
Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 4.5K
Комментарии 4

Как я получил офферы в Google, Amazon, Microsoft, Яндекс и Box, не завалив ни одного собеседования (ну, почти)

Учебный процесс в IT Карьера в IT-индустрии IT-компании

Клибейт, кликбейт!

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

Читать далее
Всего голосов 188: ↑183 и ↓5 +178
Просмотры 99K
Комментарии 165

Huawei удалось выпустить ноутбук с собственным ARM-процессором и своим Linux-дистрибутивом

Блог компании Selectel Гаджеты Компьютерное железо Ноутбуки Процессоры

В прошлом году китайская компания Huawei стала активно искать альтернативные пути развития. Это случилось после того, как США наложили жесткие санкции, которые лишь усилились с течением времени. Поэтому Huawei начала разработку собственных аппаратных элементов, включая процессоры, а также своей ОС для мобильных устройств и умных часов.

Компания в конце года анонсировала выпуск ноутбука с ARM-процессором и своим дистрибутивом Линукс. И теперь это произошло: Huawei действительно удалось выпустить на рынок девайс на базе собственного процессора и своей ОС. Под катом — подробности.
Читать дальше →
Всего голосов 62: ↑60 и ↓2 +58
Просмотры 27K
Комментарии 62

Дайджест IT-событий марта

Блог компании Productivity Inside Хакатоны Учебный процесс в IT Конференции
Как всегда, отмечаем начало месяца сводкой готовящихся событий для разработчиков. С приближением весеннего равноденствия в IT-сообществе также устанавливается редкое равновесие — в этом выпуске хватает всего: языков разработки, data science, хакатонов, тестирования.



Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 1.7K
Комментарии 1

Собеседование Backend-Java-разработчика: вопросы и где искать ответы. Часть 2

Java *

Публикую продолжение сборника вопросов-ответов с собеседований на Backend-Java-разработчика. В первой части мы прошлись по Java и Spring. А в этой поговрим о Hibernate, базах данных, паттернах и практиках разработки, об одной популярной библиотеке, поддержке и сопровождении наших приложений, а также посмотрим на альтернативные шпаргалки и подведём итоги.

Потопали
Всего голосов 21: ↑18 и ↓3 +15
Просмотры 51K
Комментарии 14

Быстрый поиск касательных и пересечений у выпуклых многоугольников

Алгоритмы *Математика *

Я недавно сделал маленькую библиотеку для решения задачи поиска кратчайшего пути на 2D карте с выпуклыми препятствиями. В процессе реализации я придумал пару алгоритмов и трюков, описания которых я нигде не встречал. Поэтому делюсь этими "изобретениями" с общественностью.


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

Читать дальше →
Всего голосов 25: ↑25 и ↓0 +25
Просмотры 6.6K
Комментарии 21

Scrum-мем на злобу дня

Agile *Читальный зал

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



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


Читать дальше →
Всего голосов 62: ↑31 и ↓31 0
Просмотры 19K
Комментарии 60

Обрабатываем данные на стороне клиента с помощью WebAssembly

Блог компании RUVDS.com JavaScript *Браузеры


WebAssembly (сокр. WASM) — технология запуска предварительно скомпилированного бинарного кода в браузере на стороне клиента. Впервые была представлена в 2015 году и на текущий момент поддерживается большинством современных браузеров.

Один из распространенный сценариев использования — предварительная обработка данных на стороне клиента перед отправкой файлов на сервер. В этой статье разберемся как это делается.
Читать дальше →
Всего голосов 33: ↑33 и ↓0 +33
Просмотры 8K
Комментарии 6

Выбор архитектурного стиля. Часть 3

Блог компании OTUS Высокая производительность *Анализ и проектирование систем *Промышленное программирование *Распределённые системы *
Привет, Хабр. Сегодня я продолжаю серию публикаций, которую написал специально к старту нового потока курса «Software Architect».





Введение


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

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

Сейчас мы наконец определим основные характеристики микросервисной архитектуры.
Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 4.7K
Комментарии 4

Контрольный список для ревью кода в распределенных системах

Блог компании VK Анализ и проектирование систем *API *
points of view by sanja

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

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

Команда Mail.ru Cloud Solutions перевела статью, автор которой несколько лет занимался обнаружением типовых сбоев в коде на продакшене и изучал причины, приведшие к такому результату. В статье — рекомендации по проверке кода, которые автор использует в качестве базового контрольного списка.
Читать дальше →
Всего голосов 30: ↑30 и ↓0 +30
Просмотры 6.6K
Комментарии 3

Опенсорсные альтернативы Google Analytics на своём хостинге

Блог компании VDSina.ru Разработка веб-сайтов *Open source *Серверное администрирование *Веб-аналитика *

Веб-интерфейс опенсорсного сервиса аналитики Matomo

Дегуглификация онлайновой жизни требует внедрения свободных альтернатив во всех областях. Защитники приватности ведут списки таких продуктов по категориям.

С точки зрения системного администратора в этих списках отдельно выделяется категория веб-аналитики — замена сервису Google Analytics, который собирает детальную статистику о посетителях сайта. Все знают, как работает такой сервис. Внедряете на страничках JS-код отслеживания, и если человек не установил блокировщик следящих скриптов, то каждый раз при открытии страницы будет срабатывать этот скрипт. Дальше статистика по вашим пользователям отправляется на хранение в корпорацию Google.

К счастью, есть ряд свободных, опенсорсных альтернатив Google Analytics, которые к тому же работают быстрее, поскольку скрипты меньше по размеру и загружаются с вашего собственного хостинга, а не со стороннего сервера. Информация о пользователях никуда не отправляется, а многие сервисы не используют куки и соответствуют законодательству GDPR о защите личных данных.
Читать дальше →
Всего голосов 46: ↑46 и ↓0 +46
Просмотры 17K
Комментарии 18

Подготовка к собеседованию в компании большой пятерки

Программирование *Алгоритмы *Интервью
По моим впечатлениям очень многих людей интересует тема подготовки к собеседованиям в топ технические компании, поэтому решил вместо личных ответов написать одну статью на которую в дальнейшем буду ссылаться. Всем кому интересен процесс самого собеседования, вещи на которые нужно обращать внимание, как готовиться и к чему готовиться — добро пожаловать под кат.
Читать дальше →
Всего голосов 17: ↑11 и ↓6 +5
Просмотры 17K
Комментарии 36

«Обратные интервью» или Как вовремя перевернуть доску

Управление разработкой *Управление персоналом *Карьера в IT-индустрии

Когда я собеседую на руководящие позиции, я часто применяю "обратные интервью": прошу кандидатов рассказать, что бы они сами спросили на моем месте. Это дает мне полезную информацию и приятно разнообразит процесс. Этот пост о том, как и почему я это делаю.


Что спрашивают маленькие девочки у чеширских котов?

Читать дальше →
Всего голосов 81: ↑75 и ↓6 +69
Просмотры 21K
Комментарии 141

Навигатор для трактора или эмиграция с цифрами

IT-эмиграция
🔥 Технотекст 2020

Cover
https://www.deviantart.com/mrmarkchilcott/art/Warpig-662451056


Итак, ваш трактор отполирован до блеска, смазан, проведено ТО. Вы в костюмчике с иголочки стоите рядом, позвякиваете ключами и… не знаете толком куда же ехать. Внучатая племянница лучшей подруги двоюродной тети вашей мамы говорит, что лучше страны, чем Германия нет. Васек, товарищ детства, за бутылкой пива рассказал, что если куда и ехать, то в Эмираты. Там дорого-богато, а небоскребов сколько? Владимир Викторович, директор конторы, где вы в студенческие годы подрабатывали, считает, что где родился, там и пригодился, мол, страну поднимать надо. Направлений много, а жизнь одна. Давайте вместе вооружимся цифрами и попытаемся составить хотя бы отдаленно объективный список потенциальных мест дислокации на следующие N лет.

Читать дальше →
Всего голосов 106: ↑99 и ↓7 +92
Просмотры 49K
Комментарии 539

Работаем в IntelliJ IDEA на слабом железе

JavaScript *Программирование *Java *C++ *Usability *

Обнаружил секретный репозиторий на гитхабе JetBrains под названием Projector. Благодаря нему написал кусок кода в IntelliJ IDEA, запущенной на Android-планшете. Рассказываю, как это повторить.


Читать дальше →
Всего голосов 94: ↑93 и ↓1 +92
Просмотры 45K
Комментарии 147

Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования

Программирование *Учебный процесс в IT Карьера в IT-индустрии IT-компании
🔥 Технотекст 2020

Дисклеймер:


Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнего времени я не могла пройти дальше первого технического скрининга в IT-гиганты из FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные), хотя предпринимала несколько попыток. 

Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
Читать дальше →
Всего голосов 201: ↑196 и ↓5 +191
Просмотры 194K
Комментарии 343

Рабочая станция в Docker контейнере

DevOps *
Для чего? Мне постоянно приходят всякие идеи и некоторые из них сразу хочется попробовать, но рабочая станция не всегда под рукой, поэтому я настраивал IDE на всем что попадется под руку. В итоге устройства начали захламляться, а поддерживать и обновлять их стало тяжело.

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

image

В итоге, сам того не подозревая, сделал очень удобный инструмент для решения большого количества задач: записная книжка, тестовая площадка, посмотреть то что телефон не показывает, безопасная песочница, запуск скриптов для программ работающие только GUI и мн. др. А в статье хочу поделиться методом создания таких контейнеров.
Читать дальше →
Всего голосов 28: ↑25 и ↓3 +22
Просмотры 31K
Комментарии 62

10 интересных репозиториев на GitHub, полезных любому разработчику

Блог компании Plarium Программирование *GitHub *Учебный процесс в IT Лайфхаки для гиков
Перевод
Представляем вам перевод статьи Simon Holdorf, опубликованной на сайте medium.com. В ней вы найдете ссылки на полезные репозитории, с помощью которых можно прокачать навык разработки ПО.


Фото с ресурса Unsplash. Автор: Vishnu R Nair

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

Каждый из них имеет множество звезд на GitHub, что только подтверждает их популярность, актуальность и полезность. Одни репозитории научат вас чему-то новому, благодаря другим вы сможете создать какие-то классные штуки. В целом, используя их, можно основательно прокачать навык разработки программного обеспечения.
Читать дальше →
Всего голосов 88: ↑83 и ↓5 +78
Просмотры 78K
Комментарии 14

Этот восхитительный Юникод

Типографика *IT-стандарты *
Перевод


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

Юникод — это потрясающе! До его появления международная коммуникация была изнурительной: каждый определял свой отдельный расширенный набор символов в верхней половине ASCII (так называемые кодовые страницы). Это порождало конфликты. Просто подумайте, что немцам приходилось договариваться с корейцами, где чья кодовая страница. К счастью, появился Юникод и ввёл общий стандарт. Юникод 8.0 охватывает более 120 000 символов из более 129 письменностей. И современные, и древние, и до сих пор не расшифрованные. Юникод поддерживает текст слева направо и справа налево, наложение символов и включает самые разные культурные, политические, религиозные символы и эмодзи. Юникод потрясающе человечен, а его возможности сильно недооцениваются.
Читать дальше →
Всего голосов 64: ↑64 и ↓0 +64
Просмотры 67K
Комментарии 55

Информация

В рейтинге
2,014-й
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность