Как стать автором
Обновить
14
0

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

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

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

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

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


Нулевая лаба


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


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


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

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

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

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


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

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

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

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

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

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

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

Время на прочтение 19 мин
Количество просмотров 187K
Эта статья основана на моей презентации с конференции BrazilJS в августе 2014 года. Она базируется на идеях, о которых я писал в блоге недавно, в основном, в связи с UX и производительностью.

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

Время на прочтение 1 мин
Количество просмотров 65K
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

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



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



Читать дальше →
Всего голосов 884: ↑700 и ↓184 +516
Комментарии 132

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

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

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

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

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

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

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

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

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

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

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

Время на прочтение 1 мин
Количество просмотров 755
Хороший программист должен вставать в 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 и продолжает работу над своим стартапом.
Всего голосов 77: ↑54 и ↓23 +31
Комментарии 29

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

Время на прочтение 13 мин
Количество просмотров 15K
Эта статья была написана НЕ в виме



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

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

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

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

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

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

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

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

The Case of the Intermittent Windows Freezes

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

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

Читать дальше →
Всего голосов 249: ↑238 и ↓11 +227
Комментарии 113

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

Время на прочтение 2 мин
Количество просмотров 1.3K
Дочитал книгу Тома Демарко и Тимоти Листера «Человеческий фактор. Успешные проекты и команды» или просто «Peopleware». Обидно то, что абсолютное большинство менеджеров эту книгу не читали и даже о ней не слышали.

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

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

Читать дальше →
Всего голосов 67: ↑53 и ↓14 +39
Комментарии 58

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

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

Текст письма под катом.
Читать дальше →
Всего голосов 138: ↑129 и ↓9 +120
Комментарии 76

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

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

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

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

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

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

Читать дальше →
Всего голосов 82: ↑72 и ↓10 +62
Комментарии 233

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

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

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

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

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

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

Время на прочтение 3 мин
Количество просмотров 2.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)

Читать дальше →
Всего голосов 167: ↑143 и ↓24 +119
Комментарии 38

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

Время на прочтение 9 мин
Количество просмотров 277K
   Этим летом я был на некоторое время предоставлен сам себе – всех своих я отправил подальше от дыма, а сам, недолго думая, решил немного подтянуть здоровье. Не просто записаться в тренажерный зал и накачать «квадратиков» для пляжа, а именно обследоваться у некоторых врачей, чтобы выработать для себя вектор дальнейших действий, дабы совсем не превратиться в «овоща».

image

   Расскажу лишь про свой опыт восстановления зрения – именно оно больше всего подвержено риску у любого «компьютерного» человека.
Читать дальше →
Всего голосов 494: ↑397 и ↓97 +300
Комментарии 208

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

Время на прочтение 4 мин
Количество просмотров 5.5K
Мне очень интересно в долгосрочном плане следить за развитием Facebook и Вконтакте. Интересно даже не с пользовательской или бизнес-точек зрения, а в философском и историческом плане. Эти две соцсети удивительнейшим образом построены на абсолютно разных базовых принципах, которые отражают противоположные менталитеты тех стран и тех политических систем, где родились и выросли их создатели.
Читать дальше →
Всего голосов 408: ↑313 и ↓95 +218
Комментарии 438

Информация

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