Как стать автором
Обновить
4
0
Ogra @Ogra

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

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

Ansible для начинающих

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

В этой статье мы рассмотрим базовые и более сложные концепции Ansible с примерами. Статья предназначена для тех, кто только начинает работу с Ansible. 

Ansible — это инструмент infrastructure as a code для автоматизации задач по подготовке и конфигурированию инфраструктуры.

Вам понадобятся: базовые знания о Linux (можно начать с cent OS/Ubuntu), практический опыт с облачными сервисами (AWS), общее представление о виртуальных машинах (AWS EC2).

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

«Цель SRE — надёжная система». Обзор основных метрик SRE

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

Site Reliability Engineering (SRE) — это одна из форм реализации DevOps. SRE-подход возник в Google и стал популярен в среде продуктовых IT-компаний после выхода одноимённой книги в 2016 году.


В статье опишем, как SRE-подход соотносится с DevOps, какие задачи решает инженер по SRE и о каких показателях заботится.


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

Мой топ IT книг из прошлого века, актуальных до сих пор

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

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

Disclaimer: это мой личный топ из тех книг, которые я лично прочитал, и у которых первое издание было в прошлом веке, даже если она переиздавалась недавно (при условии актуальности именно того издания, которое было в прошлом веке).

В данном топе книги не упорядочены по важности, они все очень хорошие, но есть одна книга, которая равнее других.

Читать далее
Всего голосов 69: ↑68 и ↓1+67
Комментарии55

Zip-файлы: история, объяснение и реализация

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


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

В статье очень подробно объясняется, как работают Zip-файлы и схема сжатия: LZ77-сжатие, алгоритм Хаффмана, алгоритм Deflate и прочее. Вы узнаете историю развития технологии и посмотрите довольно эффективные примеры реализации, написанные с нуля на С. Исходный код лежит тут: hwzip-1.0.zip.
Читать дальше →
Всего голосов 176: ↑175 и ↓1+174
Комментарии45

Алан Кей рекомендует почитать старые и забытые, но важные книги по программированию

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

Алан Кей — это магистр Йода для ИТишников. Он стоял у истоков создания первого персонального компьютера (Xerox Alto), языка SmallTalk и концепции «объектно-ориентированного программирования». Он уже много высказывался о своем взгляде на образование в сфере Computer Science и советовал книги тем, кто хочет углубить свои познания:


Недавно на Quora опять подняли эту тему и обсуждение вышло на первое место на Hacker News. Предлагаю вашему вниманию «новый» список суперстарых и фундаментальных книг по программированию и мышлению программиста от Алана Кея.

Lisp 1.5 Programmers Manual

by John McCarthy, 1962

image

Книга — абсолютный чемпион и пожизненный лидер рейтинга всех списков книг от Алана Кея. Этой версии языка уже нет, но книга — великолепна.

ещё восемь раритетов:
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии74

Враг внутри: как я попался на инсайдерском редтиминге

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


У меня были все преимущества. Я уже был внутри сети. Я был вне подозрений. Но они обнаружили мой взлом, выкинули из сети… и выследили физически.
Читать дальше →
Всего голосов 155: ↑144 и ↓11+133
Комментарии98

Поработать в Швеции

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

Несколько лет назад я внезапно получил звонок от рекрутера с предложением поработать в Швеции в “хорошо финансируемом стартапе” (забавно, что моё резюме он нашёл на Odesk, где у меня давно был профиль, но ни одного завершённого проекта). Надо вам сказать, что в этой стране мне уже приходилось работать ранее, правда, находясь в затяжной командировке, как работник российской компании, потому неплохое представление о жизни в Швеции у меня уже было. С тех пор я обзавёлся детьми, и потому многие реалии шведской жизни мне предстояло открывать для себя впервые.

Читать дальше →
Всего голосов 115: ↑113 и ↓2+111
Комментарии247

[ В закладки ] Алгоритмы и структуры данных в ядре Linux, Chromium и не только

Время на прочтение9 мин
Количество просмотров85K
Многие студенты, впервые сталкиваясь с описанием какой-нибудь хитроумной штуки, вроде алгоритма Кнута – Морриса – Пратта или красно-чёрных деревьев, тут же задаются вопросами: «К чему такие сложности? И это, кроме авторов учебников, кому-нибудь нужно?». Лучший способ доказать пользу алгоритмов – это примеры из жизни. Причём, в идеале – конкретные примеры применения широко известных алгоритмов в современных, повсеместно используемых, программных продуктах.



