Search
Write a publication
Pull to refresh
0
0
Send message

Трюки при линковке и загрузке файлов Mach-O

Reading time26 min
Views6.2K

Представляю вашему вниманию перевод моей статьи из блога Проекта Darling. Маленькая справка по используемым понятиям: Darwin – операционная система с открытым исходным кодом, лежащая в основе macOS, iOS и других ОС от Apple; Mach-O – бинарный формат исполняемых файлов и библиотек, использующийся в Darwin; dyld – динамический загрузчик, использующийся в Darwin для загрузки файлов Mach-O; dylib – динамически загружаемая библиотека (обычно имеет расширение .dylib).


Картинка для привлечения внимания


Цель Проекта Darling – сделать возможным запуск macOS-приложений под Linux, и умение загружать бинарные файлы в формате Mach-O – один из ключевых шагов к достижению этой цели.


Исходно, Darling был выстроен вокруг собственной реализации загрузчика Mach-O и идеи транслирования вызовов между высокоуровневым Darwin API и его Linux-аналогами. С тех пор наш фокус сместился на запуск кода во всё более и более изолированном Darwin-контейнере. С тех пор как мы перешли на использование Mach-O для внутренних компонентов Darling, у нас появилась возможность использовать исходный dyld от Apple, а также собирать многие другие компоненты Darwin с открытым исходным кодом. Нам всё ещё нужен простой загрузчик Mach-O, чтобы загружать сам dyld.

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

Что почитать по Swift на русском языке?

Reading time4 min
Views54K
Среди новичков бытует мнение, что популярность языка программирования можно определить по количеству выпущенных книг. В качестве примера можно упомянуть Java или Python – и отчасти это будет правдой. Но есть языки, которые в бумажных книгах не особо-то и нуждаются. Просто из-за своей молодости и того факта, что официальный tutorial отвечает абсолютно на все вопросы начинающего программиста.

image

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

Поэтому автор блога GeekBrains Илья Бубнов вдоль и поперёк изучил российские издательства, чтобы отыскать 5 самых популярных книг по Swift, выпущенных в олдскульном формате.
Читать дальше →

Курс MIT «Безопасность компьютерных систем». Лекция 2: «Контроль хакерских атак», часть 3

Reading time10 min
Views7.2K

Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год


Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3

Курс MIT «Безопасность компьютерных систем». Лекция 2: «Контроль хакерских атак», часть 2

Reading time14 min
Views8.6K

Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год


Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3

Открытый вебинар «Механизмы контейнеризации Linux»

Reading time1 min
Views6.2K
Всем привет!

Делимся новым открытым уроком, который провёл Александр Румянцев — преподаватель курса «Администратор Linux». На вебинаре разбиралось современное состояние механизмов контейнеризации и контейнеризация cgroups и cgroups-based, как она реализована в ядре, что такое namespace и почему cgroups — это группы.


Ждём комментарии и вопросы тут или можете задать их преподавателям сегодня на дне открытых дверей.

Бот для Starcraft на Rust, C и на любом другом языке

Reading time13 min
Views32K

StarCraft: Brood War. Как много это значит для меня. И для многих из вас. Настолько много, что я засомневался, давать ли ссылку на вики.


Как-то раз мне в личку постучался Halt и предложил выучить Rust. Как и любые нормальные люди, мы решили начать с hello world написания динамической библиотеки под Windows, которая могла бы загружаться в адресное пространство игры StarCraft и управлять юнитами.


В статье будет описан процесс поиска решений, использования технологий, приемов, которые позволят вам почерпнуть новое в языке Rust и его экосистеме или вдохновиться для реализации бота на своем любимом языке, будь то C, C++, ruby, python, e.t.c.

Ready to roll out!

Личный опыт: Data Engineering на Upwork

