Search
Write a publication
Pull to refresh
0
0

User

Send message

[Карьера в IT] Практические примеры и полезные ссылки: готовимся к каждому этапу технического собеседования

Reading time5 min
Views23K

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

Читать далее

Как я хакнул свой автомобиль

Reading time10 min
Views63K
image

Машина


Прошлым летом я купил Hyundai Ioniq SEL 2021 года. Это хороший экономящий топливо гибрид с приличным набором функций: беспроводные Android Auto/Apple CarPlay, беспроводная зарядка для телефона, сиденья с подогревом и люк в крыше.

Особенно мне понравилась в этой машине система In-Vehicle Infotainment (IVI). Как я говорил ранее, у машины есть беспроводное Android Auto, что довольно редко для такого ценового диапазона. Приложение имеет красивые плавные анимации меню, поэтому я понял, что ЦП/GPU не такие уж и слабые; или, по крайней мере, ПО ест не слишком много ресурсов.

Как и со всеми остальными моими гаджетами, я решил немного поэкспериментировать и посмотреть, что можно сделать с этой системой.
Читать дальше →

Фантастические и фэнтезийные циклы, каждая часть которых удостаивалась престижных премий

Reading time5 min
Views30K

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

Читать далее

Do it yourself: как тестировать приложение без QA

Reading time5 min
Views4.8K

Это первый текст на канале, так что сначала я хочу представиться: вряд ли кто-то всерьез будет прислушиваться к анониму, даже если он весь из себя экспертный эксперт. Итак, привет, я - Женя Шаповалов, Senior Android/Flutter Developer в компании Innowise (и хэд mobile department там же). В мобильной разработке я с 2015 года, начинал с Android, а за Flutter мы принялись вместе с коллегами в Innowise - да так мощно, что в итоге в компании появилось отдельное направление разработки.

Ну что, вроде бы заслуживаю доверия? Тогда погнали!

Сегодня рассказываю, как правильно тестировать код,  и делюсь личным опытом. Да-да, ты все понял верно: при разработке мобильных приложений тестирование проводит не только QA-инженер, но и сам автор кода. Причем не только в самом конце, когда приложение почти готово, но и в процессе. Мы сегодня рассмотрим оба этапа. 

Ну-ка, что там такое?..

Проникновение в чужой ящик Gmail через скрытое расширение Chrome

Reading time3 min
Views46K


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

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

Посмотрим, как это сделано технически.
Читать дальше →

Выходя за рамки ООП. Разработка расширений для PHP на PHP

Reading time13 min
Views9.4K

Какие есть границы в PHP? Синтаксические они или это рантайм, или же просто ограничения языка, которые нельзя обойти. Почему они существуют? Давайте посмотрим как преодолеть границы живого языка и как взломать его изнутри. Это же всегда интересно?

В этом нам поможет Александр Лисаченко. Он автор аспектно-ориентированного фреймворка Go! AOP и вообще гуру в Enterprise архитектуре.

Читать далее

Вторая жизнь старого железа. Продакшн

Reading time7 min
Views65K

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

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

[Карьера в IT] Главное: что нужно знать, чтобы найти работу, пройти собеседование и выбрать оффер

Reading time6 min
Views27K

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

Читать далее

Краткое руководство по гарантированному получению льгот ИТ-компанией

Reading time7 min
Views3K

Краткое руководство по гарантированному получению льгот ИТ-компанией.

Легко получить, легко потерять.

Читать далее

10 задач с JavaScript Promise для подготовки к собеседованиям

Level of difficultyMedium
Reading time7 min
Views93K

Promise — это отличительная особенность JavaScript как асинхронного языка программирования. Нравится вам это или нет, понять его в любом случае придется. В этой статье я привожу 10 примеров кода с Promise, начиная от базового уровня заканчивая продвинутым.

Читать далее

Эскалация привилегий при помощи polkit: как заполучить root-доступ в Linux, воспользовавшись семилетним багом

Reading time14 min
Views14K

polkit – это системный сервис, по умолчанию устанавливаемый во многих дистрибутивах Linux. Он используется демоном systemd, поэтому в любом дистрибутиве Linux, где применяется system, также используется polkit. Автор этой статьи, входя в состав a GitHub Security Lab, работает над улучшением безопасности опенсорсного софта; он ищет уязвимости и докладывает о них. Именно он однажды нашел уязвимость в polkit, позволяющую злоумышленнику увеличить его привилегии. Раскрытие уязвимости было скоординировано с командой по поддержке polkit, а также с командой по обеспечению безопасности в компании Red Hat. О раскрытии этой уязвимости было объявлено публично, патч для нее был выпущен 3 июня 2021 года, и ей был присвоен код CVE-2021-3560.

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

История уязвимости CVE-2021-3560 и какие дистрибутивы она затронула

Рассматриваемый баг достаточно старый. Он вкрался в код более восьми лет назад в коммите bfa5036 и впервые мог использоваться в версии 0.113 программы polkit. Однако, во многих популярных дистрибутивах Linux эта уязвимая версия не использовалась до относительно недавнего времени.

Немного специфической историей этот баг обладает в Debian и его производных (например, в Ubuntu), так как Debian использует форк polkit, в котором есть своя особенная схема нумерации версий. В форке Debian этот баг появился в коммите f81d021 и впервые попал в дистрибутив в версии 0.105-26. В стабильном релизе Debian 10 (“buster”) используется версия 0.105-25, таким образом, уязвимости в нем нет. Но некоторые производные Debian, в том числе, Ubuntu, основаны на нестабильной версии Debian, а она уязвима.

