Социальные сети Рунета
Суббота, 20 апреля 2024

Собеседование для программиста — как решить задачу Google про бросание яиц со здания Марцин Москала рассказал об алгоритмическом подходе к решению любых задач на примере задачи с собеседования в Google.

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

Навык поиска работы Есть много причин, почему классные разработчики часто долго не могут найти работу, а компании — классных разработчиков. Я хочу поговорить об одной из наиболее распространённых. Эта причина — абсолютно неправильный, деструктивный подход к проведению технических собеседований...

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

Как вырастить из студента инженера-программиста? Привет! Меня зовут Денис Довженко, и я уже несколько лет провожу технические собеседования с кандидатами на позиции инженера-программиста C/C++. Если с кандидатами на позиции Senior SW Engineer и выше основной разговор ведётся об опыте работы, то отбор будущих интернов и джу...

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

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

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

[Перевод] 23 непростых вопроса для JavaScript-собеседования Хотите подготовиться к собеседованию по JavaScript и ищете вопросы, на которых можно попрактиковаться? Если так — считайте, что ваши поиски окончены. Автор материала, перевод которого мы сегодня публикуем, говорит, что собрал более двух десятков вопросов по JavaScript, предн...

Сценарий идеального технического собеседования Дисклеймер: это сценарий идеального технического собеседования в Delivery Club Tech. Мнение нашей команды может не совпадать с мнением читателей. Привет, Хабр! Меня зовут Василий Козлов, я iOS-техлид в Delivery Club. Я часто и много провожу собеседования. В этой статье я с...

IT — это средний класс с натяжкой. И как НЕ надо проводить собеседование с программистом Много лет опыта в разработке (или любом другом айти направлении). Десятки пройденных очных собеседований. Работа в крупных IT компаниях с высочайшей культурой кода. Навыки, которым позавидовал бы любой разработчик из силиконовой долины: НИЧЕГО из этого не даст вам шанса прой...

Как подготовиться к собеседованию на позицию системного аналитика. ТОП-5 тем Представьте, что вам предстоит собеседование на позицию системного аналитика (СА). Что нужно знать для успешного прохождения интервью и какие вопросы могут задать? Эта статья может стать roadmap при подготовке к собеседованию. Читать далее

Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования Дисклеймер: Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнег...

Как устроиться в IT-компанию Привет! Меня зовут Тим Чаптыков, я работаю в VK — руковожу командой разработки раздела сообщений на вебе. Мы отвечаем за мессенджер на vk.com, в мобильной версии сайта и в VK Messenger (приложение для компьютера). Последние&n...

[Перевод] Вопросы для собеседования по хукам React В данной статье приведены примеры вопросов и задач по React Hooks для собеседования Читать далее

[Перевод] 70 вопросов по JavaScript для подготовки к собеседованию Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Mark A «70 JavaScript Interview Questions». Надеюсь, эта статья будет полезна как начинающим разработчикам, так и бывалым (я хотел сказать, опытным). Первым для изучения, вторым для повторения. Лич...

5 способов провалить внедрение DDD Спустя годы после выхода "Domain-Driven Design", идеи Эванса вошли мейнстрим. Разработка через моделирование должна была уменьшить неопределенность, позволить разрабатывать ПО за меньшее число итераций. Должна была, но ничего не вышло. На собеседованиях и митапах я...

Гугл-программисты. Как идиот набрал на работу идиотов В стародавние времена я, на постоянной основе, занимался техническими собеседованиями – отбирал кандидатов на должность программиста в компанию. У меня была простая, понятная, шикарная методика (не мной придуманная). Чувак сначала проходил длинное собеседование по куче разно...

Собеседование php-developer в 2020 Так уж получилось, что в этом году я прошел ряд собеседований на позицию PHP разработчика, чего я не делал уже несколько лет. Будучи человеком ленивым практичным, перед собеседованием я попытался найти сборники вопросов-ответов, но все найденное было довольно старым, поэтому...

[Перевод] Собеседования по алгоритмам: теория vs. практика tl;dr За последние десятилетия мода на собеседования программистов менялась несколько раз, и каждая из них выглядит нелепо в ретроспективе. Либо мы наконец-то нашли настоящий секрет эффективных собеседований, либо увлеклись очередным модным течением, которое через десять-два...

Попытайтесь выбраться из ловушки сингулярного ИИ Решите задачу — и приходите на собеседование в PwC в России.

Использование токенов (шорткодов) для строк в Laravel Введение При разработки веб-сайтов и приложений, довольно часто возникает необходимость динамического формирование строк контента. Решается это по разному, кто то использует str_replace(), кто то делает поиск и замену с помощью регулярок, а кто то использует другие способы. ...

[Перевод] 41 вопрос о работе со строками в Python Я начал вести список наиболее часто используемых функций, решая алгоритмические задачи на LeetCode и HackerRank. Быть хорошим программистом — это не значит помнить все встроенные функции некоего языка. Но это не означает и того, что их запоминание — бесполезное дело. Особен...

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

Собеседование в Додо Пиццу Прочитав название статьи, вы можете задаться вопросом: «На черта мне нужно знать о собеседовании в Додо Пиццу?». И будете правы. Она не для всех. У нас действительно не IT-корпорация вроде Гугла, Амазона или Майкрософта, но сложный и интересный бизнес, зародившийся на стыке ...

Теории вероятностей: готовимся к собеседованию и разрешаем «парадоксы» Каждый год я участвую примерно в сотне собеседований в образовательных проектах JetBrains: собеседую абитуриентов в Computer Science Center и корпоративную магистратуру ИТМО (кстати, набор на программу идёт прямо сейчас). Все собеседования устроены по одному шаблону: мы про...

[Перевод] 5 вопросов по SQL, которые часто задают дата-сайентистам на собеседованиях Хотя составление SQL-запросов — это не самое интересное в работе дата-сайентистов, хорошее понимание SQL чрезвычайно важно для того, кто хочет преуспеть в любом занятии, связанном с обработкой данных. Дело тут в том, что SQL — это не только SELECT, FROM и WHERE. Чем больше S...

[Перевод] Лучшие вопросы средней сложности по SQL на собеседовании аналитика данных Первые 70% курса по SQL кажутся довольно простыми. Сложности начинаются на остальных 30%. С 2015 по 2019 годы я прошёл четыре цикла собеседований на должность аналитика данных и специалиста по анализу данных в более чем десятке компаний. После очередного неудачного интервью...

Собеседования: ожидания vs реальность Все мы имеем опыт прохождения собеседований. Все когда-то сидели в комнате с зевающим эйчаром, пытающимся разобраться, о чём поговорить, когда ваши планы на ближайшие 5 лет и все 7 сильных черт вашего характера ей уже известны. Некоторые успели побывать и по другую сторону...

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

Собеседование наоборот: вопросы соискателя к компании Всем привет! Хочу очередной раз поднять тему про найм. Только я собираюсь поговорить об этом с точки зрения кандидата, а не работодателя. Ведь собеседование, вопреки многим стереотипам, процесс двусторонний — вопросы может задавать не только интервьюер, но и сам соискатель. ...

[Перевод] Python, pandas и решение трёх задач из мира Excel Excel — это чрезвычайно распространённый инструмент для анализа данных. С ним легко научиться работать, есть он практически на каждом компьютере, а тот, кто его освоил, может с его помощью решать довольно сложные задачи. Python часто считают инструментом, возможности которог...

Как устроиться в LinkedIn, Facebook, Google в Кремниевой Долине Зачем это читать? В предыдущей статье я рассказал про реальные доходы и расходы, на которые может рассчитывать инженер, работающий в одной из Big Tech компаний. Если вдруг это вас заинтересовало, здесь будут подробности про то, как туда устроиться. Я работаю в LinkedIn, кото...

[Перевод] Реализация шаблона «Состояние» в Unity В процессе программирования внутриигровых сущностей возникают ситуации, когда они должны действовать в различных условиях по-разному, что наводит на мысль об использовании состояний. Но если вы решите применить способ грубого перебора, то код быстро превратится в запутанны...

Анонс. Как научиться проходить собеседование в Google Завтра, в 20:00 на нашем ютуб-канале выступает Ава Катушка, ментор в Verbetcetera. Verbetcetera — буткамп для тех, кто хочет подготовиться к интервью в Большой пятерке — Google, Amazon, Facebook, Apple и Microsoft. Менторы Verbetcetera распределены по 5 странам, уже работа...

Как проходит собеседование Junior фронтенд-разработчика Меня зовут Максим Чеченёв, я фронтенд-разработчик уже почти девять лет. Работаю в компании MessageBird в Амстердаме и наставником на курсе «Веб-разработчик» в Яндекс.Практикуме. Ещё я веду канал в телеграме «Сеньор Разработчик». Прежде чем стать сеньором и начать собеседова...

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

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

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

Собеседование здорового человека Эта статья написана как ответ на статью «Собеседование в Додо Пиццу» со стороны разработчика с опытом синьора. Я не претендую на истинность суждений, мне хотелось бы выразить довольно популярное среди моих знакомых мнение о процессе найма в частности и жизни разработчика в ц...

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

[Перевод] Из чего сделан JavaScript? В течение первых нескольких лет использования JavaScript я чувствовал себя чуть ли не самозванцем. Даже хотя я и мог создавать веб-сайты с помощью фреймворков, я ощущал, что мне чего-то не хватает. Собеседования по JavaScript внушали мне страх из-за того, что у меня не было ...

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

Как пройти собеседование в FAANG: статистика Нас нередко спрашивают (в статьях о Facebook, Spotify, софт скиллах), как понять, что ты можешь успешно пройти собеседование в Facebook/Amazon/Apple/Netflix/Google. Сейчас это особенно актуально, потому что многие IT-гиганты в США начинают нанимать на удалёнку. Так какие фак...

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

Создание дополнительного kube-scheduler’a с кастомным набором правил планирования Kube-scheduler является неотъемлемым компонентом Kubernetes, который отвечает за планирование подов по нодам в соответствии с заданными политиками. Зачастую, в процессе эксплуатации Kubernetes-кластера нам не приходится задумываться о том, по каким именно политикам происход...

[Перевод] Структуры данных и алгоритмы, которыми я пользовался, работая в технологических компаниях Пользуетесь ли вы структурами данных и алгоритмами в повседневной работе? Я обратил внимание на то, что всё больше и больше людей считает алгоритмы чем-то таким, чем, без особой связи с реальностью, технические компании, лишь по собственной прихоти, интересуются на собеседов...

Что делать, если поймал HardFault? Что делать, если поймал HardFault? Как понять, каким событием он был вызван? Как определить строчку кода, которая привела к этому? Давайте разбираться. Всем привет! Сложно найти программиста микроконтроллеров, который ни разу не сталкивался с тяжелым отказом. Очень часто он...

Как мы формируем консолидированную отчетность 25 компаний, 9 стран, 6 функциональных валют… Систему и процедуры подготовки отчетности легко можно было сделать сложными и дорогими. Но мы нашли простое с технической точки зрения решение, которое очень нравится нашим пользователям, а особенно специалистам по подготовке ко...

[Из песочницы] Каверзы при собеседовании на project manager'а или прогулка по минному полю чудес Безумие есть неспособность видеть швы, соединяющие бред и явь. Стивен Э. Кинг Проходя в конце года собеседования на должность проджект менеджера, я повстречал много вопросов, которые могут показаться последним бредом и от лица hr’ов, и от лица квалифицированных специалисто...

Как проходит собеседование Python-разработчика: вопросы для джуниоров и мидлов Собеседование — одна из наиболее стрессовых тем для разработчиков, но только первые двадцать раз :) Привет! Меня зовут Руслан, я один из наставников курса «Мидл Python-разработчик» в Яндекс.Практикуме. Около 12 лет я занимаюсь разработкой, из них девять — на Python. За это ...

Сортировка выбором Всем привет. Эту статью я написал специально к запуску курса «Алгоритмы и структуры данных» от OTUS. Введение Сортировка массива является одной из первых серьезных задач, изучаемых в классическом курсе «Алгоритмы и структуры данных» дисциплины computer science. В связи с э...

Погружение в Charles Proxy Привет, Хабр! Меня зовут Настя, я работаю в команде тестирования мобильных приложений компании FunСorp. При приёмке задач мы уделяем большое внимание проверке клиент-серверного взаимодействия. Опыт проведения собеседований показывает, что новички в тестировании мобильных п...

Полевые исследования концепции «Documentation as code» Всем привет! Меня зовут Денис Олейник, я работаю техническим директором в 1Service. В нашей компании мы достаточно много времени уделяем работе с требованиями. По мере обретения опыта мы стали осознавать, что инструменты, обычно используемые при разработке программных проду...

Собеседуем кандидата на должность Senior Software Developer Я провел не одну сотню собеседований как с одной стороны, так и с другой. В этой статье я хотел бы поделиться своими опытом, наблюдениями и интересными моментами. Возможно, кого-то это убережет от ошибок, неверных выводов и потерянного времени. Читать дальше →