Посмотрим, что можно обнаружить в коде ядра Linux, браузера Chromium и ещё в некоторых проектах.
Читать дальше →
Всего голосов 158: ↑149 и ↓9+140
Комментарии15

Алгоритм «diamond-square» для построения фрактальных ландшафтов

Время на прочтение12 мин
Количество просмотров116K
Карта игры Minecraft, созданная с помощью приложения CartographДумаю, многие знакомы с весьма необычной игрой Minecraft (справа — пример сгенерированной в ней карты), в которой игрок находится на (практически) бесконечной поверхности Земли и может исследовать окружающий мир с минимальными ограничениями.

Как же автору игры, Notch'у, удалось добиться подобного сходства его случайных «миров» с земными просторами? В этом топике я как раз и рассмотрю один из способов построить искусственный ландшафт такого рода (и вскользь упомяну пару других способов), а также расскажу о моем небольшом усовершенствовании этого алгоритма, позволяющем значительно увеличивать размеры ландшафта без заметных потерь в производительности.

Внутри вас ждет несколько схем и красивых картинок, довольно много букв и ссылка на пример реализации алгоритма.

Читать дальше →
Всего голосов 147: ↑146 и ↓1+145
Комментарии58

Зимнее небо для новогодних каникул

Время на прочтение3 мин
Количество просмотров6.7K
Часть свободного времени новогодних каникул стоит выделить на звездное небо над нами. Там, как всегда, будет интересно — парад планет, небольшой метеорный поток и красивые неастрономические явления.


Фото пользователя Upsilon Астрофорума
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии5

Жаргон функционального программирования

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


У функционального программирования много преимуществ, и его популярность постоянно растет. Но, как и у любой парадигмы программирования, у ФП есть свой жаргон. Мы решили сделать небольшой словарь для всех, кто знакомится с ФП.


В примерах используется JavaScript ES2015). (Почему JavaScript?)


Работа над материалом продолжается; присылайте свои пулл-реквесты в оригинальный репозиторий на английском языке.


В документе используются термины из спецификации Fantasy Land spec по мере необходимости.


Arity (арность)


Количество аргументов функции. От слов унарный, бинарный, тернарный (unary, binary, ternary) и так далее. Это необычное слово, потому что состоит из двух суффиксов: "-ary" и "-ity.". Сложение, к примеру, принимает два аргумента, поэтому это бинарная функция, или функция, у которой арность равна двум. Иногда используют термин "диадный" (dyadic), если предпочитают греческие корни вместо латинских. Функция, которая принимает произвольное количество аргументов называется, соответственно, вариативной (variadic). Но бинарная функция может принимать два и только два аргумента, без учета каррирования или частичного применения.

Читать дальше →
Всего голосов 91: ↑87 и ↓4+83
Комментарии113

N+5 полезных книг

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


Привет! Это пятый с 2010 года список полезных книг. Набралась всего дюжина за два года. Смотрите, что можно скачать в дорогу или просто почитать, когда будет время, и делитесь, пожалуйста, в комментариях своими (я буду поднимать их в пост). В этой подборке довольно много социнжиниринга, точнее, тем около него. Поехали.

Конструкции, или почему не ломаются вещи, Дж. Гордон
Прекрасная, хоть и очень длинная штука, которая рассказывает про сопромат простыми словами и почти для детей. Но на уровне жёсткого хардкора. По своей полезности для осознания физики вокруг может сравниться с не менее прекрасной современной «Квантовая вселенная. Как устроено то, что мы не можем увидеть» Брайана Кокса и Джеффа Форшоу. Рекомендую обе. Будет, что почитать в дороге, если вдруг почувствуете, что играть на планшете надоело. И о чём подумать, когда выяснится, что вся та фигня, которую вам давали на уроках химии, физики и прочего в школе и университете вдруг начинает выстраиваться в стройную теорию.

Evil by Design, Крис Ноддер
Один из лучших подходов к проектированию чего-то хорошего — это спроектировать сначала самое ужасное из возможного. Пользователь обычно не скажет, как сделать ему хорошо, но точно знает, как бывает плохо. Например, юзер не говорит «я хочу, когда нажимаю на ссылку напоминания пароля, там в поле уже была введена почта», зато вполне способен сказать: «слушай, меня дико бесит, когда логинишься, тебе показывают новую страницу про то, что пароль не подошёл, и, чтобы его восстановить, надо ещё один долбанный раз вводить почту». Вся книга Криса состоит из таких «тёмных» шаблонов, когда какие-то гады намеренно вводят вас в заблуждение. Он там очень переживает за этику, поэтому вступления лучше пропустить. Единственная в этом обзоре книга на английском, но довольно простом.
Читать дальше →
Всего голосов 66: ↑64 и ↓2+62
Комментарии34

