Как стать автором
Обновить
17
0
Alexander V Gonchar @dezconnect

Пользователь

Отправить сообщение

Linux в одном файле для Macbook

Время на прочтение4 мин
Количество просмотров35K


TL;DR Можно уместить полноценный Linux Live дистрибутив в один файл, если вкомпилировать в ядро initramfs с корневой файловой системой. Компьютеры с UEFI умеют загружать такой файл напрямую, без помощи загрузчика типа GRUB. У меня получилось уместить дистрибутив с программами aircrack-ng, reaver и драйверами для карт Wi-Fi в файл размером 12 мегабайт (наверняка можно еще меньше).

Основные преимущества


  • Работает на любых компьютерах с UEFI — один и тот же файл будет работать на PC и Mac.
  • Не требует установки — достаточно скопировать один файл на EFI-раздел диска и указать в переменных NVRAM путь к этому файлу.
  • Не нужно устанавливать загрузчики GRUB, rEFInd — ядро Linux собранное с поддержкой EFI Stub можно грузить напрямую без промежуточного загрузчика.
  • Не нужны USB-флешки — скопированный на раздел EFI дистрибутив остается там навсегда, и его можно будет загрузить в любой момент. Он не занимает места на разделе основной системы, так как раздел EFI не используется в ОС.
  • Не изменяет процесс загрузки — систему можно загрузить один раз, без изменения порядка загрузки в настройках UEFI. Следующая перезагрузка компьютера загрузит обычную операционную систему. Никаких следов Linux в очередности загрузки не останется.
  • Совместимо с шифрованием диска FileVault и т.д. — файл копируется на EFI System Partition, специальный зарезервированный раздел диска. В компьютерах Mac его размер около 200 мегабайт. Он выделен под Boot Camp и обычно не используется
Читать дальше →
Всего голосов 78: ↑77 и ↓1+76
Комментарии48

Генерация кода на Python при помощи Hy

Время на прочтение6 мин
Количество просмотров22K

1. Что такое Hy


Hy — диалект Лиспа, который встроен в питон.


Благодаря тому, что Hy трансформирует свой Лиспоподобный код в Абстрактное Синтаксическое Дерево (AST) питона, с помощью Hy весь прекрасный мир питона — на кончиках пальцев и в форме Лиспа.


image

Читать дальше →
Всего голосов 19: ↑14 и ↓5+9
Комментарии28

Руководство по созданию расширений для Jinja2

Время на прочтение15 мин
Количество просмотров31K
Jinja2 — Python-библиотека для рендеринга шаблонов, являющаяся де-факто стандартом при написании веб-приложений на Flask и довольно популярной альтернативой встроенной системе шаблонов Django. Хотя и будучи сильно привязана к языку, Jinja2 позиционирует себя как инструмент для дизайнеров и верстальщиков, упрощающий вёрстку и отделяющий её от разработки, и пытающийся по мере возможностей изолировать не-разработчиков от Python. Вёрстка, впрочем, не единственное возможное её применение; например, в своей работе я использую шаблоны Jinja2 для генерации SQL-запросов.

Jinja2 расширяема, и многие возможности (например, интернационализация и управление циклами) реализованы именно как расширения. Однако, документация по написанию расширений, как мне кажется, несколько неполна; от примера несложного (но тщательно прокомментированного) расширения она перескакивает сразу к описанию API некоторых классов Jinja2, которое довольно трудно читать подряд. В этой статье я попытаюсь исправить это упущение и создать в голове читателя полную и ясную картину того, как работает Jinja2, как устроены её расширения и как с помощью расширений модифицировать разные этапы обработки шаблонов.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии0

Генерация фиктивных данных с Mimesis: Часть I

Время на прочтение7 мин
Количество просмотров36K
image

Mimesis — это библиотека для языка программирования Python, которая помогает генерировать фиктивные данные для различных целей. Библиотека написана с использованием средств, включенных в стандартную библиотеку языка Python, потому не имеет никаких сторонних зависимостей. На данный момент библиотека поддерживает 30 языковых стандартов (в числе которых и русский) и более 20 классов-провайдеров, предоставляющих разного рода данные.


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


  1. Сбор необходимой информации.
  2. Постобработка собранных данных.
  3. Программирования генераторов данных.

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