[Из песочницы] Техническая документация в разработке ПО: кто, зачем, когда и как описывает проект Привет! Меня зовут Даша Григорьева, я технический писатель в компании 65apps. Мы занимаемся разработкой сложных мобильных решений, и моя задача — подготовка технической документации по проектам. Очень часто роль технического писателя бывает недооцененной в компании (не у ...

[Из песочницы] Базовые команды Linux для тестировщиков и не только Предисловие Всем привет! Меня зовут Саша, и я больше шести лет занимаюсь тестированием бэкенда (сервисы Linux и API). Мысль о статье у меня появилась после очередной просьбы знакомого тестировщика подсказать ему, что можно почитать по командам Linux перед собеседованием. Обы...

Собеседования в разработку: друзей выбирают Первую сотню собеседований к себе в команду (а потом и в отдел разработки) я провёл лет семь назад. Поначалу этого процесса сам боялся, готовился. Затем всё превратилось не то чтобы в рутину (чего никогда не будет), но общая канва сложилась. Во многом она пересекается с тем...

ВКонтакте и Worki запустили платформу собеседований Работодатели и соискатели теперь могут проводить собеседования прямо ВКонтакте — в мини-приложении Worki, созданном на платформе VK Mini Apps. Общение пройдет в личных сообщениях — при этом наниматели не увидят страницу кандидата в VK. Новая функция поможет пользователям быс...

Электронная амеба и задача коммивояжера Какой самый ценный ресурс на планете? Нефть, вода или может чистый воздух? Самый ценный ресурс, по мнению многих, это время. Его всегда не хватает, люди постоянно куда-то спешат, а любая деятельность так или иначе связана с временем: сколько баррелей нефти добывает одна не...

[Из песочницы] Что такое I в ACID или взгляд с другой стороны Прочитав этот пост, написанный farwayer, сначала хотел просто оставить комментарий, но, подумав пару десятков минут, решил, что тема глубокая, и мне есть что сказать на целый пост. Все таки, с одной стороны, я один из тех, кто на собеседованиях не смотрит на код и кого разоч...

Что тимлиду спросить о компании на собеседовании По мотивам своих собеседований, а также собеседований коллег и mentee, составил список вопросов от тимлида к компании, что стоит прояснить на собеседовании — что спросить собеседующего.Вопросы подойдут, возможно, не только тимлиду, но были придуманы для него.Каковы финансовы...

О собеседовании в Amazon: какие вопросы будут задавать на интервью и что нужно знать заранее Успешно пройти собеседование в Amazon очень сложно. Работать, правда, ещё сложнее, но об этом в другой раз. За год работы в Amazon я провёл больше 120 собеседований.

Нетехническая статья про технические статьи Мне часто говорят – эй, где технические статьи? Чё ты всякую чушь пишешь, про менеджеров, директоров, отношения с персоналом, корпоративные дрязги, ноешь про бессмысленность нашей работы и вообще. Мы хотим технические статьи! Я, если честно, плохо понимаю, что такое «технич...

Библиотека ttf2mesh — преобразование TrueType шрифтов в сетку Многим известна проблема трёхмерной графики — отсутствие легковесных кроссплатформенных решений в вопросе вывода текста. Большинство реализаций позволяет использовать выбранный шрифт в виде текстуры. Публикуемая библиотека ttf2mesh реализует другой способ — она преобразует в...

[Перевод] Индексируем миллиарды текстовых векторов При извлечении информации часто возникает задача поиска подобных фрагментов текста. В контексте поиска запрос может быть сгенерирован пользователем (например, текст, который пользователь вводит в поисковом движке) или самой системой. Часто нам нужно сопоставлять входящий за...

Angular: еще один способ отписываться Подписок в коде компонента следует избегать, перекладывая эту задачу на AsyncPipe, однако не всегда это возможно. Есть разные способы завершать подписки, но все они сводятся к двум — ручная отписка или использование takeUntil. Со временем я все чаще стал использовать свой де...

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

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

Как приручить Charles Proxy? Привет! Многие из тех, кто приходит к нам на собеседование на должность тестировщика, с гордостью заверяют, что они могут пользоваться Charles Proxy. Но когда погружаешься в техническую часть, то становится очевидно, что кандидат только слышал об этом инструменте. Давайте уж...

[Из песочницы] Оптимальный путь новичка в мире C++/Qt Часто задаваемый начинающими программистами вопрос – какие материалы читать для повышения своего профессионального уровня? В таком, наиболее общем виде, ответить на данный вопрос невозможно. Это зависит от текущих знаний и умений человека, от его специализации, от задач, кот...

Канадская организация проведет в Киеве собеседования и пригласит IT-специалистов в Канаду Канадская организация “YES! Winnipeg” анонсировала конкурс на открытые позиции в IT-компаниях.  Посмотреть вакансии и оставить заявку желающие могут на сайте edwtalentmission.com. Кандидатам советуют быстрее заполнять анкеты, чтобы получить желаемую должность. Тех, кто прой...

Книга «Python: Искусственный интеллект, большие данные и облачные вычисления» Привет, Хаброжители! Пол и Харви Дейтелы предлагают по-новому взглянуть на Python и использовать уникальный подход, чтобы быстро решить проблемы, стоящие перед современными айтишниками. В вашем распоряжении более пятисот реальных задач — от фрагментов до 40 больших сценар...

Django Rest Framework для начинающих: создаём API для чтения данных (часть 1) Меня зовут Стас Гаранжа, я выпускник курса «Python-разработчик» в Яндекс.Практикуме. Я хочу помочь начинающим разработчикам, которые приступили к изучению Django Rest Framework (DRF) и хотят разобраться, как устроен этот фреймворк. Я готовлю цикл статей, в которых расскажу о...

Функция-конвертер для отправки сообщений на русском языке в Телеграмм из Микротик РоутерОС Мессенджер Телеграмм крайне удобен для уведомления о работе IT-оборудования, чем активно пользуются СисАдмины. Популярные WhatsApp и Viber поддерживают API но в них нет встроенной технологии создания своих ботов. РоутерОС известной компании Микротик не позволяет штатными с...

11 друзей Sanic’а – собираем асинхронное веб-приложение на Python Рано или поздно маленькие приложения разрастаются до нагруженных production-решений, поэтому программисту необходимо заранее продумать стек технологий. Для Python концептуальный выбор стоит между синхронными и асинхронными фреймворками. После появления библиотеки asyncio поп...

[Из песочницы] «Подготовка к собеседованию QA» starter pack или самая большая шпаргалка вопросов-ответов по тестированию 163 страницы смеси ответов на вопросы с реальных собеседований, перевода интересного контента с зарубежных ресурсов и агрегации материала с отечественных. Читать дальше →

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

[Из песочницы] Почему не стоит начинать карьеру в маленькой не-IT компании Привет! Последние 2 месяца я отработал в небольшой компании. Это был мой первый опыт работы программистом в компании, и я хочу поделиться проблемами, с которыми столкнулся, и выводами из них. Надеюсь, этот пост сбережёт начинающим специалистам время и нервы. Читать дальше...

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

[Перевод] Хватит импортировать JavaScript-пакеты целиком Часто ли вам доводилось импортировать в проект целый JavaScript-пакет, когда нужно было воспользоваться лишь очень немногими возможностями этого пакета? Вероятно, вы сможете вспомнить много таких случаев. Ярким примером пакета, который импортируют целиком, нуждаясь лишь в н...

[Перевод] Создаём 2,5D-игру жанра Dungeon Crawling в Unity В этой статье мы расскажем, как можно воссоздать старые игры жанра dungeon crawler в Unity. Eye of the Beholder (1991 год) и SMT If (1994 год) Базовый ассет «карты» для уровня нашего подземелья. Большинство dungeon crawler-ов 90-х, в том числе и наш — это листы спрайт...

Как делать карьеру программисту, не решая задачи бизнеса Статья Программист не должен решать задачи бизнеса вызвала неслабое обсуждение (и даже ответ с прямо противоположным утверждением). И, забавно, что все свелось к догматическим рассуждениям из разряда «программист должен», или «бизнес должен». Как будто, речь идет о системе, ...

[Из песочницы] Telegram-бот для управления инфраструктурой По мотивам статьи Телеграмм-бот для системного администратора (статья не моя, я только прочитал) захотел поделиться опытом создания Telegram-бота на PowerShell для управления серверами приложений. Будет текст, код и немножко картинок. Конструктивная критика приветствуется...

Собеседование на позицию Data Scientist: 20 типичных вопросов Проверка знаний на собеседованиях — обычная практика. И мы сейчас не о глупых «Где вы видите себя через 5 лет?», а о нормальных вопросах по специальности. В этой статье мы собрали топ-20 вопросов, которые задают дата-сайентистам, чтобы проверить их уровень знаний. Все это ре...

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

Лучшие материалы о собеседованиях и поиске работы Команда Хабр Карьеры собрала 11 лучших материалов о поиске работы и неизбежных в этом случае собеседованиях. Чего ожидать и как к этому приготовиться, в своих статьях с одной стороны рассказывают бывалые люди, поработавшие в куче компаний, а с другой стороны — опытные рекр...

Цифровая логистика: решение транспортной задачи спроса и предложения с помощью библиотеки DOcplex от IBM Всем привет, меня зовут Дмитрий Кузин (Application Development Senior Analyst в Accenture), и в своей статье я делюсь историей о том, как запрос на решение задачи в корпоративной рассылке привел к освоению Python библиотеки DOcplex от IBM, предназначенной для решения оптими...

Пишем шеллкод под Windows на ассемблере В этой статье я хочу показать и подробно объяснить пример создания шеллкода на ассемблере в ОС Windows 7 x86. Не смотря на солидный возраст данной темы, она остаётся актуальной и по сей день: это стартовая точка в написании своих шеллкодов, эксплуатации переполнений буферо...

[Перевод] 5 JavaScript-библиотек для работы со строками Работа со строками может оказаться непростым делом из-за того, что она подразумевает решение множества разноплановых задач. Например, для простого приведения строки к «верблюжьему» стилю понадобится несколько строк кода: function camelize(str) {   return str.replace(/(?:^\w...

Курс тестировщика пройден. А дальше что? Привет! На курсе «Инженер по тестированию» в Практикуме мы хотим не только обучить человека нужным навыкам, но и помочь выпускнику состояться в профессии. Поэтому у нас есть отдельное направление трудоустройства. Мы рассказываем, почему важно выбрать подходящую вакансию и ко...

[Из песочницы] HTTP Error 503. Service Unavailable: случай в поддержке хостинга Работа в поддержке хостинга в основном однотипная, большинство запросов от клиентов решаются по проработанной схеме, но иногда всё же приходится сталкиваться с нетривиальными проблемами. Тогда главная задача инженера — найти тот самый — единственно верный путь, который приве...

Работа не волк, часть 5. Увольнение: я ухожу красиво? В тот день мой кошелёк остался в офисе, о чём удалось узнать только на трамвайной остановке. Было грустно: уволился коллега, с которым мы работали 4 года бок о бок, мы только проводили его. Надо было возвращаться. Кроме кошелька, в кабинете был тот самый коллега: большой во ...

Основы deep learning на примере дебага автоэнкодера, часть №1 Если почитать обучение по автоэнкодерам на сайте keras.io, то один из первых посылов там звучит примерно так: на практике автоэнкодеры почти никогда не используются, но про них часто рассказывают в обучалках и народу заходит, поэтому мы решили написать свою обучалку про них:...

Celery + asyncio Привет, Хабр! Я хочу рассказать, как я решал проблему эффективного конкурентного исполнения asyncio задач в Celery. Читать дальше →

Борьба за производительность по-настоящему больших форм на React На одном из проектов мы столкнулись с формами из нескольких десятков блоков, которые зависят друг от друга. Как обычно, мы не можем рассказать о задаче в деталях из-за NDA, но попробуем описать свой опыт “укрощения” производительности этих форм на абстрактном (даже немного н...

[Перевод] Пиксель-арт для начинающих: исправляем типичные ошибки Ранее я переводил статью про пиксель-арт для начинающих художников. Вдогонку к ней рассмотрим типичные ошибки новичков и способы их решения — на примере с описанием базовых техник и подходов. В конце материала подборка крутого игрового пиксель-арта для вдохновения. Читать ...

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

Реверс USB-SATA-адаптера (история одного стажера) Предыстория Стажировка – это процесс получения знаний и опыта. Наша команда Raccoon Security считает, что повышение уровня информационной безопасности окружающих нас устройств и ПО невозможно без передачи этих знаний и опыта будущим поколениям специалистов. Именно поэтому мы...

Расширяем Laravel за счет собственных компонентов Задача Добавить в приложение систему оповещения пользователей через СМС-сообщения с возможностью выбора провайдера. Решение Оптимальным решением, на мой взгляд, является добавление собственного компонента. Компонент — блок программы с четко определенным набором действий (ко...

Описание основ криптопреобразования AES Доброго времени суток, Хабр! Примерно 3 месяца назад проходил собеседование frontend разработчиком и самый первый вопрос, который мне задали: “Что такое AES?” Ну как бы аморфное представление я все же имел о симметрично блочном шифровании AES, было дело даже использовал в од...

Где порешать аналитические задачи от команд Яндекса? Контест и разбор Сегодня начинается пробный раунд чемпионата по программированию Yandex Cup. Это означает, что можно с помощью системы Яндекс.Контест решать задачи, подобные тем, которые будут в квалификационном раунде. Пока результат ни на что влияет. В посте вы найдёте условия задач трек...

[Из песочницы] Сети для начинающего IT-специалиста. Обязательная база Примерно 80% из нас, кто заканчивает университет с какой-либо IT-специальностью, в итоге не становится программистом. Многие устраиваются в техническую поддержку, системными администраторами, мастерами по наладке компьютерных устройств, консультантами-продавцами цифровой тех...

Network automation. Случай из жизни Привет, Хабр! В данной статье мы бы хотели поговорить про автоматизацию сетевой инфраструктуры. Будет представлена рабочая схема сети, которая функционирует в одной маленькой, но очень гордой компании. Все совпадения с реальным сетевым оборудованием являются случайными. Мы ...

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

Работа не волк, часть 4. Опытный сотрудник: как не перегореть и не сдаться Итак, первый год работы прошёл, и вы стали дедом матёрым волком, который растёт вместе с компанией, сечёт в бизнес-процессах и довольно борзо спорит с руководством. Кажется, что может случиться? Но чем больше срок работы на одном месте, тем больше моральных и профессиональны...

Утилиты nanoCAD СПДС. Экспорт в файл, работа с графикой СПДС При подготовке задания на проектирование для смежных групп в проектной организации помимо словесной формулировки часто требуется приложить графическое изображение. Прикладывать файл с полным комплектом чертежей во многих случаях нецелесообразно. Разумно будет передать небол...

[Перевод] 3 способа рендеринга больших списков в Angular В 2020 году фронтенд-фреймворки стали лучше, эффективнее и быстрее. Но, даже учитывая это, рендеринг больших списков без «замораживания» браузера всё ещё может оказаться сложной задачей даже для самых быстрых из существующих фреймворков. Это — один из тех случаев, когда «фр...

Архитектурный шаблон MVI в Kotlin Multiplatform, часть 2 Это вторая из трёх статей о применении архитектурного шаблона MVI в Kotlin Multiplatform. В первой статье мы вспомнили, что такое MVI, и применили его для написания общего для iOS и Android кода. Мы ввели простые абстракции, такие как Store и View, а также некоторые вспомо...

Бизнес-процессы на прокачку: как Process Intelligence помогает компаниям определить, что, где и когда автоматизировать Как вы, возможно, слышали, в прошлом году ABBYY приобрела компанию TimelinePI – разработчика платформ Process Intelligence. Теперь, помимо интеллектуальной обработки информации, продукты ABBYY помогают компаниям решать новый класс задач – анализировать бизнес-процессы, пони...

С Днём Программиста Всем привет! Сегодня 256-й день в году, а это значит, что мы снова празднуем День Программиста! Когда я слышу поздравления с каким-нибудь профессиональным «днём», у меня возникает ощущение какой-то ламповости, которую мы утратили в современном мире. Именно эту аnмосферу я ...

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

Домашний кластер на Dask Я недавно проводил исследование, в рамках которого было необходимо обработать несколько сотен тысяч наборов входных данных. Для каждого набора — провести некоторые расчеты, результаты всех расчетов собрать вместе и выбрать "лучший" по некоторым критериям. По сути ...

Как обучить нейронную сеть DeepPavlov на ноутбуке с использованием GPU В этой статье я хочу поделиться своим опытом использования данной open-source библиотеки на примере реализации одной задачи с парсингом файлов PDF/DOC/DOCX содержащих резюме специалистов. Здесь я также опишу этапы реализации инструмента для подготовки датасета. После чего м...

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

Лемматизируй это быстрее (PyMorphy2, PyMystem3 и немного магии) Я работаю программистом, и в том числе занимаюсь машинным обучением применительно к анализу текстов. При обработке естественного языка требуется предварительная подготовка документов, и одним из способов является лемматизация – приведение всех слов текста к их нормальным фор...

[Перевод] Скрытая цена CSS-in-JS-библиотек в React-приложениях В современных фронтенд-приложениях технология CSS-in-JS пользуется определённой популярностью. Всё дело в том, что она даёт разработчикам механизм работы со стилями, который удобнее обычного CSS. Не поймите меня неправильно. Мне очень нравится CSS, но создание хорошей CSS-ар...

Возможности Vue, о которых не следует забывать Мы в команде Ptah мы решили пойти чуть дальше привычных SPA и попробовали использовать Vue для конструктора лендингов. И теперь хотим поделиться частью нашего опыта. Эта статья, прежде всего, для тех, кто только начал работать с Vue и хочет узнать лучше его особенности и во...

[Из песочницы] Фасетные фильтры: как готовить и с чем подавать О чем речь  Как сделать фасетный поиск в интернет-магазине? Как формируются значения в фильтрах фасетного поиска? Как выбор значения в фильтре влияет на значения в соседних фильтрах? В поиске ответов дошел до пятой страницы поисковой выдачи Google. Исчерпывающей информации н...

Web Storage API: примеры использования Доброго времени суток, друзья! В данной статье мы рассмотрим парочку примеров использования Web Storage API или объекта «Storage». Что конкретно мы будем делать? Научимся запоминать время воспроизведения видео. Поработаем с формой входа на страницу. Напишем логику спис...

Продвинутая система авторизации действий с ресурсами в Laravel. Часть 3. Чтение/запись атрибутов, собственные модели Введение Здравствуйте, дорогие Хабровчане. Сегодня я представляю вашему вниманию заключающую часть цикла статей о продвинутой авторизации действий с ресурсами в Laravel. Чтобы лучше понимать о чем пойдет речь в этой статье — необходимо прочесть первую и вторую части. На э...

[Из песочницы] SwiftUI по полочкам Каждый раз, когда в языке программирования появляется новый Фреймворк, рано или поздно, появляются люди, которые изучают язык именно с него. Вероятно так было и в IOS разработке во времена появления Swift: поначалу он рассматривался как дополнение к Objective-C — но я этого ...

Как я переехал в Лондон c Revolut Неделю назад в наших соцсетях выступал Дмитрий Михайлович. Дмитрий — продуктовый разработчик, он решает продуктовые задачи в Revolut, являясь при этом Senior Backend разработчиком. Полтора года назад он переехал в лондонский офис и поделился с нами историей, как это происход...

Внутри браузера Opera GX появилась офлайн игра Operius В браузере Opera GX появилась аркадная офлайн игра Operius, которая способна скрасить время ожидания появления стабильного интернета. Она будет автоматически появляться в браузере при каждом сбое подключения. Те, кто хочет сыграть в Operius при стабильном интернете, могут пр...

Алгоритм планирования задач на TypeScript. Теория графов наконец-то пригодилась В этой статье я хочу рассказать об алгоритме, который помогает ответить на извечный вопрос всех проектов: Когда проект будет закончен?Более формально проблема звучит так: "Проект состоит из задач, которые могут зависеть друг друга, а также могут иметь один и тех же испо...

Security Week 18: текстовая бомба для iOS Если из разных видов уязвимостей собрать воображаемый сборник лучших хитов, то различного рода ошибки обработки ввода займут там лучшие места. Одним из древнейших способов вывода программы или всей системы из строя является zip-бомба — архив небольшого размера, который разво...

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

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

Статическая подписка с использованием шаблона Наблюдатель на примере С++ и микроконтроллера Cortext M4 Всем доброго здравия! В преддверии Нового года хочу продолжить рассказывать про использование С++ на микроконтроллерах, на этот раз попытаюсь рассказать про использование шаблона Наблюдатель (но далее я буду называть его Издатель-Подписчик или просто Подписчик, такой вот ка...

[Из песочницы] Производственный календарь своими руками в Postgresql Здравствуйте, меня зовут Виктор и я разработчик в компании Gems Development. Я хочу рассказать, как мы реализовывали создание и заполнение производственного календаря в Postgresql. Рабочий процесс зависит от официальных государственных и международных праздников. В корпора...

Что такое I в ACID или вы нам не подходите Это пост удивления. Я сходил на собеседования в 3 минских стартапа и в одну небольшую компанию, и вот, что из этого вышло. Читать дальше →

[Перевод] Математики достигли прорыва в изучении «опасной» задачи Математики считают гипотезу Коллатца «болотом», и предупреждают друг друга, что от неё стоит оставаться подальше. Однако теперь Теренс Тао достиг большего прогресса, чем кто бы то ни было за несколько десятилетий. Возьмите любое число. Если оно чётное, поделите его на два. ...

«Инфраструктура как код» в автоматизации сервисов CI/CD Привет! Меня зовут Игорь Николаев, я пью за любовь работаю в отделе автоматизации процессов разработки Мир Plat.Form в НСПК. В этой статье я поделюсь тем, как наш отдел решал задачу по автоматизации предоставления различных ресурсов для команд разработки. Эта задача свойстве...

[Из песочницы] Помощник в проведении технического интервью и совместный кодинг Сколько мне довелось пройти технических собеседований на фронтенд разработчика, столько разных способов и инструментов на них использовали интервьюеры. Чат в одном месте, созвон в другом, кодинг в третьем. «Ой, что-то не работает этот сервис, а расшарь-ка экран. Ой, код р...

Древности: цифровая кассета как аудиофильский формат В этом посте я хочу рассказать о том, как починил магнитофон. Нет, не так. Это рассказ о пути коллекционера старого компьютерного и аудиожелеза, который сам себе создает проблемы и мужественно их преодолевает. Да, но не совсем. Это моя вторая статья про формат Digital Compac...

Детская сказка программисту на ночь Есть интересная тема, на первый взгляд мало относящаяся к алгоритмам. Она "сказочная" с одной стороны, а со стороны другой в ней есть созвучие с насущными проблемами начинающего свой профессиональный путь программиста. Давайте попробуем разобраться и немного развл...

[Из песочницы] Особенности установления соединения между участниками сетевой игры типа «равный к равному» Это сборник информации, которая мне понадобилась, чтобы реализовать этап установления соединения между участниками сетевой игры типа «равный к равному» (peer-to-peer) с использованием протокола UDP. Статья расчитана на начинающих разработчиков игр. Попытался написать такую ...

[Перевод] Инверсная кинематика в 3D В этом туториале я расскажу о том, как освоить инверсную кинематику в 3D: методику, позволяющую решить задачу перемещения манипулятора робота к определённой цели. Об инверсной кинематике в 2D можно прочитать здесь: Инверсная кинематика в двухмерном пространстве Ссылка н...

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

[Перевод] Скрам умер. Да здравствует канбан Я пользовался методом управления проектами Scrum (скрам) с самого начала карьеры. Я изучал скрам в колледже. Тогда он считался лучшим методом управления разработкой программного обеспечения. Когда я начал работать, мне нравилось всё, что имеет отношение к скраму: ежедневные ...

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

[Из песочницы] Ешь рис, молись Амитофо, люби котиков Статистические данные, о том, как живут-поживают китайские программисты Привет-привет, друзья. Сегодня Россия активно сотрудничает с Китаем в области IT- искусственного интеллекта, больших данных, и в планах даже создание «Российско-китайской цифровой долины». Эта статья...

[Перевод] Разбираемся в моделях кода архитектуры x64 «Какой моделью кода мне воспользоваться?» — часто возникающий, но нечасто разбираемый вопрос при написании кода для архитектуры х64. Тем не менее, это довольно интересная проблема, и для понимания генерируемого компиляторами машинного кода х64 полезно иметь представление о м...

SVM. Объяснение с нуля, имплементация и подробный разбор Привет всем, кто выбрал путь ML-самурая! Введение: В данной статье рассмотрим метод опорных векторов (англ. SVM, Support Vector Machine) для задачи классификации. Будет представлена основная идея алгоритма, вывод настройки его весов и разобрана простая реализация своими рука...

[Перевод] Моя шпаргалка по pandas Один преподаватель как-то сказал мне, что если поискать аналог программиста в мире книг, то окажется, что программисты похожи не на учебники, а на оглавления учебников: они не помнят всего, но знают, как быстро найти то, что им нужно. Возможность быстро находить описания фу...

RealWorld: aiohttp, Tortoise ORM RealWorld: aiohttp, Tortoise ORM На Real World отсутствует пример для aiohttp, и я решил его сделать. Опытным разработчикам, похоже, некогда этим заниматься, а начинающим в aiohttp непонятно как делать правильно. Я начал его делать с помощью Tortoise ORM. Пока начал делать а...

[Перевод] EOF — это не символ Недавно я читал книгу «Компьютерные системы: архитектура и программирование. Взгляд программиста». Там, в главе про систему ввода-вывода Unix, авторы упомянули о том, что в конце файла нет особого символа EOF. Если вы читали о системе ввода-вывода Unix/Linux, или эксперим...

JavaScript Hiring Week: оффер и welcome-бонус за 24 часа До 19 марта отправь заявку на Hiring Week и получи оффер без резюме и тестового задания! Участвуют программисты из всех городов России - выбор между удаленкой и релокацией за тобой. Набираем команду frontend и backend разработчиков в проект по созданию медицинских веб-порт...

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

Онлайн-курс Теплицы: «Градозащита для начинающих № 2: что делать с проблемной застройкой в городе» Команда Теплицы социальных технологий приглашает активистов принять участие в онлайн-курсе «Градозащита для начинающих № 2: что делать с проблемной застройкой в городе». Онлайн-курс пройдет 25-28 мая 2021 года. Участники курса узнают основные подходы и инструменты, которые ...

Швейцарские ученые успешно «клонировали» пластиковых кроликов с помощью синтетической ДНК Исследователи из Высшей технической школы Цюриха (Швейцария) провели эксперимент, в котором попробовали создать ДНК для неодушевленных предметов. Цель – научиться передавать информацию о строении синтетических конструкций в каждой их частичке, чтобы при помощи любого фрагмен...

Автоматизация журналиста. Часть 1: Задачи и календари Уже больше 15 лет я работаю техническим журналистом. Помогаю рассказывать о продуктах, технологиях и, что уж тут скрывать, встраиваюсь в стратегию хантинга. На меня есть спрос, поэтому много лет для меня ребром стоит задача повышения эффективности работы. Как говорится, вок...

[Перевод] Framework vs Platform: в чём разница? Привет, Хабр! Представляю вашему вниманию перевод статьи "Framework Vs. Platform What’s The Difference?" автора G. Harris. Исповедуюсь: я педант. Несмотря на личные неудачи на этом поприще, я глубоко верю, что использование правильного языка добавляет множество пре...

[Перевод] Использование алгоритма Прима для генерации соединённых друг с другом пещер Я решил объяснить один из алгоритмов генерации карты, используемых в моей игре In the House of Silence. Главное преимущество этого способа заключается в том, что в отличие от других алгоритмов, он никаким образом не может сгенерировать карту с разделёнными частями. Гене...

Как справиться с декомпозицией задач и не перестараться Всем привет! Меня зовут Виктор, я системный аналитик в компании «Спортмастер». И сегодня я хотел бы поговорить о декомпозиции задач и передачи их в разработку. Любой объект состоит из частей, будь это автомобиль или программный продукт. И чтобы собрать любой из этих объекто...

Сервис на языке Dart: введение, инфраструктура бэкэнд Оглавление 1. Введение 2. Backend 2.1. Инфраструктура. 2.2. Доменное имя. SSL. 2.3. Серверное приложение на Dart. … 3. Web 3.1. Заглушка «Under construction» … 4. Mobile … Введение Меня, Flutter-разработч...

[Перевод] Flutter. Упрощаем компоновку виджетов с помощью Dart расширений В версии Dart 2.7 нам представили расширения, позволяющие разработчикам добавлять новые функциональные возможности в уже существующие типы. Расширения могут быть отличным помощником не только, когда мы пишем бизнес-логику, но и когда у нас есть другие задачи! Примером такой...

Из студента-юриста в программисты на C/C++: личный опыт Привет. В данной статье я поделюсь своим опытом становления программистом, от зарождения идеи стать инженером программного обеспечения до первых офферов, а также расскажу об опыте прохождения собеседований на позицию С/С++ разработчика в Санкт-Петербурге и выводах, сделанных...

[Перевод] Как работает Spring Boot Auto-Configuration Глубокое погружение в мир аннотации Spring Boot @Conditional с проработанными примерами реализаций классов доступа к БД Mongo и MySQL. В моем посте «Почему Spring Boot?» было рассмотрено создание Spring Boot приложения, из которого вы едва ли сможете понять, что происходит з...

Нишевые кейсы для телефонии с подключением Виртуальной АТС Виртуальная АТС позволяет решать самые разные задачи в различных сферах и направлениях бизнеса. Рассмотрим несколько примеров того, как компании организовывают коммуникацию с клиентами с помощью инструментов ВАТС. Читать дальше →

На заре вычислительной техники, часть 1 Предисловие В моей предыдущей статье на тему истории вычислительной техники речь шла о цифровых устройствах. К ним мы еще вернемся, а сегодня разговор пойдет про принципиально иной способ считать вычислять, а именно про аналоговые вычислительные машины (АВМ), т.е. вычислител...

Переключение контекста и простой вытесняющий планировщик для CortexM С каждым годом курсовые для моих студентов становятся все объемнее. Например, в этом году одним из заданий была разработка метеостанции, ведь только ленивый не делает метеостанции, а студенты они по определению не ленивые, поэтому должны её сделать. Её можно быстро накидат...

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

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

[Из песочницы] Новый взгляд на code style Как знания нейропсихологии могут помочь программисту в стилизации кода? До того как заняться программированием, я очень долго и глубоко изучал нейропсихологию. Впоследствии, эти знания помогли мне добиться высоких результатов в разработке, за короткий промежуток времени. В...

Разработка измерительного прибора ИРИС Приветствую, сообщество Хабра. Недавно наша компания выпустила на рынок контрольно-измерительный прибор ИРИС. Являясь главным программистом этого проекта, хочу рассказать вам про разработку прошивки прибора (По оценке руководителя проекта прошивка составляет не более 30% от...

Как провести общественное расследование: 12 онлайн-баз данных для поиска информации Посмотреть доходы чиновника, проверить госконтракты компании или узнать ее связи с другими фирмами – вся эта информация может пригодиться вам при проведении общественного расследования или подготовки журналистского материала. И эти данные можно найти в открытом доступе, есл...

[Из песочницы] Как и к чему готовиться на собеседование начинающему iOS-разработчику и не только Эй, Хаброжитель, приветствую тебя! Буду признателен ко всем твоим фидбэкам. Небольшая предыстория В 2019 году увлёкся iOS-разработкой и решил попробовать попасть на курс от Mail.ru в их Технопроект с нашим ВУЗом. Закончил данный курс с отличием. Огромное спасибо Диме и Г...

Планирование потоков в Windows. Часть 1 из 4 Ниже представлена не простая расшифровка доклада с семинара CLRium, а переработанная версия для книги .NET Platform Architecture. Той её части, что относится к потокам. Потоки и планирование потоков Что такое поток? Давайте дадим краткое определение. По своей сути поток это...

Разбор решения задач реальной промышленности (спасение поросят и другие) Свиноматка кормит поросят до 26-го дня. За это время она может на них прилечь, что приведёт к тому, что поросят станет чуть меньше, чем было в самом начале. Чтобы этого избежать, используются вот такие станки, как на фото, которые исключают её повороты и хождение по загону. ...

Android. Surface Дисклеймер Данная статья предназначена для начинающих андроид разработчиков с небольшим опытом работы с видео и/или камерой, особенно тех кто начал разбирать примеры grafika и кому они показались сложными — здесь будет рассмотрен похожий код с упрощенным описанием основных ш...

Хороший ли выбор Svelte для реализации виджета? Привет! Меня зовут Дмитрий Усов, я фронтенд-разработчик в Ситимобил. Буквально несколько месяцев назад появилась задача создать виджет для заказа такси через сайт. В этой статье я хотел бы рассказать, почему для этой задачи был выбран Svelte, поделиться своим мнением о его д...

[Перевод] Исследование системы типов для проверки корректности музыки Сегодня много говорят о представлении музыки с помощью языков программирования, поскольку это, с одной стороны, интересная задача для инженеров, а с другой — является частью задачи универсального описания музыки. Как это выглядит? Для многих языков созданы среды программи...

[Перевод] 10 популярных вопросов на собеседовании по TypeScript (с краткими ответами) 1. Для чего нужен тип «Omit»? Ответ: Это новый тип, в котором можно указать свойства, которые будут исключены из исходного типа. Пример: type Person = { name: string; age: number; location: string; }; type QuantumPerson = Omit<Person, 'location'>; // Аналогично следую...

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

[Перевод] Использование современных графических форматов в веб-проектах Эдди Османи, в статье «Цена JavaScript в 2018 году», озвучил одну ценную мысль: время, необходимое на обработку скрипта размером 200 Кб, и на обработку изображения, имеющего такой же размер, серьёзно различается. Дело в том, что при обработке кода браузеру нужно проделать бо...

ZTools для Apache Zeppelin Zeppelin — это интерактивный блокнот, очень полюбившийся дата-инженерам. Он умеет работать со Spark и отлично подходит для интерактивного анализа данных. Проект недавно добрался до версии 0.9.0-preview2 и активно развивается, но, тем не менее, множество вещей всё ещё не реа...

[Перевод] Используйте парсинг вместо контроля типов В 2019 году была написана потрясающая статья Parse, don’t validate. Я крайне рекомендую изучить её всем программистам (а также недавнее дополнение к ней Names are not type safety). Её основная идея заключается в том, что существует два способа проверки валидности входящих ...

«Google Поиск» получил масштабное обновление в России Google Поиск стал умнее благодаря технологии BERT Интуитивность – это то, чего мы в первую очередь ждём от любого продукта. Если пользователь покупает смартфон, он не должен самостоятельно что-то прошивать, чтобы устройство заработало как надо, или искать, где бы скачать ну...

[Из песочницы] С чего начинается Elasticsearch Elasticsearch, вероятно, самая популярная поисковая система на данный момент с развитым сообществом, поддержкой и горой информации в сети. Однако эта информация поступает непоследовательно и дробно. Самое первое и главное заблуждение — "нужен поиск, так бери эластик!&q...

Compositional Layout в iOS 13. Основы Добрый день, На практике iOS разработчик часто сталкивается с задачей показа большого количества информации в виде списка или в виде коллекции, как правило, для этого отлично подходят UITableView или UICollectionView. Также часто встречается задача реализации экрана, который...

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

[Из песочницы] Расчет временных ограничений для ПЛИС простым языком Здравствуйте. Эта статья написана для самых-самых новичков в мире ПЛИС. В ней я попытаюсь максимально просто и понятно рассказать что такое временны́е ограничения (timing constraints), накладываемые на проекты под ПЛИС. Статья создана на основе собственного опыта попыт...

R, Монте-Карло и enterprise задачи При решении практических задач с завидной регулярностью приходится сталкиваться с двумя типовыми подходами, которые выдвигаются на совещаниях или витают в воздухе. Вариант 1 — давайте решать частную задачу в общем виде. Решив ее таким образом, мы сможем попутно много чего е...

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

Занимательный JavaScript: Почти линейное уравнение Что если взять замечательную математику (а именно линейные уравнения) и наш не менее замечательный JavaScript, а потом наложить одно на другое? То в условиях ограничений и специфики js-среды простая математическая задача может обернуться весьма любопытной и полной подводных ...

Zabbix 5.0, или Что нового нас ждет с шаблоном Template Server by IPMI Нужно поставить оборудование на мониторинг, а в любимой системе Zabbix нет готового шаблона под этот тип оборудования. Знакомая ситуация? Каждый выкручивается из нее по-своему. Один администратор ищет решение на просторах интернета. Второй — разрабатывает свое. А некоторые...

HR и таланты, эксперты и креатив: как прошел восьмой хабрасеминар Мы в контент-студии часто решаем HR-задачи бизнеса и знаем, что HR-имидж для компаний — это долгосрочный проект. Из чего он складывается, что и как работает и какой контент для него нужен, мы разобрали на нашем семинаре 28 ноября. Под катом — аргументы против звезд и за мо...

[Из песочницы] Как пройти собеседование или почему тебя не берут на работу? Не работать и получать кучу денег — мечта практически любого человека. Но если ты не грудастая, смазливая блондинка, которая готова на всё ради своей мечты, все таки работать придется.  И чтобы не проклинать каждый день, за то, что ты тратишь свои лучшие годы на эту контору...

Летом на мобильных выйдет сюжетное приключение Krystopia: Nova's Journey Krystopia: Nova's Journey — это прямое продолжение прошлогодней Krystopia: A Puzzle Journey от студии Antler Interactive, которое выйдет на мобильных летом этого года. Игра не просто предложит новый набор головоломок, но преобразится как в визуальном, так и в геймплейном пл...

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

Обучение универсальной модели NLU c BERT и Multitask Learning В современной компьютерной лингвистике понимание смысла написанного или сказанного достигается с помощью моделей естественного языка (NLU). С постепенным ростом аудитории виртуальных ассистентов Салют встает вопрос об оптимизации наших сервисов, работающих с естественным яз...

Go-swagger как основа взаимодействия микросервисов Здравствуй, NickName! Если ты программист и работаешь с микросервисной архитектурой, то представь, что тебе нужно настроить взаимодействие твоего сервиса А с каким-то новым и ещё неизвестным тебе сервисом Б. Что ты будешь делать в первую очередь? Если задать такой вопрос ...

Эффективное использование ClickHouse. Алексей Миловидов (Яндекс) Так как ClickHouse является специализированной системой, при его использовании важно учитывать особенности его архитектуры. В этом докладе Алексей расскажет о примерах типичных ошибок при использовании ClickHouse, которые могут привести к неэффективной работе. На примерах и...

Яндекс открыл набор на летнюю стажировку Яндекс приглашает студентов и начинающих ИТ-специалистов на летнюю стажировку в московский офис. Участники смогут поработать над реальными задачами и поучиться у опытных наставников. Стажировка оплачивается и длится три месяца.

[Перевод] 32 совета веб-разработчику, который хочет вырасти над собой в 2020 году Ушёл 2019 год. Для нас, для веб-разработчиков, это был год испытаний и возможностей. Вокруг много всего такого, что можно изучить, и такого, в чём можно попытаться достичь мастерства. Например — это JavaScript-инструменты для разработки сайтов, такие, как React, Vue, Angular...

IntelliJ IDEA: Structural Search & Replace Современные IDE — очень мощные инструменты, способные помогать разработчику в самых разных ситуациях. Но обратной стороной этой мощности является то, что большинство функций находится в тени — об их наличии мало кто подозревает. Простой пример одной...

Графики в Vuejs Я доволен экосистемой Vue. Как и положено, ты не городишь велосипеды, а пользуешься готовыми плагинами, которые за тебя написали умные дядьки. Когда твоя задача слишком мелкая и локальная, чтобы под неё написали плагин — ты идёшь и ищешь готовые компоненты, и только если н...

JavaScript библиотека Webix глазами новичка. Часть 4. Работа с данными. CRUD Я — начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI б...

[recovery mode] Как мы проводим собеседования в Барселоне Я все-таки решил поделиться нашим опытом приема людей на работу, и решил я это сделать по двум причинам: нам удалось собрать всех самых сильных разработчиков нашего стека в городе, и люди, которые приходят — уходят от нас крайне редко (точнее, был лишь один случай ухода в со...

Что такое Windows PowerShell и с чем его едят? Часть 3: передача параметров в скрипты и функции, создание командлетов Во второй части цикла рассматривались основы языка программирования PowerShell, а сейчас стоит разобраться с использованием написанного на нем кода для задач администрирования. Самый очевидный способ это сделать — запустить сценарий. Кроме него существует возможность созда...

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

Починить, хакнуть, раскопать. Решаем онлайн-квест Droid Mission В прошлом году мы провели онлайн-квест для мобильных разработчиков — Droid Mission. В течение месяца участники должны были решить как можно больше задач в трёх направлениях: fix it! (поиск ошибок и исследование кода), hack it! (реверс-инжиниринг) и dig it! (изучение особен...

SwiftUI по полочкам: Анимация. Часть 1 Недавно мне попалась свежая статья, в которой ребята пытались воспроизвести интересный концепт средствами SwiftUI. Вот что у них получилось: Я с интересом изучил их код, но испытал некоторое разочарование. Нет, не в том смысле, что они что-то сделали неправильно, вовсе...

[Из песочницы] Игра для программистов FuncBall Многие, как и я, любят футбольные симуляторы и многие увлекаются программированием. Когда-то, в далёком 2004 году, наигравшись в ФИФУ я подумал, что было бы неплохо совместить два моих увлечения в одной игре, в которой игроки управлялись бы не вручную, а написанным для них с...

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

Как мы проверяли производительность новых процессоров в облаке для 1С по тесту Гилёва Америку не откроем, если скажем, что виртуальные машины на новых процессорах всегда производительнее оборудования на процессорах старого поколения. Интереснее другое: при анализе возможностей систем, казалось бы, очень близких по своим техническим характеристикам, результа...

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

Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio Авторы: Андрей Карпов, khandeliants Филипп Хандельянц. Хочется поделиться интересной ситуацией, когда вопрос, используемый нами на собеседовании, оказался сложнее, чем задумывал его автор. С языком C++ и компиляторами надо всегда быть начеку. Не заскучаешь. Читать дальше &r...

VxLAN фабрика. Часть 2.5 Всем привет. Проходил тут собеседование и появилась мысль следующую часть из цикла статей, посвященных запуску курса "Сетевой инженер" от OTUS, сделать более теоретической, дабы ответить на некоторые вопросы с которыми столкнулся во время интервью. Читать дальше &...

Руководство по Node.js для начинающих. Часть 4 Доброго времени суток, друзья! Продолжаю публиковать перевод этого руководства по Node.js. Другие части: Часть 1 Часть 2 Часть 3 Часть 4 Файл package-lock.json В пятой версии Node.js был представлен файл package-lock.json. Что это такое? Для чего он нужен, если есть ...

Первый обзор 3D принтера Hercules G2. Инженерный 3D принтер 2020 года от Imprinta. Всем привет друзья, с Вами 3DTool!Часто ли происходят такие изменения, которые влияют на большое количество людей, сообщества, а иногда на целые рынки? Не часто, да и не каждая революционная идея способна изменить представление о том, что привычно, нормально и «само собой». ...

Анализ геймдизайна Hollow Knight. Часть 2. Зелёная тропа + Грибные пустоши deviantart.com/orioto Предыдущая часть. Видеоверсия внизу. Зеленая тропа Основной упор при разработке был направлен на разнообразие мира. Зеленая Тропа — не просто версия Перепутья, немного измененная тематически, но полноценный биом со своей уникальной атмосферой и напо...

Как посмотреть плоские фильмы в 3D Это сильно расширенная версия моей публикации на MediumНедавно я сидел в баре с другом зашел разговор о том, в каких задачах в принципе может быть эффективен нейросетевой подход, а где они совершенно излишни. Один класс примеров, где нейросети часто наголову превосходят ...

[Из песочницы] RPA | Роботизация процессов глазами аналитика Последние полтора года я занимаюсь внедрением и развитием в компании блока RPA на одной из популярных платформ. Четкого проекта внедрения не было: руководство подсмотрело у дружественных организаций "модную" технологию, дало мне задачу прощупать тему и бросило под...

Opener 2020: Самый сок Введение На протяжении всего апреля мы с командой после учёбы и работы решали увлекательные задачи в рамках конкурса Opener от компании Itransition. Вместе с конкурсом закончился наш лучший месяц на самоизоляции. Теперь, отдохнув, я готов спокойно поделиться этим опытом с ва...

Первое впечатление от концептов Решил разобраться с новой возможностью С++20 — концептами. Концепты (или концепции, как пишет русскоязычная Вики) — очень интересная и полезная фича, которой давно не хватало. По сути это типизация для аргументов шаблонов. Основная проблема шаблонов до С++20 — в них мо...

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

Парсер данных по произвольной грамматике в 400 строк Есть много существующих инструментов для парсинга файлов по заданной грамматике. Например, ANTLR или Yacc. Они используют конечные автоматы и генерируют большие файлы с исходным кодом для парсинга. Действительно ли это так сложно? Попробуем сделать сами. В этой статье я пока...

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

Понимание (всех) «модульных» форматов и инструментов JavaScript Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Understanding (all) JavaScript module formats and tools» автора Dixin. При создании приложения часто возникает желание разделить код на части, логические или функциональные блоки (модули). Однако ...

Предвзятый и субъективный взгляд на резюме разработчика Привет! Недавно мои коллеги из hh.ru провели вебинар, где разбирали резюме разработчика. Я решил поделиться своей точкой зрения на этот счет. В этой статье мы поговорим о том, как разработчики создают резюме. Я расскажу о том, что меня, как интервьюера, мотивировало и вооду...

Как я попал в ThoughtWorks или образцовое интервью Не кажется ли вам странным то, что когда вы собираетесь поменять место работы и возникает необходимость пройти интервью, то в первую очередь вы думаете «надо подготовиться к интервью». Прорешать задачи на HackerRank, почитать Crack the coding interview, зазубрить как устро...

Как на Tilda: создаем лендинг на WordPress Лендинг на WordPress, да еще и своими руками – это совсем несложно. В этой статье я расскажу о преимуществах и возможностях WordPress как открытой системы. Разберем по шагам, как сделать лендинг на WordPress с минимальными знаниями HTML и CSS. Наконец, в финале будет живой ...

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

[Из песочницы] Умеем ли мы готовить Java, Kotlin RestController? Практически любой программист на java в своей жизни писал RestController, но мало кто задумывается правильно ли он это делает. Даже если вы опытный программист, у вас могут возникнуть вопросы на которые я постараюсь ответить. В статье будут затронуты такие фреймворки как spr...

AI на минималках 2: Генератор стихов на Prolog AI на минималках 2: Генератор стихов на Prolog На картинке — четверостишье, сгенерированное моей программой. Оказывается "стихи" писать легко, нужно только знать несколько необходимых ингредиентов: размер, ритм, рифма. "Стихи" в кавычках, потому что в на...

Обзор CamShel DVR 240. Видеорегистратор с двумя камерами Есть немало сценариев, требующих вести съемку не только происходящего на дороге, но и в салоне автомобиля. Служебный транспорт, курьерские службы и такси. И это не всегда контроль сотрудников за рулем, но и обеспечение безопасности от неадекватного поведения пассажиров. В се...

Как я на спор развернул двусвязный список за O(1) Как-то раз я случайно увидел, как мой коллега решает джуниорскую задачку разворачивания двусвязного списка на C++. И в тот момент странным мне показалось не то, что он лид и давно перерос подобное, а само решение. Вернее, не так. Решение было стандартным: тот же линейны...

Задача №3. Конвертация данных и загрузка в сторонние сервисы Сегодня публикуем последнюю задачу из цикла, в котором мы рассказываем, как работать с генетическими данными. Первая и вторая задачи уже опубликованы: их можно решить и прислать ответы нам. Предупреждаем, что эта задача занимает больше времени, чем остальные. Главный приз —...

Задача №1. Узнайте пол и степень родства В предыдущей подробной статье про Полный геном мы обещали опубликовать три задачи и подарить тест тому, кто первым решит все три правильно. Заодно в этих задачах мы даем примеры, как можно работать с генетическими данными. Сегодня публикуем первую. Читать дальше →

[Из песочницы] IT-эмиграция в Новую Зеландию Это очередная статья про IT-эмиграцию, но про Новую Зеландию пока информации не было. Здесь будет рассматриваться в том числе техническая сторона эмиграции, что представляет собой эдакий квест, с вполне определенными правилами. Если кому интересно данное направление, то прош...

Ищем цепочку событий в потоке данных с помощью FlinkCEP В данной статье речь пойдет об использовании открытой платформы Apache Flink для обнаружения цепочки последовательности событий. Статья подойдет как для начинающих разработчиков в области обработки потоковых данных, так и для тех, кто желает познакомиться с Apache Flink. Н...

[Перевод] Вы правда знаете о том, что такое массивы? Там, где я тружусь, от веб-разработчиков ожидают знания PHP и JavaScript. Я, проводя собеседования, обнаружил, что достаточно задать всего один простой вопрос для того чтобы узнать о том, насколько глубоко разработчик понимает инструменты, которыми пользуется каждый день. Во...

[Из песочницы] Простой zero-copy рендеринг аппаратно ускоренного видео в QML Введение Целью данной статьи является продемонстрировать способ как можно подружить сторонние видео буфера и QML. Основная идея — использовать стандартный QML компонент VideoOutput. Он позволяет подсовывать сторонние источники, неплохо документирован и имеет бекэнд поддержив...

CrowdSec — современная альтернатива Fail2Ban и коллективный иммунитет для Интернета CrowdSec Инструмент Fail2Ban хорошо известен админам. Программа анализирует логи на сервере и подсчитывает количество попыток доступа с конкретных IP-адресов по указанным протоколам. В случае нарушения правила данный IP-адрес блокируется на заданный отрезок времени. Наприм...

Лазерный станок СО2. Проводим эксперименты, что можно порезать на СО2 лазерном гравере. Всем привет, с Вами 3DTool!Наши покупатели довольно часто задают нам вопрос, на что способны Со2 лазеры в целом и чем отличаются лазерные Со2 излучатели разных мощностей в частности, ведь если излучатель на 40вт решает такие же задачи, как и ее старшая версия, имеет ли смысл...

Как стать монстром продуктивности с помощью метода 90/30 Предприниматель Томас Оппонг рассказывает, как он открыл для себя ультрадианные ритмы и научился решать все свои важные задачи с утра.

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

[Перевод] Анализ скорости распространения COVID-19 и публикация результатов на dstack.ai Предисловие переводчика Всем привет, давно ничего не писал на Хабр, но тут появился повод. Я довольно много лет проработал в области анализа данных и самая важная вещь, которую я понял за это время — в анализе данных очень не хватает инструментов, самых разных инструментов...

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

[Перевод] Заметки о Unix: надёжная работа с API C-библиотеки Unix возможна только из программ, написанных на C Для того чтобы полностью реализовать требования системы верификации источника системных вызовов, разработчики OpenBSD хотят, чтобы Go выполнял бы системные вызовы через C-библиотеку, а не напрямую, из собственной среды выполнения (а у Go есть некоторые причины поступать имен...

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

[Из песочницы] MVP для Android — преимущества использования Moxy в качестве вспомогательной библиотеки В данной статье описываются преимущества использования Moxy в качестве вспомогательной библиотеки при использовании MVP для Android-приложения. Важно: здесь не сравнивается MVP с другими архитектурными подходами типа MVVM, MVI и т.п. В статье описывается почему, если в качес...

Бесплатный воркшоп. Контент-маркетинг «Обучение в бою!» За 3 часа воркшопа вы научитесь своими руками строить систему привлечения клиентов через контент. Вам поставили задачу создать контент-стратегию и реализовать её, чтобы вывести компанию на новый уровень. С чего начать? Как избежать ошиб...

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

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

[Из песочницы] Самый простой алгоритм для создания Филворда (Часть 1) Привет, Хабровцы. В этой статье я хочу поделиться с вами немного своим опытом и показать вам мой простой алгоритм, который я придумал для создания Филворда. Под «Филвордом» я буду иметь ввиду эту многим знакомую игру. В игре есть поле размером обычно NxN заполненное словами...

[Перевод] Periwinkle: процессор с одной инструкцией Хочу рассказать о процессоре, который я разработал в 2016 году. Он реализован на C как виртуальная машина. Мой друг Бьёрн написал для него ассемблер на F#. Periwinkle представляет собой процессор OISC (one instruction set computer), в отличие от RISC и CISC. У него нет ника...

[Перевод] 6 хитростей Python, о которых никто не рассказывает новичкам В наши дни Python — это самый популярный в мире язык программирования. Одна из причин этого кроется в том, что разработчики с удовольствием пишут на Python. Это выгодно отличает Python от других языков. Python завоёвывает сердца новичков и опытных программистов простотой си...

Реклама на YouTube: достучаться до программистов Известный американский маркетолог Стюарт Бритт говорил: «Вести бизнес без рекламы – всё равно, что подмигивать девушке в темноте: вы-то знаете, что вы делаете, а остальные – нет». Сложно не согласиться, ведь недостаточно просто создать продукт — чтобы им пользовались, нужно...

[Перевод] Архитектурный шаблон MVI в Kotlin Multipaltform, часть 1 Около года назад я заинтересовался новой технологией Kotlin Multiplatform. Она позволяет писать общий код и компилировать его под разные платформы, имея при этом доступ к их API. С тех пор я активно экспериментирую в этой области и продвигаю этот инструмент в нашей компани...

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

Ремесло и успех в IT С интересом читаю статьи про бизнес в IT, хотел поддержать в комментариях автора Так ли просто организовать свой бизнес ИТ-специалисту, но потом понял, что хочу высказаться более развёрнуто. Представлюсь как на встрече анонимных алкоголиков. Я — IT-ремесленник. Из 27 лет ст...

[Перевод] Мифы о useEffect Доброго времени суток, друзья! Представляю вашему вниманию перевод небольшой заметки Kent C. Dodds, в которой он делится своими соображениями относительно правильного использования хука «useEffect». Я обучил React тысячи разработчиков. Как до, так и после релиза хуков. О...

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

Задача Танежи или проблема числа 10958… В работе Индера Танежа (Inder J. Taneja) (бразильского математика-популяризатора математики) от 2014 года: Crazy Sequential Representation: Numbers from 0 to 11111 in terms of Increasing and Decreasing Orders of 1 to 9 (Сумасшедшее последовательное представление: числа от 0 ...

Как я искал работу весной 2021 года Всем привет! Давно читаю Хабр и руки чесались тоже написать чего-нибудь. Так получилось, что повод появился только когда я начал искать новую работу. Вдохновил меня на эту статью увлекательный рассказ о собеседованиях в Яндексе. "Хм, а мне ведь тоже есть чего рассказать" - п...

6 приложений для занятий спортом дома В России бушует COVID-19, и лучший способ борьбы с ним — сидеть дома и стараться не высовываться. Задача несложная, но из-за отсутствия движения многие (и мы тоже!) начали обрастать жирком, а в зал уже не сходишь и даже на пробежку не выйти. Редакция Хабра неделю пробовала...

[Перевод] Реализация алгоритма Минимакс на примере игры «Крестики-Нолики» Недавно я написал непобедимую игру «Крестики-Нолики». Это был интересный и поучительный проект, который многому меня научил. Если у вас есть желание посмотреть результат — это можно сделать здесь. Для того чтобы сделать игру непобедимой, было необходимо создать алгоритм, ...

[Перевод] 7 уроков, которые я усвоил за десять лет в разработке Представляем вам перевод статьи JS dev Ray, опубликованной на сайте medium.com. Автор рассказывает о важных вещах, которые он понял за свою карьеру разработчика приложений. По его мнению, эта информация может очень пригодиться начинающим специалистам. Читать дальше →

[Из песочницы] Реализация алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке RobotC Доброго дня! Сегодня я бы хотел поделиться реализацией алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке программирования RobotC (с использованием платформы VEX EDR). Предистория Недавно, мне предложили провести мастер-класс на ...

Python (+numba) быстрее си — серьёзно?! Часть 2. Практика Это вторая часть статьи про numba. В первой было историческое введение и краткая инструкция по эксплуатации numba. Здесь я привожу слегка модифицированный код задачи из статьи про хаскелл «Быстрее, чем C++; медленнее, чем PHP» с более детальными бенчмарками, графиками и пояс...

MS Remote Desktop Gateway, HAProxy и перебор пароля Друзья, привет! Существует множество способов подключения из дома к рабочему месту в офисе. Один из них — это использовать Microsoft Remote Desktop Gateway. Это RDP поверх HTTP. Я не хочу здесь затрагивать настройку самого RDGW, не хочу рассуждать, почему он хорош или плох,...

Шесть рецептов для начинающего тимлида: как всё успевать и развивать команду Привет! Меня зовут Дмитрий Ли, я тимлид одной из команд разработки бэкенда в Badoo. Когда я впервые стал тимлидом, я стал активно посещать конференции и читать умные книги об управлении командой. Однако в моей работе после этого менялось немногое. Я читал о том, каким я д...

Победители Game Off 2019 Game Off — ежегодный гейм джем, который проводит GitHub. Разработчикам дается месяц на создание игры по заданным мотивам (в этом году это было ““leaps and bounds”), а исходники потом публикуются на GitHub. В этом году победила игра Sealed Bite — пиксельный платфо...

VMware SD-WAN: обзор решения Этим материалом мы начинаем цикл статей о решении VMware SD-WAN. Сегодня поговорим о том, какие рыночные предпосылки сформировали его появление, какие задачи решает SD-WAN и каковы технические особенности решения VMware. Читать далее

Как настроить Битрикс 24 Для качественной и грамотной работе команды компании многие руководители используют уникальную программу от известного разработчика «1С Битрикс». С помощью услуг сервера Битрикс 24 можно с удобством управлять офисной работой, осуществлять контроль за работой всей компании и ...

[Перевод] Webpack: руководство для начинающих Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Webpack: A gentle introduction» автора Tyler McGinnis. Перед изучением новой технологии задайте себе два вопроса: Зачем нужен этот инструмент? Какие задачи он выполняет? Если вы не можете отв...

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

STL, allocator, его разделяемая память и её особенности Разделяемая память — самый быстрый способ обмена данными между процессами. Но в отличие от потоковых механизмов (трубы, сокеты всех мастей, файловые очереди ...), здесь у программиста полная свобода действий, в результате пишут кто во что горазд. Так и автор однажды задал...

Может ли смартфон измерить температуру? Как измерить температуру с помощью смартфона? Как известно, смартфоны имеют множество датчиков. Одни могут отвечать за определение позиции устройства в пространстве, другие отвечают за освещенность, регулируя яркость экрана. Но есть в смартфоне еще один вид датчиков — ...

[Перевод] Машины уже опережают людей в тестах на чтение; но понимают ли они прочитанное? Инструмент под названием BERT способен обогнать людей в тестах на чтение и понимание. Однако он же демонстрирует, какой путь ещё нужно пройти ИИ Осенью 2017 года Сэм Боумен, вычислительный лингвист из Нью-Йоркского университета, решил, что компьютеры до сих пор ещё не очен...

Простое руководство по дистилляции BERT Если вы интересуетесь машинным обучением, то наверняка слышали про BERT и трансформеры. BERT — это языковая модель от Google, показавшая state-of-the-art результаты с большим отрывом на целом ряде задач. BERT, и вообще трансформеры, стали совершенно новым шаго...

[Перевод] История интерпретируемости в распознавании изображений Распознавание изображений (т. е. классификация того, какой объект отображается на изображении) является основной задачей в области компьютерного зрения, так как она позволяет использовать различные последующие приложения (автоматическая маркировка фотографий, помощь слабов...

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

[Перевод] CSS и множественный фон CSS-свойство background — это одно из самых часто используемых свойств. Но сообщество веб-разработчиков пока не слишком хорошо осведомлено о возможностях, которые даёт использование множественного фона. Здесь я собираюсь серьёзно поговорить о том, что может дать применение м...

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

Изменены критерии, по которым софт в России будут относить к медицинским изделиям Как пишет TAdviser со ссылкой на информацию ведомства, информационное письмо "О программном обеспечении", созданного 13 февраля 2020 года, содержит позицию комиссии его подведомственного учреждения, всероссийского научно-исследовательского и испытательного инстит...

Экран гаснет, когда закрываешь камеру. В чём дело Вы хорошо знаете, как устроен ваш смартфон, хотя бы внешне? Думаю, что да. Дисплей, камеры, кнопки питания и регулировки громкости, зарядный разъём и какие-то технические сенсоры на фронтальной панели. Вот, собственно, и всё устройство большинства современных смартфонов. Др...

[Из песочницы] Методы регрессионного анализа в Data Science Накануне запуска курса «Математика для Data Science. Продвинутый курс» мы провели открытый вебинар на тему «Методы регрессионного анализа в Data Science». На нём познакомились с понятием линейных регрессий, изучили, где и как их можно применять на практике, а также узнали, к...

Изучаем React: 300+ вопросов для подготовки к собеседованию Доброго времени суток, друзья! Представляю вашему вниманию первую версию репозитория с большим количеством вопросов (с ответами, разумеется) по React и связанным с ним технологиям. А много — это сколько? Это 322. Почему первая версия? Потому что будет еще и вторая, прим...

[Из песочницы] Программные IP-АТС и нагрузочное тестирование Всем доброго дня! Вот уже несколько лет я занимаюсь IP-телефонией и стал замечать, что хоть и Интернет полон информации, я говорю не только про российский сегмент, но найти иной раз нужную можно только на каком-либо “заброшенном форуме”, а то ее и вовсе нет. Если информации ...

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

[Перевод] Как подключить OLED дисплей к Raspberry Pi Pico — быстрый старт У Raspberry Pi Pico несколько функциональных ограничений, включая отсутствие модуля беспроводной связи. Но, в целом, это отличная плата для реализации самых разных проектов. Одно из ее достоинств — простота подключения дисплея. Она позволяет работать с Pico Display или Pico...

10 вопросов, которые изменят вашу жизнь Правильный вопрос, заданный в подходящее время, может изменить вас, успокоить или дать опору. И даже если вы не найдёте ответ сразу же, сам вопрос поможет по-другому взглянуть на свою жизнь.

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

Чужой код — потемки: чем опасно скачивание «безобидного» софта с GitHub Наверное, каждый из тех, кто читает эту статью, хорошо знаком с GitHub — крупнейшим веб-сервисом для хостинга IT-проектов и их совместной разработки. Здесь можно найти почти любой open source-проект. Для компиляции проекта может быть нужен какой-то специфический софт, кото...

[Из песочницы] Как внедрить Atlassian Jira + Confluence в корпорации. Технические вопросы Планируете внедрение ПО Atlassian (Jira, Confluence)? Не хотите допустить жестоких ошибок в проектировании, которые потом придётся решать в последний момент? Тогда вам сюда — рассматриваем внедрение Atlassian Jira + Confluence в корпорации с учётом различных технических ас...

[Личный опыт] Из соискателя в наниматели: продакт советует, как проходить интервью в США Привет! Меня зовут Анна Наумова, сейчас я работаю старшим менеджером по продукту (Senior Product Manager) в компании Zello в Остине, штат Техас. Сначала я сама прошла 110 собеседований в Америке, а теперь сижу по другую сторону стола и...

Влияет ли IQ на успех, или что мешает нам стать успешными людьми? Как-то раз я искал работу (журналистом). На собеседовании мне предложили пройти тест на IQ. Помню свое удивление – ведь я не претендовал на техническую вакансию. Но из любопытства тест всё же прошел и набрал 146 баллов. Для приема на работу хватило бы и 132, но я отказался —...

Как мы считаем людей с помощью компьютерного зрения Фото из открытых источников Массовые скопления людей создают проблемы в самых разных областях (ритейл, госслужбы, банки, застройщики). Заказчикам необходимо объединять и мониторить информацию о количестве людей во множестве мест: в офисах обслуживания, административных пом...

Книга «Эффективный Java. Тюнинг кода на Java 8, 11 и дальше. 2-е межд. издание » Привет, Хаброжители! Программирование и тестирование обычно принято относить к разным профессиональным сферам. Скотт Оукс — признанный эксперт по языку Java — уверен, что если вы хотите работать с этим языком, то обязаны понимать, как выполняется код в виртуальной машине Ja...

Пишем API на Rust с помощью процедурных макросов Процедурные макросы в Rust — это очень мощный инструмент кодогенерации, позволяющий обходиться без написания тонны шаблонного кода, или выражать какие-то новые концепции, как сделали, к примеру, разработчики крейта async_trait. Тем не менее, многие вполне обоснованно побаива...

Опыт конвертирования кода C# в код Rust Постановка задачи Код на языке C# нужно перевести в код на Rust. Точнее, требуется такая процедура перевода (разработка продолжается на C#), чтобы в любой момент можно было получить работающий код на Rust. Эту задачу я решал для языков Java, Python, JavaScript и PHP, написав...

[Из песочницы] Spring Boot vs Spring MVC vs Spring — Как они сравниваются? Spring Boot vs Spring MVC vs Spring — Как они сравниваются? Spring, Spring Boot, Spring MVC, везде есть слово “spring”! Давайте пройдемся где и когда вы можете применять каждый из этих инструментов В этой статье, вы увидите обзоры: Spring, Spring MVC, и Spring Boot, узнает...

Сколько ты стоишь или о чем не говорят в приличном обществе Вопрос без которого не обходится ни одно собеседование и нет, я не про переворачивание связанного списка или сложность поиска в хеш таблицах. Сколько/How much/wie viel. Как бы это не звучало, но смысл сводится к одному — Ежемесячная стоимость 176 часов вашей жизни. Есть ли...

Фанат переделал игры Link: The Faces of Evil и Zelda: The Wand of Gamelon 1993 года под современные ОС Link: The Faces of Evil и Zelda: The Wand of Gamelon — две приключенческие видеоигры, разработанные Animation Magic и выпущенные Philips Interactive Media для приставки Philips CD-i 10 октября 1993 года в США и 25 декабря 1993 года в Европе. Разработчик-любитель решил переде...

Автоматизация ввода в SecureCRT с помощью скриптов У сетевых инженеров часто возникает задача, выполнить copy/past определенных фрагментов из блокнота в консоль. Копировать приходиться обычно несколько параметров: Username/Password и что-либо еще. Ускорить этот процесс позволяет использование скриптов. НО задачи написание ск...

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

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

Новое исследование предполагает, что звёзды не коллапсируют – они взрываются Учёные определили природу ядерных процессов, происходящих внутри звёзд средней массы, проводя экспериментальные исследования с материей, плотность которой в 10 млн раз больше, а температура – в 25 раз выше, чем в центре Солнца. Наше понимание гибели звёзд как с низкой, так и...

Все, что вы хотели узнать про области видимости в Python, но стеснялись спросить В преддверии старта нового потока по курсу «Разработчик Python», решили поговорить про области видимости в Python. Что из этого вышло? — Читайте в материале ниже. Сегодня мы будем говорить о важных теоретических основах, которые необходимо понимать и помнить, чтобы писат...

Анимация схем в SCADA При создании HMI довольно часто встречается задача построить отображение сложной схемы связанных элементов. Это могут быть разветвленные трубопроводные схемы, электроснабжение и т.п. Можно, конечно, ограничиться только отображением ключевых элементов (задвижек, автоматическ...

WSL эксперименты. Часть 2 Привет, Хабр. В преддверии старта курса «Administrator Linux. Professional» публикуем продолжение статьи про WSL эксперименты, которую написал наш эксперт — Александр Колесников. Настало время для продолжения экспериментов с подсистемой WSL; первую часть статьи можно посм...

Автоматизируем ведение большого количества пользователей в AD Автоматизируем ведение большого количества пользователей в AD: Добрый день! В этой статье я бы хотел описать применённое мной практическое решение по автоматизации одной рутинной задачи второй линии технической поддержки одного крупного предприятия. Имеем два территориаль...

[Из песочницы] Еще раз про усложненность архитектуры и порог входа В данной статье я коснусь вопроса порога входа в проект с устоявшейся архитектурой и дам несколько вариантов ответа на очень часто возникающий вопрос: почему так сложно? Такой вопрос частенько возникает у новичков, которые приходят на проект. Или же бывают ситуации, когда пр...

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

Современный стартовый HTML-шаблон Доброго времени суток, друзья! Позвольте представить вам мой новый проект — современный стартовый HTML-шаблон. Данный шаблон является результатом анализа более 100 источников по вопросам, касающимся структуры и содержимого веб-страницы, разделения приложения на компонент...

Шутки и отсылки в «Гриффинах» на английском, которые нужно объяснять «Гриффины» — это своеобразный мультик для взрослых, который очень любят в США. По стилю он похож на «Симпсоны», но шутки в нем куда более жесткие. В русскоговорящих странах мультик был принят довольно холодно. Главная причина — практически все гэги и шутки завязаны на амери...

Секрет эффективности — качественный код, а не эффективный менеджер Одна из самых перегруженных идиотами специальностей — менеджеры, управляющие программистами. Не все, а те, которые сами программистами отродясь не были. Те, которые думают, что можно «повышать» эффективность (или повышать «эффективность»?) методами из книжек. Даже не удосужи...

[recovery mode] $mol_func_sandbox: взломай меня, если сможешь!. Здравствуйте, меня зовут Дмитрий Карловский и я… хочу сыграть с вами в игру. Правила её очень просты, но их нарушение… приведёт вас к победе. Почувствуйте себя в роли хакера выбирающегося из JavaScript песочницы с целью прочитать куки, намайнить биткоины, сделать дефейс или ...

Мир без корутин. Костыли для программиста — asyncio 1. Введение Тот, кто научился летать, ползать уже не будет. Но не должно быть и высокомерия к тому, кто «летать не может» в принципе. И то и другое вполне норма. И то и другое уважаемо и почетно. Для человека — это, как выбор профессии: вы, условно, либо летчик, либо шофер. ...

Пилим веб-опросник как у Meduza: пошаговый гайд для начинающих Меня зовут Егор, я Full-stack разработчик в Leader-ID. В этой статье я хочу поделиться простым рецептом по созданию красивого и удобного веб-опросника наподобие тех, что делает Meduza. Он умеет показывать статистику после ответа на отдельные вопросы, подсчитывать общий балл,...

[Из песочницы] Почему в 2020 году мы по-прежнему выбираем Ruby? Привет, Хабр! Представляю вашему вниманию перевод статьи «Why is Ruby still our choice in 2020?» автора Vira Vashkovska. Мы — опытная команда Ruby on Rails разработчиков. Некоторые из нас занимаются разработкой на Ruby уже многие годы и знают его как свои пять пальцев. Вот ...

Camunda external tasks — мощный инструмент для создания приложений с отказоустойчивой и масштабируемой архитектурой В Тинькофф для разработки систем автоматизации бизнес-процессов мы используем фреймворк Camunda + Spring. Сами бизнес-процессы описываем с помощью BPMN (Business Process Management Notation) в виде блок-схем. Наиболее часто используемый элемент на наших схемах — service ta...

[Из песочницы] Кодогенерация в Go на примере создания клиента к БД В данной статье хотелось бы рассмотреть вопросы кодогенерации в Golang. Заметил, что часто в комментариях к статьям по Go упоминают кодогенерацию и рефлексию, что вызывает бурные споры. При этом на хабре статей по кодогенерации мало, хотя она применяется довольно много где в...

[Перевод] Forge of Empires из AS3 в Haxe. Постмортем В комментариях к переводу доклада с HaxeUp Sessions 2020 Hamburg — Зимний отчет о состоянии Haxe — был задан вопрос о том, зачем нужен Haxe. На него, конечно же, ответили там же, в комментариях. Предлагаемый вашему вниманию перевод еще одного доклада с прошедшего HaxeUp долж...

Вариант работы с вебсокетами в iOS на языке Swift / Написал менеджер для работы с websocket Всем привет. 4 года назад я уже разбирался с вебсокетами в iOS, тогда я решил задачу с помощью одной из библиотек cocoapods, статья есть на Хабре. А сегодня хочу продемонстрировать еще одно решение, нативное без cocoapods. Я написал свой менеджер для работы с вебсокетами ...

Шифрование TLS-трафика по алгоритмам ГОСТ-2012 c Stunnel В этой статье я хочу показать, как настроить Stunnel на использование российских криптографических алгоритмов в протоколе TLS. В качестве бонуса покажу, как шифровать TLS-канал, используя алгоритмы ГОСТ, реализованные в криптоядре Рутокен ЭЦП 2.0. Но для начала давайте вооб...

МЦКО принимает активное участие в столичном проекте «Московское долголетие» Директор МЦКО* Павел Кузьмин поделился информацией об участии Центра в проекте «Московское долголетие», ориентированным на москвичей старше 55 лет. Отмечается, что на занятиях в МЦКО участников проекта знакомят с современными видами функциональной грамотности. Они получают в...

[Перевод] Spring MVC: создание веб-сайтов и RESTful сервисов Вы можете использовать эту статью, чтобы понять, как использовать Spring MVC для создания веб-сайтов или RESTful сервисов. А также получить обзор часто задаваемых вопросов, охватывающих наиболее распространенные задачи Spring MVC. Примечание: Статья ~ 7500 слов, вероятно, не...

[Перевод] Анализ нагрузки на процессор, создаваемой отдельными JavaScript-компонентами Давайте немного поговорим о том, как наблюдать за тем, какой объём ресурсов процессора потребляет JavaScript-код приложений. При этом предлагаю построить наш разговор вокруг компонентов — базовых строительных блоков приложения. При таком подходе любые усилия по улучшению про...

Оживляем гексапода. Часть первая В прошлой статье мы поделились опытом создания гексапода с использованием технологии 3D печати. Теперь речь пойдет о программной составляющей, которая позволила его оживить. Первоначально планировалось изложить всю информацию в одной статье, но в процессе написания стало по...

Самая сложная задача в Computer Vision Среди всего многообразия задач Computer Vision есть одна, которая стоит особняком. К ней обычно стараются лишний раз не притрагиваться. И, если не дай бог работает, — не ворошить. У неё нет общего решения. Практически для каждого применения существующие алгоритмы надо тюнинг...

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

“Что делать, когда кардинальные изменения в процессах демотивируют команду”. Опыт бэкенд-инженера, ставшего тимлидом Я 7 лет работал бэкенд-инженером в Miro, затем стал тимлидом. За последние годы наша инженерная команда выросла вдвое, стала распределённой и международной, что повлекло за собой множество изменений. Одним из них стало введение кросс-функц...

Склонение слов и инициалов в Delphi/Freepascal Добрый, предновогодний день всем! В этой статье я бы хотел рассказать, как мне пришлось вернуться в legacy-проект на паскале, причем буквально перед тем, как навсегда распрощаться и с ним, и с лазарусом, и с отсутствием темной темы из коробки. В прошлый раз я объяснял, что н...

Три кейса инвентаризации рабочих станций в условиях удалённой работы Управление рабочими станциями при их физическом отсутствии в офисе — новый вызов для компаний, которые перевели сотрудников на удалённый режим работы. При наличии прав администратора, пользователи, непреднамеренно могут установить софт, который окажется эксплойтом для чьего-...

Позиция win-win: улучшаем пользовательский опыт и делаем онлайн-бизнес счастливее Рынок e-commerce в России растет быстро. По данным Яндекс.Кассы, с 2015 по 2020 год малый и средний бизнес вырос в объеме продаж на 148%, в 2 раза увеличилось количество платежей и стал выше средний чек. Если предприниматель опытный и не вчера вышел с бизнесом в онлайн, то о...

Учёные создали материал со свойствами теплового коммутатора Группа учёных из Университета Карнеги-Меллона (Carnegie Mellon University) из Департамента инженерной механики разработала полимер со свойствами теплового коммутатора. Предложенный материал способен сам переключать своё состояние (структуру) из проводящего тепло в состояние ...

[Перевод] Как использовать Инверсию Управления в JavaScript и в Reactjs для упрощения работы с кодом Инверсия Управления это довольно простой для понимания принцип программирования, который, при этом, может заметно улучшить ваш код. В данной статье будет показано как применять Инверсию Управления в JavaScript и в Reactjs. Если вы уже писали код который используется больше ...

[Перевод] Практическое руководство по HashiCorp Consul — Часть 1 Это часть 1 из серии 2 частей практического руководства по HashiCorp Consul. Эта часть в первую очередь ориентирована на понимание проблем, которые решает Consul и как он их решает. Вторая часть больше ориентирована на практическое применение Consul в реальном примере и буд...

1. Fortinet Getting Started v 6.0. Введение Добро пожаловать на новый видеокурс, посвященный решениям компании Fortinet — Fortinet Getting Started. По ходу данного курса я расскажу об основных решениях компании в рамках концепции Fortinet Security Fabric, а также на практике покажу работу с двумя основными решениями...

Настройка принтера этикеток XPrinter на Linux в VMware Workstation Пример для настройки в CentOS без графической оболочки, по аналогии можно настроить на любой ОС Linux. Решаю специфичную задачу, из php нужно печатать этикетки с произвольным текстом по шаблону. Поскольку на мероприятии нельзя рассчитывать на стабильный интернет, а большая ...

[Из песочницы] Архитектура нейронной сети RetinaNet Данная статья посвящается объяснению устройства архитектуры нейронной сети RetinaNet. Обзор был проведён мною в ходе выполнения дипломной работы, а так как для его написания потребовалось обращаться исключительно к англоязычным источникам и собрать найденную информацию воеди...

[Перевод] Адаптивная процедурная генерация при помощи алгоритма WaveFunctionCollapse и априорного распределения вероятностей Что такое процедурная генерация? Процедурная генерация включает в себя множество генеративных алгоритмов, принцип работы которых заключается в создании данных не вручную, а алгоритмически: вместо ручного изготовления того, что мы хотим создать (карты, музыки, рельефа…), пише...

Laravel-Дайджест (8–14 июня 2020) Подборка новых статей по фреймворку Laravel. Тайны Eloquent-отношений. Долгожданная загрузка файлов в Livewire. Планировщик задач без крона от Spatie. Уроки по созданию Блога, Новостного сайта и гибкой Корзины. Тесты, трейты и TDD. Фото: Erika Heidi Читать дальше →

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

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

Классификация с многими метками Привет, Хаброжители! Мы решили привести опубликовать отрывок из книги Андрея Буркова «Машинное обучение без лишних слов», посвященный классификации. Для описания изображения на рисунке можно использовать одновременно несколько меток: «хвойный лес», «горы», «дорога». Если ч...

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

Как джуниор Python-разработчику стать мидлом за год Привет! Я Рома, менеджер продукта в Яндекс.Практикуме, где развиваю курс «Мидл Python-разработчик». Мы делаем из начинающих разработчиков крепких мидлов с инженерным мышлением. Сегодня хочу поделиться небольшими заметками о том, над чем стоит работать, если вы джуниор, котор...

Open360: как мы начали с разработки модели премирования и сделали IT-систему для внутреннего HR TL;DR: рассказываю о задаче оценки вклада сотрудника в общий результат и новой open source системе проведения круговой оценки сотрудников, разработанной в нашей компании, на базе метода оценки 360 градусов. Здравствуйте, меня зовут Иван Кудрявцев — я технический директор и ...

[Перевод] Как создать проект Django из шаблона И снова здравствуйте! Специально для студентов курса «Web-разработчик на Python» мы подготовили еще один интересный перевод. Шаблон проекта на Django – это естественный способ решения проблем, которые возникают, когда формат Django-проекта по умолчанию уже не отвечает тр...

Инфографика средствами Excel и PowerPoint «Какой толк в книге, — подумала Алиса, — если в ней нет ни картинок, ни разговоров?» Льюис Кэрролл, «Алиса в Стране чудес» Всем привет! Мы уже привыкли к тому, что все чаще информацию нам стараются подать с элементами инфографики. Визуальные материалы воспринимаются и запом...

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

Российские пасхалки в мобильных приложениях. Какие они? Привет, Хабр! Уже завтра День программиста (12.09.2020), и специально к нашему профессиональному празднику я написал не хардкорно-технический пост, а лайтовую статью о маленьких, не всегда очевидных фичах, которые хоть и не часто, но встречаются в мобильных приложениях и не ...

[Из песочницы] Падение популярности PHP: не все так однозначно? Привет, Хабр! Представляю вашему вниманию перевод статьи "PHP in decline: The rise and fall of a programming language" автора Сара Шлотхауэр (Sarah Schlothauer). Когда-то PHP был одним из самых популярных языков программирования, однако на сегодняшний день он продо...

Вертолётный спорт Примерно за 30 тысяч рублей в час вы можете покатать ведро с водой на верёвке на вертолёте. Ведро будет брыкаться и выливаться, но ваша задача — пронести его заданным маршрутом через систему ворот и поставить в круг диаметром 22 сантиметра. Диаметр самого ведра 20 сантимет...

[Перевод] Что делать, когда CSS блокирует парсинг страницы? Недавно я проводил аудит одного сайта и наткнулся на паттерн preload/polyfill, который уже видел у нескольких клиентов. В наши дни использование этого паттерна, ранее популярного, не рекомендуется. Однако его полезно рассмотреть для того, чтобы проиллюстрировать важность ост...

Cucumber и BDD. Пишем UI-автотесты на iOS Привет, Хабр! В данной статье-мануале я хочу рассказать о базовых функциях такого фреймворка как Cucumber и его применение для создания ui авто тестов на мобильных iOS устройствах.Я ставлю перед собой задачу сделать описание максимально простым и понятным для большинства чит...

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

#05 — И целого байта мало… | Анимэ Сегодня темой выпуска ИЦБП будет… АНИМЭ. То самое, которое обычно обсуждают на irc-каналах про FreeBSD, в перерывах между патчами ядра. И вернемся мы назад во времени ажн к февралю 1999 года, то есть на двадцать один (!) год назад. Перед нами видео-диск Locomotion для ZX S...

PHP и регулярные выражения: азы для новичков В преддверии старта нового потока по курсу «Backend-разработчик на PHP», а также смежного с ним курса «Framework Laravel», хотим поделиться статьей, которую подготовил наш внештатный автор. Внимание! данная статья не имеет отношения к программе курса и будет полезна только ...

Собеседование scrum-мастера в 1Сную контору Основано на реальных событиях. - Виктор, добрый день, очень рад вас видеть! Прошу, проходите, присаживайтесь! – искренне улыбаясь, жму руку потенциальному спасителю нашей компании.Я давно интересуюсь скрамом, был опыт его применения, но вживую настоящего скрам-мастера я...

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

STM32 Часть 3: Первый Проект Мы наблюдаем общество, которое все больше зависит от машин, но при этом использует их все неэффективнее. — Douglas Rushkoff Эта фраза должна служить мотивацией для каждого программиста. Ведь именно вы решаете как машина использует свои ресурсы. Но как и с начала времен, чел...

[Перевод] Python-пакеты для Data Science Python — это один из самых распространённых языков программирования. Хотя стандартные возможности Python достаточно скромны, существует огромное количество пакетов, которые позволяют решать с помощью этого языка самые разные задачи. Пожалуй, именно поэтому Python и пользуетс...

[Из песочницы] Как принимать решения и приоритизировать задачи при создании продукта Основное занятие product-менеджера – принятие решений по тому или иному вопросу. В этой статье мы поговорим, на основе чего принимаются решения, как формируется пул гипотез для этих решений, и какие инструменты лучше применять. Два основных блока: Откуда взять идею (фидб...

Wash & Cure не очень богатого человека (1) Пока ко мне едет Фотон-С, решил я изучить матчасть, видосики там посмотреть разные. И наткнулся на видеообзор Еникубиковской машинки для сушки и мойки изделий. Автор рассказывал о том, как неудобна постобработка изделий, напечатанных на фотополимерном принтере. Охватила меня...

Xiaomi выпускает комплект из беспроводных мыши и клавиатуры за 900 рублей Xiaomi, что же ты с нами делаешь? Таких цен ведь давно уже нет на рынке. А тут сразу целый комплект менее чем за 900 рублей. Если совсем точно, то за 14 долларов, которые, правда, при доставке в Россию вполне могут перемахнуть слегка за 1000. А при покупке у официалов, пра...

Что такое «чистый код» в 2020-м? «Чистый код» и чистый кот Разработчиков хлебом не корми, дай поспорить о чистоте кода: например, недавно шумиху навёл пост Дэна Абрамова «Goodbye, Clean Code». Но при этом у самого понятия «чистый код» нет чёткого определения. Главная книга по этому вопросу — «Clean Code»...

[Из песочницы] Почему Rust должен стать функциональным языком программирования Привет, Хабр! Начав изучение Scala, я сразу столкнулся с тем, что функциональная реализация простейшего алгоритма быстрой сортировки работает радикально медленней и потребляет существенно больше памяти, чем аналогичная императивная реализация. При этом никто не спорит, что ...

[Перевод] Дэн Абрамов о замыканиях в JavaScript Замыкания вызывают у программистов сложности из-за того, что это — «невидимая» конструкция. Когда вы используете объект, переменную или функцию, вы делаете это намеренно. Вы думаете: «Тут мне понадобится переменная» — и добавляете её в свой код. А вот замыкания — это уже...

Неисповедимы пути контента или про CDN замолвим слово Дисклеймер: Данная статья не несет в себе сведений ранее неизвестных читателям, знакомым с понятием CDN, а носит характер обзора технологии Первая веб-страница появилась в 1990 году и имела размер в считанные байты. С тех пор контент масштабируется как качественно, так и ко...

[Из песочницы] Компилятор Befunge на Python В процессе подготовки к курсу «Основы компиляторов» для студентов 4-го курса я изучал различные эзотерические языки программирования. Вот хорошая статья на эту тему. В статье самым интересным мне показался язык Befunge (Крис Пресс, 1993 год), особо отмечу три его особенности...

Удалёнка. 15 правил для тех, кто никогда не пробовал, но приспичило Удалённая работа — это отлично. Грустно может быть только если вы никогда так не работали, а сейчас пришлось. Но в этом тоже ничего страшного, главное — соблюдать простые правила. Из-за сами знаете чего мы всей HTML Academy покинули офис и дружно сидим по домам (своим), п...

Как организовать тестирование, чтобы ускорить и стабилизировать релизы продукта. Часть 2 У тестировщика много возможностей повысить качество продукта и сделать работу команды комфортнее. Главное – обсуждать любые изменения с коллективом и внедрять только то, что удобно и полезно для всех. Меня зовут Виктория Дежкина, я отвечаю за тестирование ряда продуктов в Д...

Как выглядит zip-архив и что мы с этим можем сделать. Часть 3 — Практическое применение Продолжение статьи Как выглядит zip-архив и что мы с этим можем сделать. Часть 2 — Data Descriptor и сжатие. Дорогие читатели, я снова приветствую вас на передаче Нетрадиционное программирование на PHP. Для понимания происходящего рекомендую ознакомиться с предыдущими двумя...

[Из песочницы] Восемь важных привычек программиста «Человек может стать человеком только путем воспитания. Он — то, что делает из него воспитание» И. Кант На мой взгляд, эта цитата очень подходит программистам. По сути, программист – это ведь не просто специалист, который хорошо разбирается в технических вопросах. Программи...

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

Туториал по uplift моделированию. Часть 1 Команда Big Data МТС активно извлекает знания из имеющихся данных и решает большое количество задач для бизнеса. Один из типов задач машинного обучения, с которыми мы сталкиваемся – это задачи моделирования uplift. С помощью этого подхода оценивается эффект от коммуникации ...

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

[Из песочницы] Создание Discord-бота, используя библиотеку discord.js | Часть №1 Введение В этой статье я подробно расскажу о том, как работать с библиотекой discord.js, создать своего Discord-бота, а также покажу несколько интересных и полезных команд. Сразу хочу отметить, что я планирую сделать ряд подобных статей, начиная с простых команд, заканчивая...

[Перевод] Камеры или лазеры Какие датчики будут самыми важными в беспилотных машинах? Те датчики, что управляют так называемой системой восприятия, и это самое важное в управлении автомобилем. Задача системы восприятия – обнаруживать все важные объекты на дороге или рядом с ней, например, другие тран...

[Из песочницы] Как разместить статический сайт с помощью Yandex.Cloud Object Storage Привет, Хабр! В этой статье, я расскажу как легко и просто разместить статический сайт с помощью технологий Яндекса, а именно Object Storage. В конце у вас будет размещенный в сети сайт, который будет доступен по внешней ссылке. Эта статья будет полезна, если вы Начинающий ...

Взлом с помощью Юникода (на примере GitHub) Юникод исключительно сложен. Мало кто знает все хитрости: от невидимых символов и контрольных знаков до суррогатных пар и комбинированных эмодзи (когда при сложении двух знаков получается третий). Стандарт включает 216 кодовых позиций в 17-ти плоскостях. По сути, изучение Юн...

[Перевод] Как устроен процесс создания docker-контейнера (от docker run до runc) Перевод статьи подготовлен в преддверии старта курса «Инфраструктурная платформа на основе Kubernetes». За последние несколько месяцев я потратил немало личного времени на изучение работы Linux-контейнеров. В частности, что конкретно делает docker run. В этой статье я соб...

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

Как Программисту 1С стать Java developer'ом Несколько лет назад, когда я искал пути из программистов 1С в Java developer'ы — я бродил впотьмах, пытаясь нащупать дверь, в существовании которой был не уверен. Я пытался найти истории успеха, но кроме пары комментариев ничего не нагуглил. Мир Java выглядел огромным, а кол...

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

Что нужно знать об архитектуре ClickHouse, чтобы его эффективно использовать. Алексей Зателепин (2018г) ClickHouse — высокопроизводительная аналитическая база данных с открытыми исходниками, разработанная в Яндексе. Изначально ClickHouse создавался для задач Яндекс.Метрики, но постепенно нашёл множество применений как внутри Яндекса, так и в других компаниях. Я расскажу, как C...

Текст со смыслом: видео с первого митапа для UX-редакторов Кажется, все согласились: текст влияет на UX, поэтому нужно писать понятно, а непонятно писать не нужно. Отвечать за UX-тексты должен специальный человек — UX-редактор, контент-стратег. Но таких людей на рынке мало, а сообщества — по крайней мере, русскоязычного — и вовсе н...

[Перевод] Product Discovery 101 для Product-менеджера Перевод статьи подготовлен в преддверии старта новой группы по курсу "Product Manager IT-проектов". Так что же такое Product Discovery? Product Discovery – это процесс выяснения того, что же в конечном итоге предстоит создать. Он отражает ваше видение, дает бол...

SLAE — Security Linux Assembly Expert Exam Security Linux Assembly Expert — онлайн-курс и экзамен по основам 32-битного языка ассемблера процессоров семейства Intel в Linux-системах в контексте информационной безопасности. Курс будет полезен пентестерам, инженерам по информационной безопасности и всем, кто желает ра...

10 трендов дизайна креативов 2021-2022, которые цепляют сейчас и будут цеплять в ближайший год + много примеров Наш дизайнер уже давно просился написать в наш блог, собирал примеры и отслеживал тренды. И вот сегодня мы рассмотрим 10 (и еще 2 спорных) трендов в дизайне креатива, которые, на наш взгляд, способны повысить CTR объявления, поэтому, вероятно, доживут с нами оставшиеся месяц...

[Перевод] Конференция DefCon 27: за кулисами создания электронных бэйджей. Часть 1 Ведущий: приветствую всех на 27-конференции DefCon! Поскольку многие из вас здесь впервые, расскажу вам о некоторых основополагающих моментах нашего сообщества. Один из них состоит в том, что мы во всем сомневаемся, и если вы услышали или увидели что-то непонятное, просто за...

Работа в Google. Из Украины в Кремниевую долину Он решил пару математических задач и устроился на стажировку в Facebook, уехал из Украины в Кремниевую долину, перешел в Google и теперь работает из дома 4 дня из 5. Мы пообщались с Вовой, инженером компании Google, который поделился историей, как он попал на стажировку в Fa...

Подорожает ли iPhone в России из-за падения курса рубля Экономика – очень сложная штука, которую невозможно понять с наскока. Именно по этой причине всякий раз, когда происходят скачки курса валют, мы не всегда можем понять, что именно привело к резкому обвалу рубля и укреплению доллара. Но если разбираться в рыночных отношениях...

Самый сочный веб-апп. Громим OWASP Juice Shop — полигон для атак на веб-приложения Для подписчиковBug bounty, то есть поиск уязвимостей ради получения награды, становится все более популярным. Перед начинающим багхантером часто стоит задача потренироваться на живом примере, но при этом ничего не сломать и не нарушить закон. В этом тебе поможет прекрасный, ...

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

[Перевод] Пол Грэм: «Главная идея в вашей голове» (The Top Idea in Your Mind) Недавно я понял, что недооценивал важность того, о чем люди думают в душе по утрам. Я и раньше знал, что в это время в голову часто приходят отличные идеи. Теперь я скажу больше: вряд ли вы сможете сделать что-то действительно выдающееся, если не будете думать об этом в душе...

Шутер VALORANT от Riot Games может выйти и на мобильных VALORANT, новый шутер от студии Riot Games, авторов League of Legends, стал настоящим хитом на Twitch. Часть такого успеха можно объяснить тем, что просмотр трансляции был одним из условий для получения доступа к бета-тесту, но это не отменяет того факта, что к моменту выход...

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

Финал онлайн-хакатон для самозанятых SMZhack: проекты, которые выйдут в люди Две недели назад на Хабре публиковалась новость о скором проведении хакатона SMZ Hack для самозанятых. Его организаторы — Wallet One, ФНС России и Russian Hackers. Цель — предложить и реализовать идею сервиса для самозанятых. 26 апреля жюри выбрало трех победителей, их п...

[Из песочницы] Валидация данных в iOS приложениях Думаю, каждый из нас сталкивался с задачей валидации данных в приложениях. Например, при регистрации пользователя нужно убедиться что email имеет правильный формат, а пароль удовлетворяет требованиям безопасности и так далее. Можно привести массу примеров, но все в итоге сво...

[Из песочницы] Все этапы создания робота для следования по линии, или как собрать все грабли с STM32 Привет, Хабр! В этой публикации речь пойдет про мой опыт создания робота для соревнований, а именно следование по линии. Постараюсь рассказать все этапы от проектирования схемотехники и заказа печатной платы до алгоритма и программы. Гонка роботов по линии уже давно стала ...

Подборка лучших цен: Xiaomi Redmi Note 8 Pro, наушники Baseus S06 и ... Психология современного потребителя — он хочет получать скидки, он хочет видеть выгодные предложения. Но шерстить просторы виртуальных прилавков задача утомительная и требует много времени. Мы упростим эту задачу для вас и будем делиться теми выгодными предложениями, к...

[recovery mode] Украденное резюме, человек, который ушел в Кемерово, призыв кандидата и другие «увлекательные» истории трэш-собеседовани За время работы в IT-рекрутинге у нас накопилось много историй о смешных, нелепых и странных собеседованиях как от разработчиков, так и от HR. Поэтому решили запустить рубрику «Трэш-собеседования», где будем делиться подобным контентом. В этой статье собрали 13 историй: стра...

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

Лучшие смартфоны 2020 года с ценником до $300. Версия Andro news Номинация лучший смартфон в ценовом сегменте до $300 С завидной регулярностью зрители нашего YouTube-канала обращаются к нам с просьбой назвать лучший смартфон в определенной ценовой категории. Сегодня на рынке огромное количество устройств. Многие схожи друг с другом. Поэто...

[Перевод] Визуальный отладчик для Jupyter Прогресс большинства программных проектов строится на малых изменениях, которые, перед тем, как двигаться дальше, тщательно оценивают. Быстрое получение результатов выполнения кода и высокая скорость итеративной разработки — это одни из основных причин успеха Jupyter. В особ...

[Из песочницы] Создаем прогрессивный PWA интернет-магазин на Nuxt.js 2 пошаговое руководство Часть 1 Статья ориентированна на людей, которые уже имеют понимание работы Vue, на котором основан Nuxt, поэтому я буду заострять внимание только на специфических для Nuxt вещах. Но даже если вы не знакомы с ними, то статья даст общее представление как выглядит проект с PWA Nuxt. Вы...

Почему мы выбрали Kotlin одним из целевых языков компании. Часть 2: Kotlin Multiplatform Продолжаем цикл статей о внедрении языка Котлин в наш процесс разработки. Первую часть ищите здесь. В 2017 году увидел свет амбициозный проект от компании Jetbrains, предлагающий новый взгляд на кросс-платформенную разработку. Компиляция кода на kotlin в нативный код различ...

[Из песочницы] Использование Quartus и ModelSim Меня всегда интересовала цифровая схемотехника, а в частности языки описания аппаратуры -HDL. У меня давно лежала в списке будущего чтения книга Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», воспользовавшись свободным временем на самоизо...

Маленькая паяльная станция своими руками v2 Привет. Некоторое время назад я собрал маленькую паяльную станцию, о которой хотел рассказать. Это дополнительная упрощенная паяльная станция к основной, и конечно не может ее полноценно заменить. Основные функции: 1. Паяльник. В коде заданы несколько температурных режимов ...

[Перевод] Фольклор программистов и инженеров (часть 1) Это подборка историй из интернета о том, как у багов иногда бывают совершенно невероятные проявления. Возможно, вам тоже есть что рассказать. Читать дальше →

[Из песочницы] Получение meterpreter сессии внутри NAT сети, с помощью Chrome и Pivot машины Вводная Всем привет, в этой статье я хочу поделиться своим опытом в эксплуатации уязвимости Chrome FileReader UAF, проведении техники pivoting, ну и написать свою первую статью конечно. Так как я являюсь начинающим Pentest инженером, то потратил на освоение и понимание этой...

Хакеры могут превратить спутники планеты в оружие В прошлом месяце SpaceX стала оператором наибольшего в мире количества активно работающих спутников. Известно, что по состоянию на конец января 2020 года, компания имела 242 спутника, вращающихся вокруг планеты, и планировала запустить еще 42 000 в течение следующего десяти...

Ультимативный гайд по собеседованию DevOps-инженеров — что спрашивать и к чему готовиться Я начал заниматься сетями еще в школе, а работаю за деньги больше 16 лет. Я много куда устраивался, в большие компании и маленькие, потом открыл свой бизнес и регулярно сам нанимаю людей. С годами и опытом у меня, да и у многих, вырабатывается интервьюшная интуиция. Это к...

Amazon выпустила открытую библиотеку для создания ИИ-моделей несколькими строками кода Благодаря AutoGluon можно создавать модели искусственного интеллекта, использующие изображения, текст и табличные наборы данных, путём написания небольшого количества строк кода.Создание таких приложений - задача непростая, поскольку разработчики должны знать, как настраиват...

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

Коды избыточности: простыми словами о том, как надёжно и дёшево хранить данные Так выглядит избыточность. Коды избыточности* широко применяются в компьютерных системах для увеличения надёжности хранения данных. В Яндексе их используют в очень многих проектах. Например, применение кодов избыточности вместо репликации в нашем внутреннем объектном хранил...

Сниппет, расширение для VSCode и CLI. Часть 1 Доброго времени суток, друзья! В процессе разработки Современного стартового HTML-шаблона я задумался о расширении возможностей его использования. На тот момент варианты его применения ограничивались клонированием репозитория и скачиванием архива. Так появились HTML-снипп...

R Markdown. Как сделать отчет в условиях неопределенности? Маленький рецепт, который будет полезен при создании динамических отчетов. Достаточно часто встречается ситуация, когда размер и содержание отчетной формы будет зависеть от состава переданных на вход данных. Речь идет именно о story-telling отчете, а не о простом выводе таб...

[Из песочницы] Как использовать поиск эффективно Доброго времени суток. Сейчас мне немного за тридцать, и бо́льшую часть своей жизни я пользуюсь поиском в интернете. Так же, как большинство людей. Но, чем больше проходит времени, тем заметнее для меня становится то, что многие люди не используют и малую часть его возможнос...

Эксклюзив Android 10 стал доступен для всех смартфонов на Android 9 Pie Компания Google объявила о выходе полезной функции концентрации внимания Focus Mode приложения Digital Wellbeing (Цифровое благополучие) из стадии бета-тестирования.  Ранее режим концентрации внимания Focus Mode был доступен только для устройств с установленной оп...

Бытовые лайфхаки: 105 способов использования привычных вещей Кроме скотча, есть ещё несколько универсальных средств, которые решают множество бытовых проблем. Способы их использования не всегда очевидны. Мы представляем пять продуктов, которые пригодятся вам дома, и предлагаем варианты их применения.

TestOps: писать автотесты недостаточно Совсем недавно я услышал замечательную историю о проекте внутри крупной российской IT-компании, ищущей руководителя в отдел тестирования. Задача была простая: есть отдел из 20 человек, которые за последние несколько лет наколбасили несколько тысяч автотестов и спроектировали...

[Перевод] Дорога в ад JavaScript-зависимостей Каждый JavaScript-проект начинается с благих намерений, заключающихся в том, что его создатели обещают себе не использовать слишком много NPM-пакетов в ходе его разработки. Но даже если разработчики прилагают немалые усилия к тому, чтобы сдержать это обещание, NPM-пакеты пос...

Гайд по UI анимации. Как начать анимировать интерфейсы Привет! Меня зовут Айгуль, я продуктовый дизайнер в Райффайзенбанке, а до этого работала в Mail.ru Group, OneTwoTrip и приложила руку к нескольким стартапам. Как-то я взяла на себя задачу продумать систему UI-анимаций для дизайн-системы. Но когда я начала над ней работу...

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

Интересные материалы: 12.03 Закрываем неделю дизайн-токенами, собеседованием для Flutter-разработчика и инструкции а дополненной реальности.

Код iOS 14 подтвердил функцию замера кислорода в новых Apple Watch Существует масса способов узнать информацию о новых продуктах Apple разной степени достоверности. Это и прогнозы аналитиков, и сливы инсайдеров, и утечки государственных органов, регистрирующих новые устройства перед запуском, и даже случайные отсылки к предстоящим новинкам...

Подборка VR-шлемов для промышленных задач Чаще всего люди покупают себе шлем виртуальной реальности (VR) для того, чтобы использовать его для развлечения. Ведь платформы Steam, Oculus Store и Windows всем знакомы по огромному количеству игр! Однако в настоящее время растет спрос на индустриальный VR, возможности кот...

Как собрать образ Oracle DB для Testcontainers Код должен тестироваться на той СУБД, с которой он будет работать. Testcontainers — это такая библиотека, которая позволяет использовать в юнит тестах практически любую СУБД с той же лёгкостью, что embedded базы данных типа HSQLDB или H2. Был бы только Docker образ Именно с...

[Из песочницы] Пишем шейдеры кодом в Unity LWRP Введение Здравствуй, Хабр. Сегодня хочется рассказать немного о том, как можно быстро и безболезненно (почти) начать писать классические текстовые шейдеры в Unity с использованием Lightweight Rendering Pipeline (LWRP) — одним из примеров конвейера Scriptable Rendering Pipeli...

Правильное TDD Привет, Хабр! На написание этого поста меня вдохновил другой пост TDD есть опиум для народа, где обсуждаются спорные моменты в подходе TDD и в принципе делается вывод о его несостоятельности (хотя и признается необходимость тестов в любом случае). С автором я был полностью с...

[Перевод] Как питомцы могут сделать из вас хорошего программиста (да, они действительно это могут!) Перед вами перевод статьи, опубликованной на сайте medium.com. Автор, Mahdhi Rezvi, рассказывает, как развивать свои технические и нетехнические скиллы с помощью пушистого друга. Читать дальше →

Практическое занятие «Поиск вредоносного ПО в IoT» Продолжаем серию занятий по разбору CTF-задач для тех, кто начинает карьеру в ИТ и ИБ. Ближайший вебинар стартует в четверг 23 апреля в 18:00 и будет посвящен поиску вредоносного ПО в IoT. Будем разбирать протокол общения вредоносного ПО с C&C-серверами на примере ботне...

Чистое зло Python Темные силы не дремлют. Они пробираются в дивное королевство Python и используют черную магию, чтобы осквернить главную реликвию — чистый код. Однако опасны не только злые чары. Сегодня я расскажу о страшных чудовищах, которые, возможно, уже обжились в вашем коде и готовы ус...

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

[Перевод] Celery throttling — настраивам rate limit для очередей ​ В этой статье я покажу как решить одну из проблем, возникающих при использовании распределенных очередей задач — регулирование пропускной способности очереди, или же, более простым языком, настройка ее rate limit'a. В качестве примера я возьму python и свою любимую связку ...

Настроили мониторинг. Что дальше? Всем привет! Меня зовут Мазеин Михаил, я занимаюсь бекенд-разработкой в ManyChat. Одна из моих задач — анализ и повышение качества нашего продукта через системы мониторингов, алармов и сопутствующих процессов. Я на своем опыте убедился в том, что выстроить мониторинг — недо...

[Из песочницы] Как завести pet project и не получить выгоды TL;DRСтатья описывает использование pet project как способ поддержания и улучшения навыков. Автор создал PHP библиотеку для установки ФИАС из XML файлов. Цель Я редко меняю места работы, поэтому, учитывая естественное стремление каждой организации к фиксированным процессам,...

Async programming in .NET: Best practices Появление async/await в C# привело к пересмотру того, как писать простой и корректный параллельный код. Зачастую, используя асинхронное программирование, программисты не только не решают проблемы, которые были с потоками, но и привносят новые. Дедлоки и рейсы никуда не пропа...

[Из песочницы] Хакинг классического Sonic the Hedgehog для Sega В этой статье я хочу разобрать внутреннее устройство легендарной игры Sonic the Hedgehog для приставки Sega Mega Drive, а также способы ее модификации или, как еще говорят, хакинга. Эта игра насчитывает порядка сотни хаков, включающих как действительно достойные работы (таки...

[Из песочницы] Фундаментальное решение системы линейных уравнений. Взгляд со стороны Добрый день! В данной статье я попробую взглянуть по новому на алгоритм поиска общего решения системы линейных уравнений. Задача, которой мы займемся звучит так. Найти общее решение следующей системы уравнений Такую задачу решают, приведя исходную систему к треугольному...

svchost.exe грузит память в Windows 7, 8, 10: что это за процесс и как решить проблему Кажется, что разговор о тех или иных ошибках Windows может стать бесконечным. На самом деле трудно отрицать тот факт, что вполне нормально сталкиваться с ошибками на своем компьютере, если своевременно не заботиться о его здоровье. На этот раз попробуем разобраться с проблем...

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

Почему 33-ваттный зарядник Xiaomi заряжает смартфон быстрее, чем 66-ваттный от Huawei Быстрая зарядка – штука очень специфическая и многогранная. У вас может быть смартфон с поддержкой Quick Charge и мощный блок питания, но скорость зарядки всё равно будет никакой, как если бы вы использования 5-ваттный адаптер от старого айфона. Потому что для процесса быст...

Задача №2. Определение популяционной структуры Мы продолжаем цикл задач, где рассказыаем, как работать с генетическими данными. Первую задачу «Узнайте пол и степень родства» уже можно решить и прислать нам ответы. Сегодня публикуем вторую. Главный приз — Полный геном. Читать дальше →

[Из песочницы] Как копирайтеру писать для IT без глупостей и стереотипов Привет. Я Дмитрий — автор и редактор, помогаю IT-компаниям рассказывать о себе с помощью PR-статей на различные ресурсы, начиная от развлекательных и заканчивая большими профильными площадками (Как раз про Хабр, да). Кто-то вроде литературного негра — грубо говоря, ко мне пр...

Разбор вступительных задач Школы Программистов hh.ru 20 октября закончился набор в Школу программистов hh. Он длился два с половиной месяца. Мы благодарим всех участников, уделивших время попытке поступить к нам. Надеемся, вам понравились задания и вы получили удовольствие от их решения! Приглашаем посмотреть задания, которые...

Выбираем флеш-карты: подробное руководство по разновидностям Secure Digital При выборе жесткого диска у «продвинутого» покупателя обычно не возникает особых проблем. Взять тот же WD6003FZBX на 6 ТБ: скорость вращения шпинделя 7200 оборотов в минуту, вместительный кэш в 256 мегабайт и наличие высокоскоростного интерфейса SATA III с пропускной спосо...

Skillbox поможет компаниям бесплатно находить сотрудников из digital-сферы А также адаптировать учебные курсы под задачи компании для развития HR-бренда. Онлайн-университет Skillbox запустил Центр карьеры, который поможет компаниям находить дизайнеров, программистов и маркетологов.  Бизнес может воспользоваться Центром карьеры, чтобы бесп...

Где стажировку проходили, там и работайте — 4 истории стажёров Сбербанка Это истории тех, кто учится в «Школе 21», успешно прошёл стажировку и остался работать в Сбербанке. Я уже рассказывала, что этот проект — путь в IT и он крайне эффективен. Если очень коротко — мы научились готовить джунов с нуля за год, делая упор на soft skills. Учиться н...

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

[Из песочницы] Императивный подход к реактивным данным на примере Jetbrains KTor и R2DBC Статья об использовании реактивного доступа к базам данных из корутин. Spring все упрощает, но это плохо сказывается на понимании реальных процессов работы приложения. Для демонстрации был выбран фреймворк KTor (просто потому, что мне нравится смотреть на то, что делает JetB...

Чистая архитектура с Go Меня зовут Эдгар (ZergsLaw), я работаю в компании, которая занимается  финтех-разработкой для b2b и b2c. Когда только устроился в компанию, то попал в команду большого финтех-проекта и получил «в нагрузку» небольшой микросервис. Мне поручили его изучить и подготовить план ре...

Как странный код скрывает ошибки? Анализ TensorFlow.NET Статический анализ – крайне полезный инструмент для любого разработчика, так как помогает вовремя отыскать не только ошибки, но и просто подозрительные и странные фрагменты кода, которые могут вызвать недоумение у программистов, которым пришлось бы работать с ним в будущем....

Пусть хоть потоп, но 1С должна работать! Договариваемся с бизнесом о DR Представьте себе: вы обслуживаете ИТ-инфраструктуру крупного торгового центра. В городе начинается ливень. Потоки дождя прорывают крышу, вода заполняет торговые помещения по щиколотку. Надеемся, что ваша серверная не в подвале, иначе проблем не избежать.   Описанная история...

Общий финансовый анализ на Python (Часть 2) Ну что продолжим? Скользящее окно (Moving Windows) В заголовке я привел дословный перевод. Если кто меня поправит, и другой термин более применим — то спасибо. Смысл скользящего окна– с каждым новым значением функция пересчитывается за заданный период времени. Этих функций...

Рецепты PostgreSQL: шаблонизатор mustach Для приготовления шаблонизатора mustach нам понадобится postgres и mustach. Можно также воспользоваться готовым образом. Зачем нужен шаблонизатор в базе? Ну, во-первых, если шаблонизатор в базе, то и сами шаблоны тоже должны быть в базе. А зачем нужно хранить шаблоны в базе...

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

GitHub: шаблон Zabbix для мониторинга задач сбора данных в MaxPatrol SIEM Сегодня SIEM – это главный помощник при анализе событий ИБ: трудно представить, сколько бы потребовалось времени, чтобы вручную просматривать логи с множества источников. При этом прекращение сбора данных с источника – достаточно распространенная проблема SIEM. И далеко не...

[Перевод] Почему разработчики влюбляются в функциональное программирование? Функциональное программирование (ФП) существует уже лет 60, но до сих пор оно всегда имело достаточно узкую сферу использования. Хотя компании, меняющие мир, вроде Google, полагаются на его ключевые концепции, средний современный программист знает об этом феномене очень мало...

Поиск работы в Германии продакт-менеджером и не только. Часть 3/5. Что нужно сделать перед тем, как начать рассылать CV Начало серии постов смотрите здесь и здесь. Ваши действия при поиске работы зависят от целей, которые вы преследуете. Например, вы твердо хотите попасть в Facebook на позицию аккаунт-менеджера по работе с малым и средним бизнесом. В этом случае вы начинаете читать многочисл...

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

Языковые модели как двигатель прогресса: необычные применения для GPT-3 В начале лета разработчики из OpenAI представили языковую модель GPT-3, созданную для написания связного текста на основе заданного материала. Её обучали на 570 гигабайтах содержимого веб-страниц, википедии и художественной литературы, что почти в 15 раз превышает объем да...

Как начинающему инвестору законно снизить налоги: 5 работающих способов Изображение: Unsplash Во времена нестабильной ситуации на рынках у инвесторов появляется естественное желание минимизировать затраты. В том числе, благодаря снижению налоговой нагрузки. Сегодня мы разберем несколько практических способов законного снижения налогов, которы...

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

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

[Перевод] Ненужные расширения для VS Code Недавно я занялся тщательным исследованием VS Code и сделал несколько интересных находок. Как оказалось, в редакторе есть довольно много возможностей и настроек, позволяющих отлично решать те же задачи, которые решают многие популярные расширения. Здесь речь пойдёт о шест...

Определение объёма кластера Elasticsearch и тестирование производительности в Rally В этой статье мы разберёмся с основными подходами к сайзингу Elasticsearch, покажем сравнения бенчмарков кластера при загрузке логов и метрик. А разница там заметная. Надеемся, вам это поможет с определением объёма кластера Elasticsearch и расшифровкой того самого «it depend...

Microsoft подтвердила проблемы с запоминанием паролей в Windows 10 В течение последних нескольких месяцев мы сообщали подробности о критической уязвимости в Windows 10, которая удаляет пароли, хранящиеся в операционной системе. В Windows 10 приходилось вводить учетные данные своего приложения и веб-сайтов при каждой перезагрузке, что доволь...

Почему ученые озабочены проблемой атома? Загадка работы атома до сих пор остается неразгаданной Никто на самом деле не знает, какие именно процессы происходят внутри атома. Единственное, что остается достоверно известным — это то, что электроны носятся вокруг орбиталей во внешней оболочке атома, образуя больш...

Сотрудники Шрёдингера В жизни часто бывает так, что понимание явления зависит от точки наблюдения. Особенно, если эта точка находится вне традиционного контекста существования явления.Так, что-то замудрил… Я лишь хотел напомнить о том, что вы и так знаете: иногда, чтобы «увидеть» закон всемирного...

[Перевод] Zero Downtime Deployment и базы данных В этой статье подробно объясняется, как решать проблемы, связанные с совместимостью баз данных при деплое. Мы расскажем, что может произойти с вашими приложениями на проде, если вы попытаетесь выполнить деплой без предварительной подготовки. Затем мы пройдемся по этапам жиз...

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

JavaScript библиотека Webix глазами новичка. Часть 3. Модули, диаграммы, древовидные таблицы Я — начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI б...

JavaScript библиотека Webix глазами новичка. Часть 2. Работа с формами Я начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI биб...

Имитация Сложности — Антиномия Простого и Сложного Программисты много говорят про сложность решений. Мы можем часами размышлять о правильных шаблонах, красивых абстракциях и цепочках зависимостей. Однако, давайте поговорим открыто, всегда ли сложность обусловлена решаемой проблемой? Не оказываемся ли мы в плену наших стереот...

Книга «Грокаем технологию Биткоин» Привет, Хаброжители! Хотите разобраться в технологии Биткоин на глубоком концептуальном уровне? «Грокаем технологию Биткоин» на наглядных схемах и ярких примерах учит мыслить по-новому. Вы узнаете, как на самом деле происходит майнинг, возникают биткоины, как войти в сеть Б...

[Из песочницы] 10 признаков того, что хороший программист из вас не получится Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Signs You Will Suck at Programming» автора Jonathan Bluks. Очень часто на Reddit или Quora я вижу вопросы вида «Как понять, смогу ли я стать успешным программистом?» (На самом деле, эта статья является расширенн...

Реализация поиска печатей на OpenCV без нейронок, регистрации и смс Не так давно перед нами стояла задача найти и извлечь печати с документов. Зачем? Например, для проверки наличия печатей в договорах с двух сторон (участников договора). У нас в закромах уже был прототип для их поиска, написанный на OpenCV, но он был сыроват. Решили откопат...

Про их работы ещё не знает Википедия Нет, эта статья не про фантазии автора, патриотические песни или популистские размышления на тему. Это рассказ о том, как оно есть на самом деле. Как в одном конкретном ВУЗе создали условия, благодаря которым работать в нём вернулись те самые "утекшие мозги", уехав...

Очередная статья: STM32 для начинающих Всех приветствую! Это моя первая статья на Хабре, поэтому прошу не кидаться тяжелыми предметами. Заранее спасибо. Начнем с предыстории. Когда-то мне пришлось перейти на микроконтроллеры ARM фирмы ST. Это было связано с тем, что PIC и AVR уже не хватало и хотелось новых при...

Безопасный downgrade macOS Big Sur (без 1008F) Недавно, я писал о том, как решить проблему с вечной ошибкой 1008F при попытке откатить macOS Big Sur до macOS Catalina через Internet Recovery. Как показал опрос, есть необходимость рассказать о том, как откатить macOS Big Sur без ошибки 1008F. Причин для отката может бы...

Как можно обучить детей программированию? Чем раньше ребенок начнет учиться программированию, тем лучше Apple, как известно, воспитывает программистов iOS еще на школьной скамье, в чем компании помогает приложение Swift Playgrounds. Как это происходит? Например, ученик хочет программировать дроны от Parrot или устро...

Шпаргалка аналитику: как «раскопать» систему На конференции аналитиков Analyst days #10 было выступление архитектора с докладом как раскопать legacy систему без документации или при наличии противоречивой документации («4 правила археолога: как «раскопать» систему» Евгений Асламов). Отличный доклад. Когда аналитик при...

[Перевод] Учимся читать научные статьи у Эндрю Ына из Стэнфорда Мудрость является не продуктом обучения, а пожизненной попыткой ее приобрести.Альберт Эйнштейн Каждому, кто серьёзно занимается машинным обучением, необходимо научиться понимать то, что публикуется в научных статьях. Подобные публикации делают учёные, находящиеся на передне...

SOLID == ООП? Наверное я не ошибусь, если скажу, что чаще всего на собеседованиях спрашивают о SOLID принципах. Технологии, языки и фреймворки разные, но принципы написания кода в целом похожи: SOLID, KISS, DRY, YAGNI, GRASP и подобные стоит знать всем. В современной индустрии уже много д...

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

[Из песочницы] Пагинация для телеграм бота на Python Недавно встала передо мной задача сделать пагинацию списка элементов в телеграм боте. И с удивлением обнаружила, что для такой, казалось бы типовой задачи в PyPi нет ни одной библиотеки. Поэтому решено было исправить это досадное упущение и опубликовать свою реализацию. Чита...

Security Week 14: приватность в условиях пандемии В дайджесте на прошлой неделе мы привели примеры эволюции традиционной киберпреступности на фоне пандемии. Это важная тема, особенно в условиях массового перехода на удаленную работу, но лишь в краткосрочной перспективе. Мы еще столкнемся с кибератаками, эксплуатирующими «ви...

[Из песочницы] Собственный софт-процессор на ПЛИС с компилятором языка высокого уровня или Песнь о МышЕ Собственный софт-процессор на ПЛИС с компилятором языка высокого уровня или Песнь о МышЕ — опыт адаптации компилятора языка высокого уровня к стековому процессорному ядру. Распространенной проблемой для софт-процессоров является отсутствие средств разработки для них, особен...

Вебинар с Егором Рафиковым: как разобраться в теме грантов, если ты новичок Образовательная платформа Теплосеть приглашает на вебинар «Как получить первую грантовую поддержку для начинающего проекта». Вы узнаете, как быстро найти грант, определить, что он подходит для вашего проекта, и правильно составить заявку. Вебинар пройдет 25 марта 2020 го...

Персонализированный интерфейс. Часть 2. Автоматическая настройка навигации Автоматическая конфигурация интерфейсов в зависимости от характера работы пользователя — задача ой какая непростая, но, кажется, посильная. Сегодня я расскажу, с чего наша Android-команда начала разработку персонализированного интерфейса, какие данные мы получили в ходе эк...

[Из песочницы] Пособие начинающего серфингиста или жизнь программиста в Португалии Привет! Статью о своём опыте в Португалии хотелось написать уже давно, но природная скромность лень не позволяла. Среди ранее опубликованного на Хабре можно почитать Португалия. Лучшие пляжи и тысяча стартапов в год, а также хороший обзор от QA Вадима на Доу — Почему Порту...

Как мы технически обеспечиваем работу офисов ABBYY во время карантина Хабр, привет! Меня зовут Олег, и я отвечаю за IT-службу в группе компаний ABBYY. Больше месяца назад сотрудники ABBYY по всему миру начали работать и жить только дома. Больше никакого опенспейса и командировок. Поменялась ли моя работа? Нет. Хотя вообще-то да, но она изменил...

Книга «Глубокое обучение в картинках. Визуальный гид по искусственному интеллекту» Привет, Хаброжители! Глубокое обучение стало мощным двигателем для работы с искусственным интеллектом. Яркие иллюстрации и простые примеры кода избавят вас от необходимости вникать в сложные аспекты конструирования моделей глубокого обучения, делая сложные задачи доступными ...

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

Как провести онлайн митап и сколько это стоит Привет! Меня зовут Антон Матренин, я один из организаторов сообщества ArtFlutter. Сегодня мы поговорим об онлайн митапах, платформах для онлайн конференций, стриминговых сервисах и в конце покажу пример настройки собственного онлайн-события.Все мы привыкли к конференциям, ...

Что должен уметь специалист по Data Science? Будущее за наукой о данных За последние несколько лет технологии интегрировались с многими бизнесами, что сформировало новые профессии, которые стали очень востребованными на рынке. Одним из таких направлений стало Data Science: специалисты в этой области сейчас нарасхват, и...

Микросервисы на С++. Выдумка или реальность? В этой статье я расскажу о том, как создал шаблон (cookiecutter) и настроил окружение для написания REST API сервиса на С++ с использованием docker/docker-compose и пакетного менеджера conan. Во время очередного хакатона, в котором я участвовал в качестве бекенд-разработч...

Обнаружена целевая атака, жертвы которой заражались через часто посещаемые ими сайты Кампания получила название Holy Water, в рамках неё злоумышленники используют нестандартные подходы, но их нельзя назвать технически сложными. Главные особенности - быстрое эволюционирование и применение широкого набора инструментов, в частности атакующие использовали хранил...

[Из песочницы] Remote observer Если проект вышел за рамки локальной машины, скорее всего придётся интегрироваться с какими-нибудь сторонними системами. Хочу рассмотреть случай, когда упомянутая внешняя система хочет получать уведомления о каких-либо изменениях в нашей системе. Например, обновление каталог...

Госслужба занятости запустила «Образовательный портал» с бесплатными обучающими курсами для соискателей и работодателей Государственная служба занятости запустила новый онлайн-проект для успешного трудоустройства украинцев — «Образовательный портал Госслужбы занятости», на котором собрана полезная информация, обучающие курсы и т.п. В частности, новый сервис https://skills.dcz....

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)