Pull to refresh
1
0
Send message

Анатомия RAM

Reading time14 min
Views107K
image

У каждого компьютера есть ОЗУ, встроенное в процессор или находящееся на отдельной подключенной к системе плате — вычислительные устройства просто не смогли бы работать без оперативной памяти. ОЗУ — потрясающий образец прецизионного проектирования, однако несмотря на тонкость процессов изготовления, память ежегодно производится в огромных объёмах. В ней миллиарды транзисторов, но она потребляет только считанные ватты мощности. Учитывая большую важность памяти, стоит написать толковый анализ её анатомии.

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

Зачем же ты, RAM-ео?


Процессорам требуется очень быстро получать доступ к данным и командам, чтобы программы выполнялись мгновенно. Кроме того, им нужно, чтобы при произвольных или неожиданных запросах не очень страдала скорость. Именно поэтому для компьютера так важно ОЗУ (RAM, сокращение от random-access memory — память с произвольным доступом).

Существует два основных типа RAM: статическая и динамическая, или сокращённо SRAM и DRAM.

Мы будем рассматривать только DRAM, потому что SRAM используется только внутри процессоров, таких как CPU или GPU. Так где же находится DRAM в наших компьютерах и как она работает?
Читать дальше →
Total votes 26: ↑25 and ↓1+33
Comments31

Про ранги и виртуализацию в RAM

Reading time6 min
Views73K

image alt text


В продолжение рубрики "конспект админа" хотелось бы разобраться в нюансах технологий ОЗУ современного железа: в регистровой памяти, рангах, банках памяти и прочем. Подробнее коснемся надежности хранения данных в памяти и тех технологий, которые несчетное число раз на дню избавляют администраторов от печалей BSOD.

Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments4

Десктопизация по-питоновски. Инструменты для создания автотестов

Reading time9 min
Views14K

Автоматизация тестирования – неотъемлемая часть процесса обеспечения качества. Мы в нашей практике чаще всего разрабатываем тесты для веб-, мобильных приложений и API, но сегодня хотим рассказать о более редком направлении – тестировании десктоп-приложений.

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

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments2

Лямбда-функция в Python простыми словами

Reading time5 min
Views324K

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

Лямбда-функции в Python являются анонимными. Это означает, что функция безымянна. Как известно, ключевое слов def используется в Python для определения обычной функции. В свою очередь, ключевое слово  lambda  используется для определения анонимной функции.

Читать далее
Total votes 20: ↑13 and ↓7+9
Comments12

Как определять собственные классы исключений в Python

Reading time7 min
Views35K
Привет, Хабр!

Ваш интерес к новой книге "Секреты Python Pro" убедил нас, что рассказ о необычностях Python заслуживает продолжения. Сегодня предлагаем почитать небольшой туториал о создании кастомных (в тексте — собственных) классах исключений. У автора получилось интересно, сложно не согласиться с ним в том, что важнейшим достоинством исключения является полнота и ясность выдаваемого сообщения об ошибке. Часть кода из оригинала — в виде картинок.

Добро пожаловать под кат.
Читать дальше →
Total votes 17: ↑6 and ↓110
Comments9

8 продвинутых возможностей модуля logging в Python, которые вы не должны пропустить

Reading time20 min
Views91K

Понимайте свою программу без ущерба для производительности


image


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


Python предоставляет довольно мощный и гибкий встроенный модуль logging со множеством возможностей. В этой статье я хочу поделиться восемью продвинутыми возможностями, которые будут полезны при разработке ПО.

Читать дальше →
Total votes 14: ↑12 and ↓2+15
Comments6

Зачем нам UML? Или как сохранить себе нервы и время

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


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

Программисты, не использующие UML, делятся на несколько групп:

  • начну писать код, а в процессе пойму, что да как;
  • почитаю форумы, хабр, medium, stack overflow, книгу, записи на стенах, знаки свыше…;
  • поспрашиваю у коллег, может, кто-то знает, как решить подобную задачу;
  • начну рисовать квадратики и схематично покажу, какое видение задачи сформировалось у меня в сознании.
Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments67
Есть такая игра-стратегия об устройстве эффективной транспортной сети — Mini Metro. В ней игрок создаёт на карте всё новые и новые станции метро и связки между ними, чтобы жители могли удобно перемещаться по городу. Не справились с пассажиропотоком, устроили давку и заставили людей ждать? Вам геймовер, милорд.

Эта игра — интересный взгляд на общественный транспорт, но в одном аспекте крайне упрощённый. В Mini Metro никого не волнует оплата за проезд. Настоящая утопия!

В транспортной стратегии, в которую мы все играем каждый день в реальном мире, оплата поездки и контроль — головная боль для всех. Мы в НСПК решили поменять правила этой игры — сделать доступ к новым технологиям оплаты равноправным для каждого участника транспортного процесса.
Читать далее
Total votes 21: ↑18 and ↓3+31
Comments42

«Прелесть в том, что мы строили с чистого листа»: о разработке в НСПК

Reading time13 min
Views14K


Наверное, ни одно связанное с онлайн-банкингом событие за последние годы не было так ощутимо для рядовых российских пользователей, как появление Системы быстрых платежей (СБП) Банка России.


А этим летом на нашей Java-конференции партнёром стала компания НСПК, которая выступает операционным платёжным и клиринговым центром СБП, а также отвечает за обработку всех внутрироссийских платежей по банковским картам. То есть для России её задачи уникальные — поэтому интересно задать вопросы о разработке в такой компании.


Мы и задали. Вопросы получились из трёх частей:


  • Сначала попросили кратко объяснить, как вообще выглядят обработка платежей по картам и операций в СБП.
  • Потом перешли к общей картине IT в НСПК.
  • А затем конкретно к жизни разработчика в такой компании: что ему требуется знать, с чем он сталкивается и так далее.
Читать дальше →
Total votes 18: ↑17 and ↓1+23
Comments2

Dataflow-архитектуры. Часть 1

Reading time6 min
Views36K

Вторая часть статьи.
Большинство современных вычислительных машин, будь то суперкомпьютер Fujitsu K, обычная персоналка или даже калькулятор, объединяет общий принцип работы, а именно модель вычислений, основанная на потоке управления (Controlflow). Однако, эта модель не является единственно возможной. В некотором роде ее противоположностью является модель вычислений, управляемая потоком данных, или просто Dataflow. О ней я и хочу сейчас рассказать.
Читать дальше →
Total votes 78: ↑77 and ↓1+76
Comments37

Так ли плох XMPP, как его малюют? Каким Jabber стал сегодня

Reading time6 min
Views83K


Часто при обсуждении мессенджеров, при упоминании XMPP можно услышать слова:
Привет из двухтысячных! Неужели кто-то еще пользуется устаревшим протоколом? В XMPP до сих пор нет доставки файлов, сообщений, синхронизации, красивых клиентов?

Причина мифов о XMPP в том, что многим Jabber известен по мессенджерам из далеких двухтысячных годов и плохой осведомленности о особенностях XMPP. С двухтысячных прошло много времени, протокол продолжил существовать и активно развиваться. Современный Jabber уже сильно не похож на тот, который был раньше.

В этой статье мы рассмотрим для чего создавался XMPP, обсудим в комментариях причины снижения его популярности и каким Jabber стал сегодня

Предыстория


В двухтысячных годах у большинства интернет-гигантов были развернуты XMPP сервера. С одного сервера можно было написать на другой и вот уже казалось, если технологию немного доделать появится e-mail 2.0, универсальный мессенджер для всего Интернета, но тут что-то пошло не так.
Читать дальше →
Total votes 43: ↑40 and ↓3+37
Comments193

Редактор кода Visual Studio Code. Самый подробный гайд по настройке и установке плагинов для начинающих

Reading time23 min
Views819K
Бесплатный, мощный, очень популярный, с кучей дополнений, да что там говорить, сам Фейсбук выбрал его в качестве основного редактора!


Сегодня речь пойдет о редакторе кода Visual Studio Code или просто VS Code. Мы с тобой его установим, настроим, а также применим плагины, которые существенно упростят нам работу.
Читать дальше →
Total votes 15: ↑12 and ↓3+15
Comments18

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

Reading time5 min
Views35K


Если бы кто-то создал инструмент, который не дает людям впадать в зависимость от Facebook, который позволяет им получать полную отдачу от преимуществ соцсети, при этом ограничивая воздействие негативных сторон – как бы отреагировали на это в Facebook?

Я знаю ответ на этот вопрос, потому что сам создал такой инструмент – и Facebook его стер с лица земли. Этим летом я получил от компании письмо, где мне предлагалось прекратить противоправные действия под угрозой суда. Мои аккаунты на Facebook и в Instagram удалили без возможности восстановления. Кроме того, от меня потребовали никогда больше не писать программ, которые каким-либо образом взаимодействовали бы с Facebook или другими сервисами компании.
Читать дальше →
Total votes 94: ↑93 and ↓1+118
Comments228

Юникод: необходимый практический минимум для каждого разработчика

Reading time8 min
Views115K
Юникод — это очень большой и сложный мир, ведь стандарт позволяет ни много ни мало представлять и работать в компьютере со всеми основными письменностями мира. Некоторые системы письма существуют уже более тысячи лет, причём многие из них развивались почти независимо друг от друга в разных уголках мира. Люди так много всего придумали и оно зачастую настолько непохоже друг на друга, что объединить всё это в единый стандарт было крайне непростой и амбициозной задачей.

Чтобы по-настоящему разобраться с Юникодом нужно хотя бы поверхностно представлять себе особенности всех письменностей, с которыми позволяет работать стандарт. Но так ли это нужно каждому разработчику? Мы скажем, что нет. Для использования Юникода в большинстве повседневных задач, достаточно владеть разумным минимумом сведений, а дальше углубляться в стандарт по мере необходимости.

В статье мы расскажем об основных принципах Юникода и осветим те важные практические вопросы, с которыми разработчики непременно столкнутся в своей повседневной работе.
Читать дальше →
Total votes 47: ↑45 and ↓2+43
Comments52

Протоколы SFTP и FTPS

Reading time11 min
Views121K

Предисловие


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


Читать дальше →
Total votes 11: ↑10 and ↓1+10
Comments19

Information

Rating
Does not participate
Registered
Activity