• Microsoft признала, что февральское обновление безопасности KB4524244 для Windows 10 содержит критические ошибки



      Обновление KB4524244 распространялось Microsoft в рамках ежемесячного обновления Patch Tuesday и стало доступно пользователям 11 февраля 2020 года. Согласно описанию обновления, оно должно было улучшить систему безопасности Windows 10 (версии 1909, 1903, 1809 и 1607) и исправить уязвимости в менеджерах загрузки, созданных сторонними производителями ноутбуков и ПК, например, HP. Но что-то пошло не так. Многие пользователи начали жаловаться на проблемы после установки этого обновления — у них начались происходить внезапные перезагрузки системы, некоторые компьютеры стали зависать на время или тормозить.

      15 февраля 2020 года Microsoft признала наличие критических ошибок в этом обновлении, а сейчас настоятельно рекомендует пользователям удалить обновление KB4524244, если оно было установлено в системе.
      Читать дальше →
    • CreateRemoteThread для Linux

      • Tutorial

      Мицуха несёт новые потокиВ WinAPI есть функция CreateRemoteThread, позволяющая запустить новый поток в адресном пространстве другого процесса. Её можно использовать для разнообразных DLL-инъекций как с нехорошими целями (читы в играх, кража паролей, и т. д.), так и для того, чтобы на лету исправить баг в работающей программе, или добавить плагины туда, где они не были предусмотрены.


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


      Я подробно расскажу о том, как с помощью спецификации ELF, некоторого знания архитектуры x86_64 и системных вызовов Linux написать свой маленький кусочек отладчика, способный загрузить и исполнить произвольный код в уже запущенном и работающем процессе.


      Для понимания текста потребуются базовые знания о системном программировании под Linux: язык Си, написание и отладка программ на нём, осознание роли машинного кода и памяти в работе компьютера, понятие системных вызовов, знакомство с основными библиотеками, навык чтения документации.

      Читать дальше →
    • Как официально оплатить услуги фрилансера за границей, заплатить 0% налогов и не кормить платёжные системы

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

      Из статьи вы узнаете с какими проблемами сталкивается бизнес при оплате работ фрилансеров, как отнести данные затраты к расходам, как заплатить с расчётного счёта организации, какие документы и как составить, а так же будут приведены образцы документов.
      Читать дальше →
    • Пишем простое веб-приложение используя Spring MVC, Spring Data JPA и Hibernate

      Привет, Хабр! Представляю Вашему вниманию перевод руководства «Spring MVC + Spring Data JPA + Hibernate — CRUD Example» автора Nam Ha Minh.

      В этом руководстве по Java Spring вы узнаете, как настроить Spring MVC приложение для работы с Spring Data JPA, разработав простое веб-приложение, которое позволяет управлять информацией о клиентах.
      Читать дальше →
    • Хаки для мозга. Учёные опубликовали обзор методов для улучшения умственных способностей

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

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

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

        • биохимические;
        • физические;
        • поведенческие.

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

        • Tutorial

        Agones (от др.-греч. agōn — «соревнование») позволяет развернуть кластер игрового сервера используя Kubernetes с возможностью Auto-Scaling. Этот open-source проект был создан в 2018 году, уже набрал 2500 звезд, был на Google I/O 2019, и на Хабре, к великому удивлению, еще не был упомянут. В топике описан краткий экскурс в архитектуру и инструкция по запуску тестового сервера на локальной машине. Если интересно, добро пожаловать под кат, вперед!


        Agones logo
        Читать дальше →
        • +10
        • 3.1k
        • 8
      • Разработка многозадачной микроядерной ОС — Планировщик

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

        Важно:
        1. Эта серия уроков для новичков. Цель — сформировать целостную картину мира. Очень долго у меня в голове была теория Таненбаума и я не мог ее связать с практикой. Тем у кого то же самое — посвящаю эту статью.
        2. Код самый простой и тупой, но максимально понятный. Моя цель дать вам понимание чтобы вы смогли написать свое ядро, гораздо более крутое чем это.
        3. Репо опубликую как только посчитаю его готовым для широкого круга. Я пишу небольшую часть, отлаживаю, и снимаю видеоурок. У меня нет готового продукта.

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

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

        У каждой компании своя методика поиска таких кандидатов. Мы, на сегодняшний день, придерживаемся следующей: даем небольшое тестовое задание (около часа работы, для опытного разработчика), для выполнения которого достаточно знаний java-core и просим выложить его на гитхаб. По времени выполнения не ограничиваем. Затем, качественно выполнивших задание соискателей приглашаем на собеседование.

        image

        Задание обычно содержит реализацию CRUD методов в файл через консольное меню с одной-двумя сущностями плюс валидацию некоторых полей. В качестве примера приведу классическую ситуацию с пользователем, которому нужно реализовать валидацию email и телефона, по заданному шаблону и к этому иметь возможность ввести от 1 до 3 телефонов. Откликов приходит очень много, а мест очень мало — соответственно отбор достаточно жесткий.
        Читать дальше →
      • Базовые навыки для работы с Unity



          Доброго времени суток, уважаемые хабаровчане!

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

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

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

            • Translation
            Перед вами перевод статьи из блога Better Programming на сайте Medium. В ней программист Daan делится простыми правилами, следуя которым вы сможете давать хорошие имена функциям и переменным.



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

            Так как мы проводим столько времени присваивая имена, очень важно делать это качественно. В данной статье я расскажу вам о нескольких простых правилах, следуя которым вы сможете создавать хорошие имена. Ведь это целое искусство!
            Читать дальше →
          • Как управлять временем и перестать прокрастинировать?



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

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

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

              Началось всё год назад. Перед Новым 2014 годом несколько пришел в упадок жизненный тонус. Процесс самокопания привел к следующей мысли:



              — А, что ж так темно-то, Господи? © День радио.

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

                Можете использовать этот пост как аргумент при переговорах.

                image

                Вы, наверное, уже слышали эту продуманную фразу, которую произнес Рид Хастингс, CEO компании Netflix, говоря о развитии компании: «Наш главный конкурент – это сон». Он логично рассуждает, что с точки зрения прибыльности его бизнеса, сон, занимающий треть всего времени – огромный ресурс, за который можно побороться. Но если мы дорожим своим здоровьем, красотой и жизнью, то он не должен получить от нас ни минуты от нашего сна. Мы всё еще настолько недооцениваем сон, что этот факт удивителен сам по себе. Почему мы считаем сон чем-то, чем можно жертвовать, что можно сжимать, над чем можно издеваться? Даже простейшее популярное представление о биологии говорит нам, что природа не стала бы требовать от нас трети жизни на что-то неважное.

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

                Между тем, мы действительно не знаем, почему мы спим. Да, у нас есть объяснения – насчет консолидации памяти, обучения, восстановления сил и прочее. Сам вопрос остается открытым и задается вновь и вновь, потому что мы подозреваем, что это не все, что мы знаем про сон.

                Все животные спят, при условии, что они живут хотя бы несколько дней. Есть исключения, но они могут быть чисто методологическими: еще до недавнего времени ученым не хватало данных назвать сном периоды отключения у некоторых животных (насекомых).
                Читать дальше →
              • Кардинг и «чёрные ящики»: как взламывают банкоматы сегодня

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


                  – Эволюция банкоматного кардинга
                  – Первое знакомство с «чёрным ящиком»
                  – Анализ банкоматных коммуникаций
                  – Откуда берутся «чёрные ящики»?
                  – «Последняя миля» и поддельный процессинговый центр


                  Читать дальше →
                • Семь «абсолютных истин» джуниора, от которых пришлось отучиваться

                  • Translation


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

                  Размышляя об этом первом десятилетии регулярного получения денег за ввод странных символов в терминал, хотелось бы поделиться некоторыми наблюдениями, как изменилось моё мышление за годы работы.
                  Читать дальше →
                • Как мы учились эксплуатировать Java в Docker

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


                    Читать дальше →
                  • Япония: страна настолько здравого смысла, что он для нас местами иррационален



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

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

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

                      • Translation
                      От переводчика: я нашел на Quora вопрос: Какую программу или код можно назвать самыми сложными из когда-либо написанных? Ответ одного из учасников был настолько хорош, что вполне тянет на статью.

                      Пристегни ремни.

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

                      Это программа – компьютерный червь. Червь был написан, судя по всему, между 2005 и 2010 годами. Поскольку этот червь является таким сложным, я могу дать лишь общее описание того, что он делает.
                      Читать дальше →
                    • Как втиснуть 16 ГБ памяти на материнскую плату, которая не поддерживает такой объём

                      • Translation
                      Некоторое время назад я поставил на один из своих компьютеров 16 ГБ памяти. На нём стоит материнка Foxconn P55MX с Core i5 750. Можно было бы и заменить этот старый CPU, но он пока нормально работает и делает всё, что мне нужно.

                      Вот что интересно. Материнская плата официально не поддерживает 16 ГБ RAM. Спецификации на вышеупомянутой странице указывают, что поддерживается максимум 8 ГБ. На плате только два слота, поэтому у меня возникло подозрение, что планки 8 ГБ просто были редкостью в то время, когда вышла материнская плата. Я всё равно решил попробовать. Во многих случаях материнские платы поддерживают больше RAM, чем официально заявляет производитель.
                      Читать дальше →