Reading time8 min
Views43K
Я много лет работал Data Engineer'ом и Data Scientist'ом, решал сложные бизнес-кейсы, строил большие системы, выводил это все в продакшен. В начале 2017го я бросил пить, курить и работать в офисе и ушел фрилансить, экспериментировать с альтернативными формами занятости. Довольно много времени я провел на Upwork. Судя по многочисленным комментариям, уважаемая аудитория не до конца представляет себе, что это такое. Вещаю.

Upwork это крупнейшая в мире биржа фриланса. Дата сатанисты и дата инженеры мало кому в этом мире нужны (по сравнению с переводчиками, веб-мастерами и переписывателями текстов), так что задач для нас относительно мало, так что они тяготеют к крупнейшей бирже в мире. Других фриланс-бирж с постоянным потоком задач для дата саентистов в мире нет — ни Guru, ни Toptal, ни отечественный fl.ru спросом похвастаться не могут. Что важно — для специалистов более массовых специальностей опыт фриланса может сильно отличаться.
Читать дальше →

Где и как разработчики оценивают своих работодателей? Сервисы оценки компаний в ИТ-индустрии

Reading time4 min
Views13K
Вчера мы запустили на «Моем круге» новый сервис оценки компаний — с его помощью можно узнать, как сотрудники оценивают своих работодателей по разным критериям. А в сегодняшнем обзоре покажем несколько аналогичных сервисов, чтобы сравнить с нашим. Если знаете другие хорошие примеры, дайте знать в комментариях!


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

Метаданные S3 в PostgreSQL. Лекция Яндекса

Reading time12 min
Views13K
Это вторая лекция с Я.Субботника по базам данных — первую мы опубликовали пару недель назад.

Руководитель группы СУБД общего назначения Дмитрий Сарафанников рассказал об эволюции хранилища данных в Яндексе: о том, как мы решили делать S3-совместимый интерфейс, почему выбрали PostgreSQL, на какие грабли наступили и как с ними справились.


— Всем привет! Меня зовут Дима, в Яндексе я занимаюсь базами данных.

Kubernetes tips & tricks: ускоряем bootstrap больших баз данных

Reading time10 min
Views10K
Этой статьёй мы открываем череду публикаций с практическими инструкциями о том, как облегчить жизнь себе (эксплуатации) и разработчикам в различных ситуациях, случающихся буквально ежедневно. Все они собраны из реального опыта решения задач от клиентов и со временем улучшались, но по-прежнему не претендуют на идеал — рассматривайте их скорее как идеи и заготовки.

Я начну с «трюка» по подготовке больших дампов баз данных вроде MySQL и PostgreSQL для их быстрого развёртывания для различных нужд — в первую очередь, на площадках для разработчиков. Контекст описанных ниже операций — наше типовое окружение, включающее в себя работающий кластер Kubernetes и применение GitLab (и dapp) для CI/CD. Поехали!

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

10 курсов по машинному обучению на лето

Reading time5 min
Views64K
За последние десятилетия с помощью машинного обучения создали самоуправляемые автомобили, системы распознавание речи и эффективный поиск. Сейчас это одна из самых быстроразвивающихся и перспективных сфер на стыке компьютерных наук и статистики, которая активно используется в искусственном интеллекте и data science. Методы машинного обучения используются в науке, технике, медицине, ритейле, рекламе, генерации мультимедиа и других областях.

Команда Университета ИТМО собрала десять курсов по машинному обучению, которые можно успеть пройти до конца лета. Одним они помогут войти в профессию, а другим — углубиться в нее.

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

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

Reading time10 min
Views14K
Есть много шаблонов построения контейнеров. Контейнер – это всего лишь выполняемая версия своего же образа. Поэтому способ построения контейнера тесно связан с тем, как он запускается.

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



Ниже мы рассмотрим наиболее типовые сценарии использования контейнеров.

(Введение в терминологию контейнеров см. в первой части)
Читать дальше: Практический гид по контейнерам

Специализация по спортивному программированию на Курсере

Reading time1 min
Views4.9K