Переговоры о зарплате — как не прогореть

Время на прочтение8 мин
Количество просмотров127K
image
Все фотографии в этой статье взяты из трилогии Кристофера Нолана «Тёмный рыцарь». Это всё же Бэтмен!

Давайте сыграем!

При подготовке вы хорошо поработали с телефоном. Интервью в офисе этим утром проходили занятно. После общего обеда сотрудник отдела кадров сел за стол напротив вас. Он спросил: «Какую зарплату вы бы хотели?».

Что вам делать? Что же вам делать?!


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

Или, возможно, он попробует другой подход, чтобы подтолкнуть вас назвать цифру: «Какая зарплата у вас сейчас?».

Этот вопрос звучит вполне резонно. Разве не надо отвечать на этот вопрос?
Читать дальше →
Всего голосов 81: ↑67 и ↓14+53
Комментарии392

Краткий курс компьютерной графики: задание карт нормалей в касательном пространстве

Время на прочтение6 мин
Количество просмотров25K
Дошли руки написать очередное дополнение к моему краткому курсу компьютерной графики. Итак, тема для очередного разговора — использование карт нормалей. В чём основное отличие использования карт нормалей от затенения Фонга? Основная разница в плотности задания информации. Для затенения Фонга мы использовали нормальные вектора, заданные к каждой вершине нашей полигональной сетки, интерполируя нормали внутри треугольников. Использование же карт нормалей позволяет задавать нормали для каждой точки нашей поверхности, а не лишь изредка, что просто драматическим образом влияет на детализацию изображений.

В принципе, в лекции про шейдеры мы уже использовали карту нормалей, но только заданную в глобальной системе координат. Сейчас же разговор пойдёт про касательное пространство. Итак, вот две текстуры, левая задана в глобальном пространстве (RGB напрямую превращается в вектор XYZ), а правая — в касательном.

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

Нью-Йоркская публичная библиотека выложила в общий доступ 180000+ сканов и фотографий

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


В праздники случаются всякие чудеса, и сегодня пользователи Сети получили отличный подарок: Нью-Йоркская библиотека выложила в общий доступ более 180000 изображений. Использовать их можно абсолютно бесплатно. Среди прочих выложенных сокровищ — сканы литературных произведений арабов 11 века. Кроме того, выложены сканы тысяч рукописей, карт, фотографий, нотных записей, открыток и множества других изображений.

Изображения можно ранжировать по веку, жанру, цвету или библиотечной коллекции. Библиотека также решила создать несколько игр и программных инструментов, среди которых — игрушка, подобие Pac-man, позволяющая изучить типичные апартаменты Нью-Йорка прошлых десятилетий.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии4

Мааааленькая PDF-сборка хардкорных статей про GameDev

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


Привет!
У издательств я узнал, что с 1 по 10 января люди читают больше, чем за год. Поэтому небольшой подарок от нас — мы договорились с Даниилом Куком (бывшим геймдизайнером Epic Megagames), взяли и перевели несколько его хардкорных материалов про разработку игр. И засунули их в PDF на сотню страниц.

  • Как игры формируются внешней средой: как рынок влияет на сюжет игры (например, из-за уменьшения среднего дохода на игру уменьшается роль открытого мира – слишком долго делать) и так далее. Очень хороший аналитический обзор от гуру с конкретными советами.
  • Организация игровых процессов в многопользовательской игре — как собирать игроков вместе, как делать асинхронные взаимодействия и много чего ещё с числами и примерами. Годный хардкор.
  • ТОП-5 споров о разработке 2014-го года — прошлогодний материал о том, что за тренды обсуждались. Всё актуально и сейчас.
  • Декларация независимости разработчика — американский крик души о том, что «уберите грязные лапы финансового директора от сюжета игры». Ну, примерно.
  • Критика критики игр — что делать, если обзоры пишут дилетанты, и как выделиться из балласта.
  • Создание эффективных причинно-следственных связей в играх — невероятно полезная вещь для всех тех, кто хочет понять, как работают когнитивные схемы игр. Полезна не только разработчикам, но и для UI/UX-спецов.
  • Таблицы трофеев – математика выковыривания лута из трупов врагов. Начинается с ликбеза и стремительно ускоряется до весьма крутых решений.

