Pull to refresh
14
0

User

Send message

Операционные системы с нуля; уровень 3 (старшая половина)

Reading time28 min
Views16K

В этой части мы допишем обработку прерываний и возьмёмся за планировщик. Наконец-то у нас появятся элементы многозадачной операционной системы! Разумеется это только начало темы. Одно прерывание таймера, один системный вызов, базовая часть простого планировщика потоков. Ничего сложного. Однако этим мы подготовим плацдарм для создания полноценной системы, которая будет заниматься самыми настоящими процессами безо всяких "но". Прямо как в этих ваших линупсах и прочих. До конца этого курса осталось уже чуть менее половины.


Нулевая лаба


Первая лаба: младшая половина и старшая половина


Вторая лаба: младшая половина и старшая половина


Третья лаба: младшая половина

Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments13

Как писать тестируемый код

Reading time17 min
Views87K
image


Если вы программист (или чего хуже архитектор), то можете ли вы ответить на такой простой вопрос: как писать НЕ тестируемый код? Призадумались? Если с трудом можете назвать хотя бы 3 способа добиться не тестируемого кода, то статья для вас.

Многие скажут: а зачем мне знать, как писать не тестируемый код, плохому хочешь меня научить? Отвечаю: если знать типичные паттерны не тестируемого кода, то, если они есть, можно легко увидеть их в своем проекте. А, как известно, признание проблемы — уже половина пути к лечению. Также в статье дается ответ, как собственно осуществляется такое лечение. Прошу под кат.
Читать дальше →
Total votes 72: ↑63 and ↓9+54
Comments77

Puppet. Часть 1: введение в Hiera

Reading time11 min
Views45K

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

Вы наверняка знаете или представляете, что управление большой инфраструктурой с помощью Puppet — непростая задача. Если для десяти серверов Паппет не нужен, для пятидесяти в самый раз и код можно писать как угодно, то когда речь идет о 500+ серверов, то в этом случае приходится уже серьезно думать об оптимизации своих усилий. Плохо, что Паппет изначально, видимо, не задумывался, как решение для больших инфраструктур, по крайней мере иерархия в него изначально заложена из рук вон плохо. Стандартные node definitions совершенно неприменимы в больших компаниях. Node inheritance (также как и class inheritance) Puppetlabs не рекомендуют больше использовать вообще, вместо этого лучше загружать данные о иерархии из внешних источников, таких как Hiera и External Node Classifier (ENC).
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments11

Семь принципов создания современных веб-приложений

Reading time19 min
Views187K
Эта статья основана на моей презентации с конференции BrazilJS в августе 2014 года. Она базируется на идеях, о которых я писал в блоге недавно, в основном, в связи с UX и производительностью.

Я хочу представить 7 действенных принципов для веб-сайтов, которые хотят применить JavaScript для управления UI. Эти принципы являются результатом моей работы как веб-дизайнера, но также как давнего пользователя WWW.

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

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

  • Должен ли JavaScript использоваться как замена функциям браузера: история, навигация, рендеринг?
  • Умирает ли бэкенд? Нужно ли вообще рендерить HTML?
  • Правда ли, что будущее за приложениями на одной странице (Single Page Applications, SPA)?
  • Должен ли JS генерировать страницы на веб-сайте и рендерить страницы в веб-приложениях?
  • Нужно ли использовать техники вроде PJAX или TurboLinks?
  • Каково точное отличие между веб-сайтом и веб-приложением? Должно ли остаться что-то одно?
Читать дальше →
Total votes 108: ↑99 and ↓9+90
Comments33

Ускоряем понимание коммерческого или технического текста: как перестать бояться писать просто

Reading time9 min
Views91K


Читать молча мы научились относительно недавно. Раньше не было иного логичного способа читать, кроме как строго вслух. Фактический процесс чтения напоминает слушание двух голосов: один проговаривает слова текста, второй переводит их для нас на понятный нам язык.

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

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

Поэтому сейчас я расскажу базовые вещи, которые можно делать прямо здесь и сейчас у вас на сайтах.
Читать дальше →
Total votes 117: ↑112 and ↓5+107
Comments51

