Pull to refresh
3
0.7
Send message

Как выучить японский до хорошего разговорного уровня меньше чем за год (зная английский)

Reading time5 min
Views66K

В мире, да и в России в особенности, Япония давно стала этакой обетованной страной с более чем привлекательной для многих культурой. За жизнь я утвердился в том, что план по жизни от любого направления в IT к релокации в Японию стал для многих не столько даже просто целью, сколько мечтой. Конечно, попасть в Японию можно и просто зная английский, но стоит отметить, что знание японского и способность говорить - это более чем весомый плюс. Я прошел через этот путь довольно быстро и хотел бы поделиться своим опытом и советами, пусть станет благодарностью посетителям Хабра за все мои годы здесь как читателя :)

Читать далее

Как я несколько лет боролся с прокрастинацией и победил: полное практическое руководство

Reading time8 min
Views327K

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

Начать читать

Пора закончить холодную войну между DevOps и разработчиками ПО

Reading time6 min
Views5.9K

Если бы нам довелось прочитать разговор в Slack между разработчиком ПО и инженерами DevOps, то он мог бы выглядеть примерно так:

Разработчик ПО: Это займёт кучу времени. «Мне нужно новое окружение для моего приложения».

Два часа спустя…

DevOps: Почему разработчики ПО думают, что я умею читать мысли!? «Ладно, а какие типы инстансов вам нужны?»

Час спустя (после обсуждения с командой…)

Разработчик ПО: «Мне нужен g3.8xlarge для тестирования новой функции визуализации».

На следующий день…

DevOps: «Хорошо, а в какой AZ он должен находиться? И ещё с какой группой безопасности он должен быть связан?»

Разработчик ПО: Они что, не знают всего этого сразу? «Любая AZ в us-west-1, группа sg-3164z279».
Читать дальше →

SAST для самых маленьких. Обзор open-source инструментов поиска уязвимостей для C/C++

Reading time33 min
Views25K


Привет, Хабр!


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

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

Работа с графикой на языке Rust. Часть 2

Reading time19 min
Views6.2K

В этой статье я продолжу перевод и исследование WGPU, библиотеки языка Rust для работы с графикой.

Для тех, кто не читал первую статью небольшая вводная информация.

WGPU реализует современный стандарт работы с видео подсистемами — WebGPU и компилируется в разные backend-ы (OpenGL, DirectX12, Metal, Vulkan, WebGL). Он одновременно проще для освоения, чем Vulkan и имеет более продуманное апи, чем OpenGL.

Приступим!

Читать далее

Пишем игру под мобилки, ч.2. Масштабируемый UI, порт на Android, геймплей

Reading time13 min
Views3.3K

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

https://habr.com/ru/post/695428/

Читать далее

Что учесть при разработке интеграций информационных систем

Reading time7 min
Views6.1K

Невозможно представить современную информационную систему (далее – ИС), которая бы стояла особняком, и не была бы интегрирована с другими. Особенно, если мы говорим о корпоративных или государственных данных. Вопросу интеграций посвящены целые книги, такие как «Шаблоны интеграции корпоративных приложений» Грегора Хопа. Некоторые издания пытаются рассматривать не только технические, но и организационные вопросы интеграции (например, «Предметно-ориентированное проектирование (DDD)» Эрика Эванса). Между тем, современный уровень технологий и высокий уровень компетентности разработчиков очень сильно снижает технические риски, выставляя на первый план организационные. В этой статье мы рассмотрим интеграции информационных систем именно с точки зрения организационных рисков. 

Читать далее

Решение одной задачи с помощью 16 языков программирования

Reading time5 min
Views39K

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

Читать далее

Как завладеть сетью /16 с помощью libpcap и libdnet

Reading time16 min
Views14K

Всем привет. Сегодня я попытаюсь рассказать про сетевое программирование на довольно низком уровне, с библиотеками libpacp и libdnet. Про последнюю многие наверное и не слышали, т.к. информации о ней в сети фактически нет. А ведь её использует сам Fyodor :)
Читать дальше →

Документы перед выездом из РФ

Reading time10 min
Views65K

Всем привет!

Хочу рассказать о том какие документы желательно заранее подготовить перед выездом из РФ. Статья возможно уже не будет такой актуальной с учетом того, что кто-то либо уже уехал, либо находится на низком старте, но если вы пока находитесь в РФ - подготовьте хотя бы часть документов из списка.

Топ документов возглавляет генеральная доверенность. Очень настоятельно прошу ее сделать на вашего родственника или на человека, которому вы безоговорочно доверяете, но который на какое-то время точно останется в России. Можно сделать доверенность на нескольких людей. Цена вопроса - в районе 2,500 рублей за 1 доверенность. При этом, человек, на которого вы оформляете доверенность может не присутствовать, вам понадобится только копия его паспорта (страница с фото + прописка).