Вот PDF и полные тексты. Ниже в посте – основные тезисы, если лень читать всё или хочется здесь и сейчас.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии8

Последний шанс получить пожизненную Windows 10 Pro без участия в Insider программе

Время на прочтение3 мин
Количество просмотров98K
UPD 2016: обновил инструкцию для тех, кто не успел в прошлый раз. image

Как многие знают, незадолго до финального релиза Microsoft сделала предложение всем пользователям Technical Preview присоединится к Insider программе. Подключиться к программе нужно было успеть до 29 июля. Тот поезд ушел. Сейчас поучаствовать в Insider можно только действующим пользователям Windows 10.

Для пользователей Windows 7 и 8 все еще есть бесплатный апгрейд до Windows 10, который действует до 29 июля 2016 года. А как быть остальным? Выход есть, но времени осталось лишь до 1 октября 2015 пока не отключат сервер активации.

image

Сегодня я расскажу, как получить пожизненную Windows 10 Pro, не имея при этом никакой из предыдущих версий Windows.

Бесплатно и без смс
Всего голосов 40: ↑31 и ↓9+22
Комментарии96

Почему мы занимаемся переводом книги с английского на площадке GitHub

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

Недавно команда rust_book_ru закончила перевод книги «The Rust Programming Language» на русский язык.



Когда я только присоединился к проекту перевода, начатого kgv, нам несколько раз говорили: «Вы делаете перевод на GitHub? Странные вы, для краудсорсинг-перевода есть другой сервис — вот ссылка». Мы не стали переходить на другие сервисы и в итоге это решение полностью оправдалось.

Я хочу рассказать о том, почему мы всё же разместили книгу на GitHub и почему даже переводчику полезно быть немного программистом.
Читать дальше →
Всего голосов 48: ↑46 и ↓2+44
Комментарии8

«Хакеры и художники», «On Lisp» и эссе на русском. Учим(ся) писать как Пол Грэм

Время на прочтение16 мин
Количество просмотров73K
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
«Лучший способ писать — это переписывать» Пол Грэм, «The Age of the Essay»



Преред курсом Сергея Абдульманова ( milfgard) я взял для себя квест — структурировать все статьи Грэма. Пол не только крутой программист и инвестор — он мастер лаконичного письма. Если milfgard назвал свой курс для контент-менеджеров "Буквы, которые стреляют в голову", то Пол Грэм стреляет из «по глазам» (кто играл в Fallout 2 тот поймет).

А еще мне захотелось освоить Lisp. Чисто так, чтобы мозг поразвивать, потому что крутые люди — Грэм, Кей и Рэймонд, Моррис — говорят хором: «Учите Lisp».

На данный момент Пол Грэм написал (по крайней мере, я нашел) 167 эссе. Из них на русский переведены 69.74(+10). Если читать по 1 статье в день (что очень хороший результат, потому что я после одной статьи хожу задумчивый неделю — голова кипит как после отличного мастер-класса, а иногда и как после двухдневного интенсива), то процесс займет полгода.

Под катом — список всех статей со ссылками на оригинал и с переводом (если он есть). Подборка живая (так что, как обычно, добавляйте в избранное, потом прочитаете) и будет дополняться по мере обнаружения свежака. Еще вы найдете переведенную на 8/15 книгу «Хакеры и художники» и 4/25 перевода книги «On Lisp». Так же я приведу свою подборку топ-5 статей Пола Грэма, с которых я бы рекомендовал начать знакомство с этим автором.
Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии3

7 правил создания красивых интерфейсов. Часть 2

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


Недавно мы в «Я люблю ИП» закончили курсы по дизайну от trydesignlab.com. И это одна из самых важных статей, которую нам посоветовал ментор в процессе обучения. Сегодня мы публикуем вторую часть перевода. Посмотреть все наши работы с курсов можно в ВКонтакте по тэгу #design101@iloveip.

Мы говорили о правилах создания чистых и красивых интерфейсов.

Вот эти правила:
  1. Свет падает сверху (Часть 1)
  2. Сначала черное и белое (Часть 1)
  3. Увеличьте белое пространство (Часть 1)
  4. Научитесь накладывать текст на изображения
  5. Научитесь выделять и утапливать текст
  6. Используйте только хорошие шрифты
  7. Крадите как художник

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

Информация

В рейтинге
3 590-й
Откуда
Томск, Томская обл., Россия
Дата рождения
Зарегистрирован
Активность