Читать дальше →
Всего голосов 46: ↑45 и ↓1+44
Комментарии40

Моя история эмиграции, воплощение мечты админа

Время на прочтение20 мин
Количество просмотров36K

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


image

Читать дальше →
Всего голосов 70: ↑41 и ↓29+12
Комментарии268

Стражи ночи

Время на прочтение9 мин
Количество просмотров81K
Будучи высококвалифицированным исследователем, я потратил немало времени на продвижение науки вперёд. Но я родился на Юге и искренне убеждён, что прогресс — это выдумка, и что нужно готовиться к Судному дню, к жатве того, что мы посеяли и к появлению быстрых зомби, медленных зомби, и даже вежливых зомби, которые обращаются к вам «сэр» или «мадам», но в итоге пытаются съесть ваш мозг дабы заполучить ваши навыки. Когда нагрянет революция, нужно быть готовым; поэтому в моменты тишины и покоя, когда я не произвожу очередной прорыв в науке, я размышляю над тем, что же я буду делать, когда прогноз погоды изменится на «РЕКИ КРОВИ ЦЕЛЫЙ ДЕНЬ ДО СКОНЧАНИЯ ВРЕМЁН».

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

Но! Но… Самым важным членом моей банды будет системный программист, ибо в гоббсовском кошмаре невероятных масштабов умеющему отладить драйвер устройства или распредёленную систему человеку можно доверять; системный программист видел ужасы Вселенной и понимает безысходность бытия. Системный программист писал драйверы для устройств, прошивку которых создавал то ли пьяный ребёнок, то ли трезвый карась. Системный программист отлавливал проблему с сетью через восемь машин, три часовых пояса и с дружеским визитом в Омск, откуда ее перенаправили в левое переднее копыто той лошади, что избавила Трою от перенаселения.1 Системный программист читал исходники ядра для лучшего понимания процессов мироздания и видел комментарий «И ЭТО РАБОТАЕТ ЛОЛ» в коде планировщика, и не смеялся он, но плакал; и отправил он патч ядра для восстановления баланса Силы и устранения инверсии приоритетов, что приводила к зависанию MySQL. Системный программист знает, что делать, когда общество падёт, потому что он уже живет в мире, где царит беззаконие.
Читать дальше →
Всего голосов 157: ↑136 и ↓21+115
Комментарии50

Искусство командной строки

Время на прочтение15 мин
Количество просмотров249K


Вот уже как неделю английская версия the art of command line висит в секции trending на Github. Для себя я нашел этот материал невероятно полезным и решил помочь сообществу его переводом на русский язык. В переводе наверняка есть несколько недоработок, поэтому милости прошу слать пулл-реквесты мне сюда или автору оригинальной работы Joshua Levy вот сюда. (Если PR отправите мне, то я после того, как пересмотрю изменения отправлю их в мастер-бранч Джоша). Отдельное спасибо jtraub за помощь и исправление опечаток.

Enjoy!
Всего голосов 127: ↑122 и ↓5+117
Комментарии143

Джаз лучше звучит на виниле

Время на прочтение3 мин
Количество просмотров11K


В нашем блоге на ГТ мы многократно обращали внимание на тему винила: рассказывали о том, что стоит за возвращением винила, и приводили критику CD и винила. Сегодня мы поговорим об атмосферной истории, которую опубликовал в своем блоге на Medium Джо Пикок.
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии7

Шайбу вбросим в iOS восемь

Время на прочтение6 мин
Количество просмотров42K
Прежде чем создавать казуальную игру для iOS, хорошо бы ответить на вопрос: — А зачем?
Вариантов три:
  • Срубить денег;
  • Порадовать родственников;
  • Хрен его знает, но мысль жжет организм изнутри.


image

Думаю, в ближайшие годы, правильный ответ — третий.
А, не буду спорить и учить — расскажу, как я делаю приложения.
Гуру разработки молча нажимают плюс и уходят в сторону. Остальные следуют за мной, чтобы вспомнить школу и настольный хоккей.
И да, уникальность топика, что в каждом предложении слова начинаются разными буквами.
В статье девять картинок и пол-минуты забавной анимации.
Читать дальше →
Всего голосов 76: ↑68 и ↓8+60
Комментарии62