Что делать, если вам надоели рекламные СМС

Reading time3 min
Views297K
В продолжение статей о том, что ФАС собирает дополнительную информацию о «коротких» номерах, хочу рассказать, как эта служба может помочь вам избавиться от нежелательной рекламы по СМС.

Согласно ч.1 ст.18 ФЗ «О рекламе», распространение рекламы по сетям электросвязи, в том числе посредством использования телефонной, факсимильной, подвижной радиотелефонной связи, допускается только при условии предварительного согласия абонента или адресата на получение рекламы.

Итак, отписавшись от всех рекламных рассылок своего оператора, я наивно полагал, что рекламные СМС меня больше не будут отвлекать. Но маркетологи различных компаний решили, что без рекламы мне скучно, и быстро исправили ситуацию. В итоге, год назад я практически каждую неделю получал несколько рекламных СМС, в основном это были сообщения от такси нашего города. Особую активность компании проявляли перед Новым годом.
Читать дальше →
Total votes 202: ↑199 and ↓3+196
Comments150

Жизнь разработчика (в картинках)

Reading time1 min
Views66K
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

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



Когда проджект-менеджер входит в офис



Читать дальше →
Total votes 884: ↑700 and ↓184+516
Comments132

О речи, языке и музыке

Reading time16 min
Views10K
Disclaimer No. 1. В прошлый раз я несколько переусердствовал с набросом, результатом чего стал настолько эпический срач в комментах, что я боюсь туда заглядывать, за что прошу прощенья у всех, кому не ответил. Исправляюсь и привожу одну хорошую и годную статью, которая, вообще-то, писалась для другого ресурса, но там меня больше нет.

Disclaimer No. 2. Никакого отношения к тематике Хабра эта статья не имеет, писать про это в комментах не надо. Не нравится хаб «Научно-популярное» — отпишись молча.

Я думаю, многие из вас задумывались о смысле музыки. Поймёт ли представитель дикого племени музыку Бетховена? А средневековый житель — музыку «Битлз»? Насколько универсален музыкальный язык и почему вообще мы способные его понимать?

Долгое время мне хватало размытого представления о том, что понимание музыки, наверное, есть результат моего воспитания в русле европейской культуры. Однако в какой-то момент я захотел исследовать этот вопрос подробнее и я обратился к научным исследованиям по этому вопросу.

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

Читать дальше →
Total votes 57: ↑46 and ↓11+35
Comments45

Невозможная задача

Reading time5 min
Views3K

Случалось ли Вам когда-нибудь работать над невозможной задачей? Не над просто трудной, скучной или длительной, а над реально невозможной? Помните ли Вы свои ощущения?
Начинается обычно всё не так уж плохо: начальство просто выдаёт очередную задачу. Это уже не первая Ваша задача, за плечами уже есть пару законченных проектов и ничто, на первый взгляд, не вызывает страха. Звучит задача странновато, но ведь Вы еще глубоко не вникали, да и начальство ведь — не дураки, так что Вы киваете головой и идете разбираться.
Читать дальше →
Total votes 178: ↑152 and ↓26+126
Comments67

Хороший программист

Reading time1 min
Views762
Хороший программист должен вставать в 6 утра чтобы иметь 2 с половиной часа для кодинга. В 8.30 хороший программист едет на работу, где работает до 6 вечера (не говоря о ланче, который должен быть потрачен на изучение Haskell, попутно отвечая на вопросы на Stack Overflow). Едет домой с 18.00 до 18.30 (будет хорошо, если в это время вы послушаете какой-нибудь технический подкаст, вроде MIT OCW. TWIT не в счёт). С 6.30 до 7 вечера — время, которое хороший программист проводит за чтением /r/programming/ и остальных техноновостей. С 19.00 до 20.30 хороший программист расслаблен — он вспоминает высшую математику, решая задачки с projecteuler.net и книги «Искусство программирования» Кнута до тех пор, пока не прорешает их все. С 20.30 до часу ночи хороший программист пишет код для Open Source, патчи для Linux и продолжает работу над своим стартапом.
Total votes 77: ↑54 and ↓23+31
Comments29