Доверенность можно оформить на любой срок, хоть на 50 лет, нотариус запишет срок, который вы назовете. Также доверенность можно сделать с возможностью ее передоверия другому человеку: например, я оформила доверенность на Васю Пупкина с правом передоверия, а Вася Пупкин передоверил ее Ивану Иванову. Мероприятие рискованное, но если вы доверяете человеку и понимаете, что возможно он тоже через какое-то время покинет РФ - такой вариант для вас подойдет.

Важный момент: генеральная доверенность - вещь серьезная, поэтому ее в любой момент можно и нужно отменить.

Что входит в такую доверенность (если кратко):

Читать далее

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

Reading time25 min
Views13K

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

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

Reading time9 min
Views10K

Очередная часть последней версии пособия по созданию модулей ядра от 2 июля 2022 года. В ней мы познакомимся с понятием tty, представляющим альтернативу макросу print, напишем модуль для мигания светодиодами клавиатуры, а также разберем тему планирования задач с помощью тасклетов и очередей заданий.
Читать дальше →

Как устроено электронное голосование простым языком и в рисунках

Reading time4 min
Views25K

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

Читать далее

Select принципиально неисправен. Мультиплексирование ввода/вывода часть #2

Reading time6 min
Views2.9K

В предыдущей статье блога мы обсудили краткую историю системного вызова select(2). В ней делается вывод, что для эмуляции консолей, игр и нетривиальных TCP/IP-приложений было необходимо определенное мультиплексирование ввода-вывода.

Разработчики BSD (Berkeley Software Distribution) выбрали модель мультиплексирования select, и за ними последовали другие Unix-подобные системы. Но является ли select единственной моделью мультиплексирования?

Читать далее

О TPM подробно

Reading time8 min
Views72K

Купи вы сегодня компьютер с Windows ОС, и в нём наверняка будет модуль TPM. Доверенный платформенный модуль – это, по сути, обычный чип, который отвечает за безопасность. Разработала его Trusted Computing Group. Это отраслевая организация с более чем 100 членами, в том числе AMD, Dell, Google, Intel, Lenovo и Microsoft. Вместе они работают над тем, чтобы сделать вычислительные устройства и приложения более защищёнными.

Организация так или иначе функционировала с 1999 года. Первый TPM-стандарт, где в полной мере изложена функциональность модуля, опубликовала в 2009 году (любопытно, что представлен он был в версии 1.2). Разработчики быстро взяли его на вооружение. Случилось это отчасти благодаря тому, что его стала поддерживать Windows Vista. В 2015-м в спецификацию TPM 2.0 добавили несколько функций, а модуль по-прежнему оставался передовой технологией для "доверенных вычислений".

Несмотря на широкое распространение, TPM всегда был необязательным компонентом. Включать ли его в дизайн устройства, решал производитель. Пользователь же в свою очередь решал, включать ли его в настройках BIOS. Однако с выходом Windows 11 расклад поменялся. Microsoft объявила, что будет поддерживать последнюю версию ОС только на тех компьютерах, где установлен и включён TPM 2.0.

Решение оказалось спорным. Для установки Windows 10 не требовался модуль, да и Windows 11 тоже без него обойтись может. Microsoft даже выпустила инструкцию, чтобы пользователи могли обновиться до Windows 11 без TPM (pcpro.link/331tpmhack). Однако в таком случае ваш ПК лишится поддержки и, возможно, не будет получать обновления в будущем.

Читать далее

Безопасный HTTPS-прокси менее чем за 10 минут

Reading time5 min
Views132K

Это руководство описывает развёртывание HTTPS-прокси с помощью dumbproxy на практически любом Linux-сервере. Потребуется только curl и рутовый доступ.

Читать далее

Пишем на Rust игры для Unreal Engine

Reading time7 min
Views15K
image

Ссылки



Введение


Несколько месяцев назад я задался вопросом: что, если написать игру на Rust, но в качестве рендерера использовать Unreal? Поразмыслив, я пришёл к выводу, что раскрытие рендерера Unreal языку Rust при помощи FFI (Foreign function interface) языка C потребовало бы гораздо больше усилий, чем мне хотелось. Но что, если просто надстроить систему на Unreal? Я смогу просто перемещать акторов (gameobject из Unreal) при помощи Rust. Эта задача показалась гораздо более приемлемой, поэтому я приступил к работе.

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

Асинхронный ввод-вывод в Linux: select, poll и epoll

Reading time8 min
Views11K

На этой неделе я получила по почте новую книгу: Программный интерфейс Linux (The Linux Programming Interface). Она написана мейнтейнером проекта Linux man-pages Майклом Керриском (Michael Kerrisk). В ней рассказывается об программном интерфейсе Linux, начиная с ядра версии 2.6.x.

Читать далее

Information

Rating
2,912-th
Registered
Activity