Супер-куки на основе HSTS отследят вас даже в приватном режиме

Время на прочтение2 мин
Количество просмотров31K
Уже несколько лет все браузеры предлагают настройки для приватного браузинга. В приватном режиме они могут не сохранять куки, историю страниц и временные файлы. Люди, ценящие приватность, полагаются на эту возможность. Но недавно был предложен ещё один способ отследить пользователя даже и в этом случае, если тот не предпримет особых мер.

Ирония в том, что работе этой системы отслеживания способствует механизм под названием HTTP Strict Transport Security. Он нужен для того, чтобы сайты могли убедиться, что пользователь работает с их серверами только по протоколу HTTPS. Если сервер добавляет в заголовки соответствующий флаг, то по правилам HSTS все соединения с сервером должны быть зашифрованы. Таким образом пользователя защищают от различных возможных атак.
Читать дальше →
Всего голосов 42: ↑33 и ↓9+24
Комментарии34

14 вопросов об индексах в SQL Server, которые вы стеснялись задать

Время на прочтение26 мин
Количество просмотров1.1M
Индексы — это первое, что необходимо хорошо понимать в работе SQL Server, но странным образом базовые вопросы не слишком часто задаются на форумах и получают не так уж много ответов.
Роб Шелдон отвечает на эти, вызывающие смущение в профессиональных кругах, вопросы об индексах в SQL Server: одни из них мы просто стесняемся задать, а прежде чем задать другие сначала подумаем дважды.


От переводчика
Данный пост является компиляцией двух статей Роба Шелдона:

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

Перейти к чтению
Всего голосов 40: ↑37 и ↓3+34
Комментарии44

Я, пират (глава 6)

Время на прочтение7 мин
Количество просмотров66K


Окончание рассказа. Начало можно прочитать здесь:

Главы 1-2 habrahabr.ru/post/184910
Главы 3-5 habrahabr.ru/post/186554

Исправлена ошибка с почтой в главе 1, возможно позже я добавлю детали к главам 3-5, которые по отзывам получились малоэмоциональными, а пока представляю вам последнюю главу. На ней заканчивается сюжет, придуманный год назад, и пока продолжение не планируется.
Читать дальше →
Всего голосов 91: ↑79 и ↓12+67
Комментарии34

Зачем регистрировать программу для ЭВМ? Актуально на 2021 год

Время на прочтение3 мин
Количество просмотров112K
Статья актуальна на 2021 год!

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

Это наиболее очевидный и простой способ защиты прав на ПО. Но насколько этот способ защиты действенный и какие преимущества в защите прав дает регистрация?

Внимание! Апгрейд статьи в связи с изменением порядка регистрации с 18 июля 2016 г. здесь.

image

Попробуем разобраться
Всего голосов 47: ↑38 и ↓9+29
Комментарии34

Семь призраков каменного века или Каким должен быть идеальный интернет-магазин

Время на прочтение6 мин
Количество просмотров89K
imageВот уже несколько лет мне приходится иметь дело с интернет-магазинами. Причем с самых разных сторон: и со стороны покупателей, и со стороны разработчиков, и со стороны интернет-рекламы, и со стороны b2b-сервиса, клиентами которого являются опять же интернет-магазины. Следствием такой плотной работы с онлайн-ритейлом явился определенный набор наблюдений и замечаний, иногда не совсем очевидных и спорных.
Читать дальше →
Всего голосов 52: ↑43 и ↓9+34
Комментарии63

Развитие правого полушария головного мозга или как я учился рисовать

Время на прочтение4 мин
Количество просмотров87K
Сразу дискламер: я редко пишу посты на широкую аудиторию, и более правильного ресурса для этого текста в рамках моего кругозора не нашлось. Тем не менее, если кто-то найдет это интересным, значит не зря… Поехали.

С чего все началось



Как-то я услышал от одного человека мысль о том, чтобы заниматься бизнесом, ему приходится «выращивать в себе Мистера Хайда», типа некая альтернатива его личности способна придумать что-то такое, что не способен придумать он сам. Конечно же, он шутил, по большей части, и тогда я этому значение не придал. Вспомнил эту точную метафору лишь, когда сам решил, что мне нужно развивать креативность, умение продуктивно фантазировать, придумывать нестандартные решения.
Читать дальше...
Всего голосов 163: ↑156 и ↓7+149
Комментарии84