Читать далее

Реверс-хантинг

Reading time5 min
Views63K

Случился тут конфуз. Обычно я не провожу собеседования с кандидатами в свой отдел – есть специально обученный человек. Но всяко бывает – человек приболел. И я, по старинке, попёрся сам.

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

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

Расспросил. Рассказал. Удивился.

Читать далее

Заблуждения программистов о картах

Reading time12 min
Views56K


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

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

Заблуждение 1. Форма Земли — это просто


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

Без одной faangи или как я проходил собеседования

Reading time14 min
Views33K

Привет, Хабр! Меня зовут Рустам, работаю программистом 9 лет. 7 лет работал в Контуре и около 2 лет в Яндексе. В этой статье расскажу про свой опыт подготовки и прохождения собеседований в большие технологические компании, поделюсь рекомендациями.

Пробовался в Facebook, Apple, Amazon, Microsoft, Google. Пять попыток: четыре на бэкенд программиста, одна на инженера по инфраструктуре. Два предложения по работе, два отказа, одно потенциальное предложение.

Принял предложение в Amazon. Сейчас в Лондоне.

Читать далее

Как я хакнул свой автомобиль: завершение истории

Reading time19 min
Views21K
Если вы не читали первую часть статьи, то сделайте это.

Часть 2: создаём бэкдор


Хватит ждать


28 апреля 2022 года выпустили новые версии обновлений прошивок Display Audio для автомобилей Hyundai и Kia. К счастью, в том числе и для моей машины.


Я сразу же принялся за разработку собственного обновления прошивки с бэкдором.
Читать дальше →

Тест для проверки цветового разрешения монитора или телевизора при подключении к компьютеру по цифровому видеоинтерфейсу

Reading time7 min
Views171K
«Кто нам мешает, тот нам поможет»
к/ф «Кавказская пленница»


Телевизор в качестве монитора?


В последние годы все более популярным становится использование телевизора в качестве домашнего компьютерного монитора.
И действительно — если еще несколько лет назад типичным для компьютерных мониторов Full HD разрешением (1920x1080) могли похвастаться лишь телевизоры с диагональю 40" и более, слишком большие для настольного монитора, то сейчас нетрудно найти телевизор с Full HD разрешением и с вполне «мониторной» диагональю 32" и меньше. Соответственно и размер пикселя при этом получается близким к «типовому» для настольных мониторов 0,28 мм ± 10% (ну, может быть чуть больше). А если кому-то такой пиксель покажется великоват, то с появлением доступных по цене бытовых телевизоров с разрешением 4k Ultra HD (3840x2160) размер пикселя вполне может конкурировать и с Retina.
К тому же широко распространенные в бытовых телевизорах IPS матрицы по компьютерным меркам считаются весьма «продвинутыми», и ими обычно оснащаются весьма дорогие «профессиональные» мониторы.
Казалось бы вот оно, идеальное решение для экономного домашнего пользователя — купить на грош пятаков небольшой (по телевизионным меркам) относительно недорогой 26"-37" бытовой телевизор с Full HD или Ultra HD разрешением, и в результате получить «компьютерный монитор» с большим (по компьютерным меркам) «профессиональным» IPS дисплеем, который к тому же без дополнительных вложений может быть использован и по прямому «телевизионному» назначению (что для дома тоже немаловажно!).
Однако иной раз результатом такого приобретения становится полное разочарование: компьютерная картинка на экране телевизора оказывается намного хуже, чем на простеньком старом мониторе, вместо которого этот телевизор собственно и приобретался.
Причин этого может быть множество, начиная от несоответствия разрешения соединяющего компьютер с телевизором видеоинтерфейса разрешению телевизионной матрицы, способности телевизора выводить картинку «пиксель-в-пиксель», настроек видеокарты (в частности, Overscan), настроек самого телевизора (например, резкости), проблем с кабелем, и так далее.
В данной статье мы рассмотрим только одну из возможных причин, а именно способность видеоинтерфейса, которым подключен телевизор или монитор к компьютеру, передать полное цветовое разрешение 4:4:4.

Для начала собственно тест:



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

Пособие по программированию модулей ядра Linux. Ч.1

Reading time19 min
Views49K

Перед вами последняя версия пособия по программированию модулей ядра Linux, вышедшего 2 июля 2022 года. Пособие большое, поэтому материал будет разбит на серию статей. В первой части мы разберём, что такое модули ядра, рассмотрим необходимые подготовительные этапы для их создания и в завершении по традиции напишем первый простейший модуль «Hello world», попутно разобрав вопросы лицензирования, передачу аргументов командной строки и прочие нюансы. Это пособие вы можете смело воспроизводить и изменять в соответствии с условиями Open Software License v 3.0.
Читать дальше →

Как выйти из тупняка и родить идею

Reading time7 min
Views19K

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

Читать далее

Настолько ли общество прогнило?

Reading time5 min
Views74K

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

Читать далее

Самые интересные нейросети открытого доступа

Reading time7 min
Views281K

К началу 2020-х годов нейросети успели с переднего края научных разработок проникнуть в сферу общедоступных интернет-развлечений. В наши дни каждый может поэкспериментировать с генерацией текстов или изображений, сгенерировать фотореалистичного человека или кота, превратить набросок качества paint — во вполне сносный пейзаж, и всё такое прочее. И в некоторых случаях даже без регистрации и СМС (ну или почти без оных).
Читать дальше →

Information

Rating
Does not participate
Registered
Activity