![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/b3e/3b4/e99/b3e3b4e9957a388f88b65723926bed27.png)
Оперативная память это важная часть любой компьютерной системы и сейчас я объясню, почему это так.
Пользователь
Оперативная память это важная часть любой компьютерной системы и сейчас я объясню, почему это так.
Недавно я решил собрать часть своих публикаций на habr.com и соорудить из них книгу - сборник статей. Поскольку часть моих заметок так или иначе связана с комбинаторикой, то навскидку у меня вырисовывалось вполне полноценное издание. Я быстренько скомпоновал PDF документ из 9 глав по одной теме, слегка подредактировав и добавив одну краткую главу. Составлением предисловия я себя утруждать не стал, сборник - это сборник, можно обойтись и без книжной формальной лирики. Хотя, конечно, - предисловие, - как говорил один очень умный человек, - это самое главное, что есть в книге. Ведь иногда достаточно прочитать предисловие, и саму книгу можно уже не читать. Руководствуясь и этой мыслью тоже, я собрал маленькую книженцию. Но встал насущный вопрос...
90% проблем в нашей жизни — это проблемы во взаимоотношениях с другими людьми. Конфликты на работе, сложности в близких отношениях или одиночество из-за страха, что никто не примет тебя с твоими тараканами. И самое неприятное, что для этих проблем характерна бесконечная воспроизводимость.
В своей предыдущей статье я начала раскрывать тему того, как правильно настраивать обмен между крупными сайтами и B2B-системами на Битрикс с системами учета 1С:Предприятие.
Если еще не читали — посмотрите, будет полезно, типовой модуль обмена многое умеет, а то, что не умеет — можно обойти и доработать.
В этой статье коснемся кастомизации и отладки обмена, а также выгрузки оффлайн-заказов.
Пролог
Решил поделиться своими мыслями и кратким двухдневным опытом написания (собирания по частям) программы на Ассемблере без чтения учебников, больших статей и в целом без опыта программирования на этом языке. На одном из форумов я набрёл на задачу вывода десятичного числа в консоль. Если на языке C или PHP эта операция совершенно элементарна, то на Ассемблере всё не так просто, как может показаться на первый взгляд. Для решения задачи я выбрал nasm (правда, выбора и не было), немножко поигравшись предварительно с вставками nasm (синтаксис AT&T) в код C (ссылка на форум с моими опытами в конце статьи).
Философское отступление
Остановись, дорогой читатель! И прежде чем читать дальше, задай себе вопрос: возможно ли начать ковать без обучения кузнечному делу?!
Я оставлю этот вопрос без ответа. Только скажу, что в нём нет ни капли иронии, издёвки, намёка на назидательность и т.д. Это вопрос без какого-либо дополнительного подтекста.
Поиски
Информации по Ассемблеру в Интернете очень много и заблудиться в разных видах Ассемблера (для различных систем) крайне просто. Я не единственный задавался вопросом в поиске «how to print a number in asm». Ответы на разных диалектах языка относительно легко можно найти на Stack Overflow, однако это совершенно не означает, что будет легко запустить найденный код на своей машине. Велика вероятность того, что что-нибудь не сойдётся. Научиться отличать синтаксис AT&T и intel можно за несколько минут, а вот с узнаванием tasm, fasm, masm, nasm - несколько сложнее. Единственное, что можно предположить и (почти) не прогадать: базовые инструкции во всех Ассемблерах имеют (почти) одинаковые мнемоники.
В каждом языке существуют фразы и выражения, которые просто немыслимо понять буквально, даже если вам известны значения каждого слова. Такие выражения имеют переносный смысл и как правило эквиваленты в другом языке, или же просто литературный перевод. Но русский язык тоже богат такого рода выражениями, фразеологизмами. Поэтому приготовьтесь освежить в памяти уроки литературы!
So, we are going to let the cat out of the bag today, guys! А мы сегодня «выпустим кота из мешка», что означает раскроем секреты употребления идиом в повседневной речи.
Что такое идиомы и как их употреблять?
Идиома – с греческого idiоma переводится как особенность, своеобразие, это оборот речи, присущий только данному языку и иногда не имеющий эквивалента в других языках.
Термин "идиомы" впервые был введен английским лингвистом Л.П.Смитом. Он писал, что слово idiom используется в английском языке для обозначения французского термина idiotisme. А именно: для обозначения структуры сочетаний, характерных для английского языка, хотя очень часто значения этих сочетаний невозможно объяснить с логической точки зрения.
Зачастую, в идиомах отражен богатый исторический опыт народа, различные культурные явления, и даже национальный характер. Правильное использование идиом придает речи особое красноречие.
Особенность идиомы в том, что ее смысл не равен смыслу ее составляющих фразеологических единиц. Так, например, если переводить дословно идиому «bring home the bacon», то получится «приносить домой бекон», хотя смысл данной идиомы «обеспечивать семью».
Введение
После установки системы Gentoo Linux на свой нетбук я неожиданно обнаружил, что в системе нет штатного средства выключения и перезагрузки от обычного пользователя без использования sudo.
Защитное слово автора
Сразу хотел бы отметить, что не призываю пользоваться данной программой, так как решение для управления выключением и перезагрузкой, предложенное мной, является нестандартным средством и по этой причине не может быть рекомендовано. Код программы также не может служить примером для обучения, поскольку автор программы не является профессиональным программистом. Данная статья и код на языке C публикуются в ознакомительных целях.
История вопроса
После установки системы Gentoo Linux на свой неутбук я неожиданно обнаружил, что в системе нет штатного средства выключения и перезагрузки от обычного пользователя без использования дополнительных средств вроде программы sudo, а исследование файла /etc/group показало, что в нём нет группы operator. Любые попытки добавить эту группу и пользователя в неё не принесли желаемого результата - компьютер не перезагружался от простого пользователя.
Несколько поразмыслив, я пришёл к идеи (вероятно, я не был первым) научить планировщик cron перезагружать и выключать компьютер . Для этого мной наскоро был написан скрипт на bash и добавлено задание в cron для суперпользователя.
Скрипт запускался раз в минуту от root, проверял файл в директории пользователя на наличие в нём управляющего символа и осуществлял перезагрузку или выключение, записывал в этот файл код 0 для бездействия, чтобы компьютер не начал перезагружаться бесконечно. Я и сам не заметил, что своими руками создал уязвимость в системе (хотя подозрения были). Спасибо участникам форума Linux.org.ru, которые вовремя указали мне на ошибки и дали ряд дельных советов по улучшению моей скромной системы.
Так сложилось, что с этим дистрибутивом я уже примерно 13 лет, с большими перерывами. Первый раз система мной была установлена на ноутбук Sony Vaio. Теперь это уже далёкий 2009 год. В сети где-то даже сохранилась моя шпаргалка об этом опыте. И вот в 2022-м, на пороге 2023-го, у меня появилась мысль поменять свой прекрасно работающий 32-х битный Calculate Linux на 64 бита. И всё задуманное было осуществлено в одночасье, за пару часов настроено до идеального состояния.
Нетбук у меня примерно 2009 года выпуска: hp mini с процессором Atom N570, 1.66GZ (2 ядра, 4 потока), 2GB DDR3RAM, графическим адаптером от intel и т.д., и т.п.
Когда я рассматривал вывод команды cat /proc/cpuinfo, у меня появилась ещё одна интересная мысль: а не установить ли мне на это железо Gentoo Linux?!
Как мне думается, у меня вышел интересный эксперимент по установке Gentoo в недельный срок классическим способом, - по Handbook - предварительно использовав для некоторых операций дистрибутив Calculate Linux.
Обо всём по порядку
Повозиться пришлось изрядно, но зато теперь «Норникель» стал первым в России обладателем беспилотных самосвалов, поднимающих полезные ископаемые с глубины 850 метров.
Меня зовут Андрей Дышлюк, я руководитель проектной команды по внедрению системы Sandvik AutoMine на нескольких автономных шахтных самосвалах, работающих на руднике «Скалистый». В этой статье расскажу, почему мы выбрали именно AutoMine, как строили сеть, ставили лазерные барьеры, обкатывали маршруты в часы пересменки и заставили технику работать безопаснее и дольше.
$ ./calc "32+6*" # "(3+2)*6" в инфиксной нотации
30