Что в действительности кроет в себе страшная цифра восемь

Reading time13 min
Views16K
Эта статья была написана НЕ в виме



Для начала — хочу немного объясниться. Для меня слово «маркетинг» означает «Создание определённого мнения у публики в отношении какого-либо заданного объекта маркетинга». Это вовсе не означает «Сливание дерьма на уши дебилам» или «Рассказ про то, как крут наш бесполезный товар». Хороший маркетинг сделал из БМВ БМВ. То же произошло с Windows XP, которая является одной из самых долгоживущих осей сего мира.

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

Например, «пининг» приложений и сайтов на таскбаре Windows. Знаете, почему в России по стандарту к таскбару пришпилено только 3 значка? Просто потому что люди не знают, что и как туда можно пришпилить.

Маркетинг может сделать и другие чудеса — например, с помощью маркетинга вы можете подавить «Чёрную пропаганду» и начать активно продавать свой продукт. Пример тому — Макдональдс. Мне кажется, что это самый поливаемый гавном ресторанзабегаловка в мире. Но, при всём при этом, это самая распространённая и доходная забегаловка в мире.

Так к чему я это? Тут всё просто: ввиду отсутствия верных данных начинает появляться срач. Срач перерастает в троллинг, а из этого уже можно запросто создать хорошую чёрную пропаганду.

Собственно говоря, вот эта статья показала мне, как всё плохо. Момент заключается в том, что после шести часов отличной видео презентации, тонны текстов и видео-роликов, после отличной маркетинговой компании в США уже отлично знают и понимают, что да как в Windows 8. А вот в России позорно путают поиск по системе и новый магазин приложений.

Что же, дальше, я в подробностях и скриншотах буду выкладывать факты о том, что такое Windows 8, как его едят и с чем потребляют.

И так, что же великого и таинственного таит в себе эта система? Конечно же, новичок скажет вам, что Windows 8 — это новое и отвратительное меню пуск. Но, мы же с вами не люди, мы — хаброчеловеки. Наша задача — глубоко понимать тему разговора.
поехали!
Total votes 385: ↑338 and ↓47+291
Comments334

The Case of the Intermittent Windows Freezes

Reading time4 min
Views13K

Я, конечно, ожидал, что предыдущий пост понравится людям, но я даже представить не мог, насколько. Данный пост, на мой взгляд, одновременно и более и менее интересный, чем предыдущий. В то время, как в прошлый раз это было увлекательная казуальная игра — совершенно бессмысленная и отнимающая кучу времени, но доставляющая удовольствие своим необычным геймплеем и, самое главное, интерактивная и доступная каждому желающему, то сейчас речь скорее о детективном рассказе — позволяющем сопереживать и пытаться угадать дальнейшее развитие сюжета, но не оставляющем места интерактивности. С другой стороны, «детектив» «основан на реальных событиях», что добавляет происходящему особого шарма.

Читать дальше →
Total votes 249: ↑238 and ↓11+227
Comments113

Правильно ли использовать сотрудников только по назначению?

Reading time2 min
Views1.4K
Дочитал книгу Тома Демарко и Тимоти Листера «Человеческий фактор. Успешные проекты и команды» или просто «Peopleware». Обидно то, что абсолютное большинство менеджеров эту книгу не читали и даже о ней не слышали.

Хороший отзыв на сайте оставил один из читателей:
Рекомендую прочитать, а потом перечитать.
Полностью поддерживаю.

Книгу пересказывать не буду — это займет много времени, рекомендую просто почитать, но вот как дополнение хочется рассмотреть еще одну проблему, которую я постоянно наблюдаю в наших компаниях, а именно использование сотрудников (ресурсы) ТОЛЬКО по назначению. Почему это плохо, спросите вы? Ответ простой: если ресурсы использовать только по назначению, то убивается всякое желание к креативу и развитию, а это, как вы должны понимать, частая причина смены места работы.

Читать дальше →
Total votes 67: ↑53 and ↓14+39
Comments58

Канцерогенные излучения. Скандалы, интриги, расследования!