Исследовательской лабораторией им. П. Л. Чебышева при СПбГУ готовится онлайн-специализация по спортивному программированию на платформе Coursera. В первом курсе специализации даётся мягкое введение в мир спортивного программирования, в последующих четырёх курсах даются углубленные знания по вычислительной геометрии, алгоритмах на графах, числовым алгоритмам, алгоритмам на строках. В специализации будет много задач, максимально похожих на задачи с соревнований. Для самых сложных задач каждой недели будут даваться разборы. Лекции в специализации читаются как профессорами-математиками, так и тренерами СПбГУ и участниками недавних финалов чемпионата мира по программированию (ACM ICPC): Н. А. Вавилов, К. В. Вяткина, С. В. Копелиович, А. С. Куликов, А. Е. Логунов, А. С. Лопатин, А. С. Охотин, В. А. Петров, Ф. В. Петров, К. А. Симонов. Программу помогал составлять Е. Ф. Суворов, задачи — А. А. Толстиков.
Читать дальше →

Как «выучить» английский за один год самостоятельно или статья для тех, у кого не сложилось с английским

Reading time6 min
Views120K
С проблемой необходимостью изучения английского сталкивался почти каждый: кто-то долго и упорно учит его в школе (иногда, кстати, успешно), кто-то ищет подходящие курсы, кто-то пользуется онлайн-ресурсами или услугами репетитора. Вопрос, почему за годы изучения английского в школе, результата добиваются немногие, и то те, чьи родители позаботились о наличии хорошего репетитора и возможности уехать в английский лагерь?

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

Облысение: Теория и практика лечения, ч.2 «Даже у простаты есть гланды, простагландины»

Reading time5 min
Views26K

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


image

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

Что слушают разработчики: от классики до игровых саундтреков — обсуждаем все самое интересное

Reading time5 min
Views37K
Написание кода — это сложная и творческая задача, требующая высокого уровня концентрации. И согласно ряду исследований, помочь настроиться на продуктивный день может музыка.

Вопрос только в том, какой музыкальный жанр выбрать.

На таких площадках, как Reddit, Hacker News и Хабр обсуждению этого вопроса посвящен не один тред. Мы решили проанализировать мнения разработчиков и отобрать наиболее интересные.

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

История активных сессий в PostgreSQL — новое расширение pgsentinel

Reading time2 min
Views6.7K
Компания pgsentinel выпустила одноимённое расширение pgsentinel (репозиторий github), добавляющее в PostgreSQL представление pg_active_session_history — историю активных сессий (по аналогии с оракловой v$active_session_history).

По сути, это просто-напросто ежесекундные снимки из pg_stat_activity, но есть важные моменты:

  1. Вся накопленная информация хранится только в оперативной памяти, а потребляемый объём памяти регулируется количеством последних хранимых записей.
  2. Добавляется поле queryid — тот самый queryid из расширения pg_stat_statements (требуется предварительная установка).
  3. Добавляется поле top_level_query — текст запроса, из которого был вызван текущий запрос (в случае использования pl/pgsql)
Читать дальше →

Небольшие трюки с Elasticsearch

Reading time7 min
Views16K
Небольшая заметка, скорее для себя, о мелких трюках по восстановлению данных в Elasticsearch. Как починить красный индекс если нет бэкапа, что делать если удалил документы, а копии не осталось — к сожалению в официальной документации об этих возможностях умалчивают.
Читать дальше →

Базы данных Microsoft Research теперь доступны для всех

Reading time4 min
Views11K
Мы рады рассказать вам о том, что наши коллеги из подразделения Microsoft Research опубликовали данные, полученные в результате многолетних трудов по курированию и изучению информации из научных работ. В частности, стали доступны данные по инженерии, компьютерным наукам, информатике, математике, физике, биологии, социальным и естественным наукам. Подробнее под катом!

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

Information

Rating
Does not participate
Registered
Activity