Гибридная «солнечная» система получения водорода для топливных элементов

Время на прочтение2 мин
Количество просмотров32K


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

Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии71

Из html в pdf – легко! Обзор конвертеров

Время на прочтение3 мин
Количество просмотров102K
Ежедневно в процессе деятельности регистратора REG.RU, в котором я работаю программистом, совершаются сотни операций, требующих оформления каких-либо официальных документов. Среди них — различные договоры, счета, сертификаты и т.п., которые необходимо печатать как компании, так и клиентам. Для таких целей хорошо подходит формат PDF, который на сегодняшний день стал де-факто основным для обмена и распространения документации. Основными преимуществами этого формата можно назвать: кроссплатформенность, аппаратную независимость и безопасность. Все вышеперечисленное позволило PDF завоевать популярность среди пользователей и стать одним из самых распространенных.

Как можно создавать документы в формате PDF на лету, из скрипта?
Читать дальше →
Всего голосов 79: ↑70 и ↓9+61
Комментарии24

Пишем расширения для PHP на C (Си)

Время на прочтение7 мин
Количество просмотров3.5K
Современному PHP разработчику это знание может понадобиться скорее для расширения сознания, чем непосредственное руководство к действию, но несмотря на то, что в PHP уже встроено практически все необходимое, а в разнообразных PEAR и PECL репозитариях можно найти пакет дополнений на любой вкус, многим думаю будет интересно, а некоторым и полезно узнать как и что работает внутри PHP.

И раз уж Zend предоставил нам такие удобные инструменты, почему бы ими не воспользоваться? Например для оптимизации каких-то процессов, сокрытия своего когда в коммерческих приложениях и встраивания механизма лицензий, реализации многопоточности или для чего-то еще…

Читать дальше →
Всего голосов 32: ↑29.5 и ↓2.5+27
Комментарии12

Как я возил робота, чуть не поседел и залил кровью серверную

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


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

Часть 1. Коробка


Помню, стояли последние дни ноября. Уже думая об окончании рабочего дня, я планировал свой вечер, когда вдруг мне сообщили, что в славном сибирском городе N у нашего заказчика сломалась ленточная библиотека. Запчасть сразу же отправили транспортной компанией, но вот уже 3 дня, как она все еще была в пути. Транспортная компания невнятно объяснялась и хмыкала в телефон, а заказчик стал не в шутку нервничать. Прогнозы были неопределенные, поэтому было принято решение везти еще одну запчасть своими силами на самолете. Сотрудник склада вручил мне габаритную коробку весом килограмм десять, обклеенную штрих-кодами и стикерами, и радостно хлопнул меня по плечу со словами: «Только не вздумай в багаж сдавать — помнут».

Коробка меня, безусловно, беспокоила, но не меньшее беспокойство мне внушал пакет с сухим молоком, который в последний момент мне вручил менеджер проекта. «У них там какие-то траблы с молочкой сейчас… из-за непогоды что ли… ребята местные просили 2 кг им привезти. Тебе ж не сложно?» — сказал он. По выражению его лица и характерному жесту ладони, как бы прикрывавшей мне рот, было ясно, как он сейчас хотел, чтобы я оказался сговорчивым или даже немым.
Читать дальше →
Всего голосов 505: ↑496 и ↓9+487
Комментарии135

2048

Время на прочтение1 мин
Количество просмотров404K
19-летний итальянский разработчик Габриэле Чирулли (Gabriele Cirulli) создал чрезвычайно захватывающую игру 2048, скрестив тетрис и «пятнашки».



На каждом раунде в игре появляется две плитки с цифрой «2». Нажимая стрелки, нужно сбросить их в сторону, при этом плитки одного «номинала» складываются. Выигрыш засчитывается при достижении результата 2048.
Читать дальше →
Всего голосов 189: ↑170 и ↓19+151
Комментарии138

Информация

В рейтинге
Не участвует
Откуда
Красноярск, Красноярский край, Россия
Дата рождения
Зарегистрирован
Активность