Reading time4 min
Views6.7K
На днях пришлось мне разослать по всей компании письмо. Думаю, что у каждого админа были, есть и будут на обслуживании идиоты, расставляющие кактусы вокруг монитора и одевающие «антикомпьютерные очки».
Для таких индивидуумов и было написано письмо. Остальные просто посмеялись.

Текст письма под катом.
Читать дальше →
Total votes 138: ↑129 and ↓9+120
Comments76

Настоящие программисты, где же вы?

Reading time3 min
Views12K
[Это перевод статьи из блога компании RethinkDB — калифорнийского стартапа, который занимается разработкой MySQL storage engine, оптимизированного под SSD-диски. Оригинал статьи можно прочитать здесь]

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

Без лишнего хвастовства могу сказать, что мы предъявляем очень высокие требования к соискателям вакансий. И мы совершенно не намерены снижать эту планку. Более того, мы уверены, что чем больше слабых программистов мы отфильтруем, тем лучше и сильнее в итоге окажется наша команда. Некоторые, впрочем, отмечают, что под наши требования скоро будут подпадать только обладатели PhD в computer science со вторым дипломом по квантовой механике.

Конечно, всё это гнусные инсинуации. Наше основное правило — не нанимать людей, которые не умеют программировать.

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

Читать дальше →
Total votes 82: ↑72 and ↓10+62
Comments233

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

Reading time4 min
Views6.9K
image

Джон Максвелл Кон (John Maxwell Cohn) — человек, чей внешний вид поднимает из бездны все стереотипы о сумасшедших профессорах, «докторах зла» и прочих злых гениев. Непричесанный эксцентрик, активно машущий руками во время разговора, тем не менее, является главным специалистом IBM по прогнозированию новых продуктов. Уже пять лет Джон Кон, как главный «астролог» концерна, отмечает наиболее перспективные и ожидаемые инновации обозримого будущего.

«У каждой технологии — свой цикл созревания. Роднит их то, что в 2015 году мы будем считать их заурядным явлением», — говорит Джон Кон.

Теперь немного о свежем списке «5 х 5», который IBM представляет уже пятый год.
Читать дальше →
Total votes 75: ↑62 and ↓13+49
Comments79

Эволюция Python-программиста

Reading time3 min
Views2.8K

Начинающий


  1. def factorial(x):
  2.     if x == 0:
  3.         return 1
  4.     else:
  5.         return x * factorial(x - 1)
  6. print factorial(6)


Программирующий уже год (Ранее изучавший Pascal)


  1. def factorial(x):
  2.     result = 1
  3.     i = 2
  4.     while i <= x:
  5.         result = result * i
  6.         i = i + 1
  7.     return result
  8. print factorial(6)

Читать дальше →
Total votes 167: ↑143 and ↓24+119
Comments38

Мой опыт восстановления зрения

Reading time9 min
Views277K
   Этим летом я был на некоторое время предоставлен сам себе – всех своих я отправил подальше от дыма, а сам, недолго думая, решил немного подтянуть здоровье. Не просто записаться в тренажерный зал и накачать «квадратиков» для пляжа, а именно обследоваться у некоторых врачей, чтобы выработать для себя вектор дальнейших действий, дабы совсем не превратиться в «овоща».

image

   Расскажу лишь про свой опыт восстановления зрения – именно оно больше всего подвержено риску у любого «компьютерного» человека.
Читать дальше →
Total votes 495: ↑398 and ↓97+301
Comments208

Facebook vs Вконтакте, Афины vs Спарты, США vs СССР, либерализм vs вертикали власти

Reading time4 min
Views5.5K
Мне очень интересно в долгосрочном плане следить за развитием Facebook и Вконтакте. Интересно даже не с пользовательской или бизнес-точек зрения, а в философском и историческом плане. Эти две соцсети удивительнейшим образом построены на абсолютно разных базовых принципах, которые отражают противоположные менталитеты тех стран и тех политических систем, где родились и выросли их создатели.
Читать дальше →
Total votes 410: ↑314 and ↓96+218
Comments438
1
23 ...

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity