Pull to refresh
3
0
Виктор Карпов @vitkarpov

Software Engineer

Send message

30 толковых книг по бизнесу, саморазвитию и творчеству, которые изменили мою жизнь

Reading time5 min
Views192K


Полтора года назад я принял вызов прочитать 100 книг за год. Авантюра полностью себя не оправдала, так как некоторые книги я перечитывал, но однозначно оказалась полезной. По итогам последних двух лет я составил список книг, которые каким-то образом повлияли на мою жизнь. Составлял я его для себя, но позже решил, что он пригодиться и вам.
Читать дальше →

Дайджест свежих материалов из мира фронтенда за последнюю неделю №234 (24 — 30 октября 2016)

Reading time6 min
Views20K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы и интересные материалы из области фронтенда.


Читать дальше →

Дональд Кнут: как я занялся анализом алгоритмов и ради этого поехал в СССР (37,91,97/97)

Reading time10 min
Views31K
«Андрей (Ершов), представь, как было бы здорово организовать что-то вроде паломничества, где программисты со всего мира могли бы приехать в Хорезм и отпраздновать рождение этого понятия.»
— Дональд Кнут уговаривает Ершова организовать международный симпозиум

image
Кнут и Ершов

Осенью 1967 в Санта-Барбаре была конференция математиков, возможно, это был тот же год, когда я также побывал на конференции в Чапел-Хилле. Я встречал многих людей, которые стимулировали меня, и было множество интересных проблем, которые нам стоило обсудить друг с другом. Но когда я добрался до конференции в Санта-Барбаре, я понял, что это мой единственный шанс заняться исследованиями. Я не посещал лекции. Я просто сидел на берегу и писал свою статью об атрибутной грамматике прямо во время конференции. Но я посещал обеды. Я помню, как кто-то спросил меня, чем я занимаюсь и я решил побыть программистом, а не математиком в тот момент.

— Я думаю, я собираюсь стать программистом.
— О, так ты занимаешься численным анализом?
— Не совсем.
— Аааа, искусственный интеллект.
— Нет, и не искусственный интеллект.
— Тогда должно быть ты занимаешься языками программирования?

Дайджест свежих материалов из мира фронтенда за последнюю неделю №228 (12 — 18 сентября 2016)

Reading time6 min
Views17K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы и интересные материалы из области фронтенда.

Читать дальше →

Что такое программная инженерия. Лекция в Яндексе

Reading time39 min
Views67K
Кандидат технических наук МИЭМ, заместитель руководителя департамента программной инженерии факультета компьютерных наук НИУ ВШЭ и заместитель завкафедрой системного программирования ИСП РАН Ефим Гринкруг даёт свой ответ на вопрос о том, что такое программная инженерия.

Этому термину уже почти 50 лет — впервые его начали использовать в 1968 году. Дело в том, что именно тогда методы классической инженерии — например разбиение на отдельные компоненты — стали всерьёз применяться в создании софта. Но почему они не применялись раньше, и какой новый смысл приобрело выражение «программная инженерия» в последние десятилетия?



Под катом — подробная расшифровка и слайды.
Читать дальше →

«Веб — это самая сложная платформа в истории человечества» — интервью с Вадимом Макеевым из Opera

Reading time32 min
Views26K


В этом выпуске «Без слайдов» гостем выступил Вадим Макеев aka pepelsbey, евангелист компании Opera Software, один из самых известных фронтенд-людей в стране, организатор многих мероприятий в индустрии.

Мы успели обсудить:
  • эволюцию WebKit;
  • путь Microsoft и новую модель браузера;
  • архитектуру современных браузеров;
  • как Opera выбирала между WebKit и Blink;
  • стандартизацию в вебе;
  • насколько трудна работа веб-разработчика;
  • JavaScript и его «продолжения»;
  • jQuery, и почему он все еще нужен;
  • HTTP/2;
  • ритм жизни евангелиста;
  • мобильный веб и Opera Mini;


Интервью взято в феврале, но руки дошли до публикации только сейчас.

Видео-версия нашей беседы вот тут:


А для тех, кто предпочитает читать, — под катом расшифровка нашей беседы.

Читать дальше →

Оракул от арифметики

Reading time9 min
Views35K

В свои 28 лет Петер Шольце раскрывает глубинные связи между теорией чисел и геометрией




В 2010 году по сообществу людей, изучающих теорию чисел, прошёл поразительный слух – и дошёл до Джареда Вайнштейна [Jared Weinstein]. Якобы какой-то аспирант из Боннского университета в Германии опубликовал работу, в которой 288-страничное доказательство теоремы из теории чисел ужато всего до 37 страниц. 22-летний студент Петер Шольце нашёл способ обойти одну из самых сложных частей доказательства, сопоставив теорию чисел и геометрию.

«Просто невероятно, что такой молодой человек смог сделать нечто настолько революционное,- говорит Вайнштейн, 34-летний специалист по теории чисел из Бостонского университета. – Это несомненный повод для уважения».

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

С того момента Шольце, которому сейчас 28, дорос до высокого положения уже в более широком математическом сообществе. Его называют "одним из самых влиятельных математиков мира", и "редким талантом, появляющимся раз в несколько десятилетий". О нём говорят, как о фаворите среди претендентов на Филдсовскую премию, одну из высочайших наград для математика.

Ключевому нововведению Шольце – классу фрактальных структур, названных им перфектоидными пространствами – исполнилось всего несколько лет, но оно уже ведёт к далеко идущим последствиям в области арифметической геометрии, в которой сливаются теория чисел и геометрия. Вайнштейн говорит, что работа Шольце была провидческой. «Он смог увидеть последствия до того, как те начали происходить».
Читать дальше →

Важные аспекты работы браузера для разработчиков. Часть 1

Reading time9 min
Views87K

Автор: Антон Реймер

Статья основана на вебинаре, который я проводил некоторое время назад. Рассчитана она, в первую очередь на тех, кто не знает, как работают браузеры, или тех, у кого есть пробелы в знаниях. Вероятно, здесь будет много очевидного для тех кто не первый день в веб-разработке. Статью я решил разделить на две части. В первой рассмотрим общие принципы работы браузера. Во второй части я акцентирую внимание на некоторых важных моментах: reflow и repaint, event loop.

Что такое браузер?


Браузер — программа, работающая в операционной системе. Большинство браузеров написано на языке C++. Основное предназначение браузера — воспроизводить контент с веб-ресурсов. В качестве веб-ресурса в большинстве случаев выступает html-страница. Это также может быть pdf-файл, png, jpeg, xml-файлы и другие типы. Среди огромного количества браузеров можно выделить самые популярные: Chrome, Safari, Firefox, Opera и Internet Explorer. Мы рассмотрим браузеры с открытым исходным кодом: Chrome, Firefox, Safari.

Из чего состоит и как работает браузер?



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

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

Распутывая историю Ады Лавлейс (первого программиста в истории)

Reading time43 min
Views84K

Перевод поста Стивена Вольфрама "Untangling the Tale of Ada Lovelace".
Выражаю огромную благодарность Кириллу Гузенко KirillGuzenko за помощь в переводе и подготовке публикации.

Содержание


Ранние годы Ады
Чарльз Бэббидж
Уровень развития этой области
Возвращаемся к Аде
Возвращаясь к Бэббиджу
Статья Ады
После статьи
После смерти Ады
Что стало с Бэббиджем?
Повторное открытие
О чем на самом деле писала Ада
Вычисление чисел Бернулли
Бэббидж vs. Ада?
Секретный ингредиент Бэббиджа
В большем масштабе
А что, если...
Какими они были?
Заключение
Ада Лавлейс родилась 200 лет назад. Для некоторых она является знаменательной фигурой в истории вычислительной техники; для других — изрядно переоцененной личностью. В течение долгого времени я пытался разобраться, как всё было на самом деле. И вот, к её двухсотлетию, я решил разобраться в том, что называл для себя "тайной Ады".

Получилось намного сложнее, чем я ожидал. Историки расходятся во мнениях. Личности в истории сложно изучать. Технологии трудно понять. Вся история переплетается с обычаями 19-го века британского высшего общества. И есть удивительное количество ошибочных сведений и неверных трактовок.

Но после некоторого исследования, в том числе просмотра большого количества оригинальных документов, я чувствую, что я, наконец, понял, кто есть Ада Лавлейс, и какова ее история. Эта история полна как увлекательных, захватывающих моментов, так и трагичных, разочаровывающих.

Это сложная история, и чтобы в ней разобраться, нужно будет о многом рассказать.
Подробнее об Аде Лавлейс...

Конкурс по программированию на JS: Классификатор слов (дополнение)

Reading time3 min
Views18K
Спасибо всем, кто уже поучаствовал или собирается участвовать в нашем конкурсе по программированию!

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

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

Для отправки работ осталась ещё неделя. Если этот пост помог Вам найти ошибку, ещё есть время её исправить.

Английская версия этого поста размещена на GitHub.

Часто задаваемые вопросы

Читать дальше →

За что ругают Golang и как с этим бороться?

Reading time5 min
Views76K
Написав несколько проектов на Go, я оглянулся назад. Посмотрел на язык, на его плюсы и минусы. В этой статье хотелось бы поговорить о том, за что критикуют Go. Конечно же, речь пойдет об отсутствии ООП как такового, перегрузки методов и функций, обобщенного программирования и исключений. Действительно ли это доставляет столько проблем? Или это проблема подхода разработки? Я поделюсь своим опытом решения этих вопросов.
Читать дальше →

Весенний Go в Badoo

Reading time1 min
Views9.3K

Спешим сообщить вам прекрасную новость – 14 мая в московском офисе компании Badoo пройдет весенний Go-митап.

Начинаем в 12:00. Приходите послушать интересные доклады и просто пообщаться!

Выступления будут сниматься на видео.

Программа


Марко Кевац, Badoo

«Оптимизация программ на Go»

Из доклада вы узнаете:
— про большинство утилит из арсенала Go, предназначенных для оптимизации производительности;
— как и когда их (утилиты) использовать, а также мы посмотрим как они устроены внутри;
— про применимость linux утилиты perf для оптимизации программ на Go.
Кроме того, устроим небольшой crash course, в рамках которого поэтапно соптимизируем несколько небольших программ на Go с использованием вышеперечисленных утилит.
Читать дальше →

Конкурс по программированию на JS: Классификатор слов

Reading time5 min
Views73K
Компания Hola объявляет начало весеннего конкурса по программированию! Призовой фонд увеличен:

  1. Первое место: 3000 USD.
  2. Второе место: 2000 USD.
  3. Третье место: 1000 USD.
  4. Возможно, мы решим отметить чьи-то чрезвычайно оригинальные решения двумя специальными призами в 400 USD.
  5. Если Вы отправите кому-то ссылку на этот конкурс, поставив наш адрес в CC, и этот человек займёт призовое место, Вы получите половину суммы приза (разумеется, не в ущерб награде победителя). За одного победителя такую награду может получить только один человек — тот, кто отправил ссылку первым.

Мы ищем талантливых программистов, поэтому авторы интересных решений будут приглашены на собеседования.

Опубликовано дополнение: Тестовая программа, часто задаваемые вопросы, типичные ошибки.
Опубликовано дополнение: О ходе тестирования.


Правила


На этот раз мы решили попробовать что-то новенькое: для разнообразия, этот конкурс — не на производительность кода.

Условия конкурса на английском языке размещены на GitHub. Ниже — перевод на русский язык.

Читать дальше →

Рекурсия. Занимательные задачки

Reading time14 min
Views405K
Здравствуй Хабрахабр!

В этой статье речь пойдет о задачах на рекурсию и о том как их решать.
image

Кратко о рекурсии


Рекурсия достаточно распространённое явление, которое встречается не только в областях науки, но и в повседневной жизни. Например, эффект Дросте, треугольник Серпинского и т. д. Один из вариантов увидеть рекурсию – это навести Web-камеру на экран монитора компьютера, естественно, предварительно её включив. Таким образом, камера будет записывать изображение экрана компьютера, и выводить его же на этот экран, получится что-то вроде замкнутого цикла. В итоге мы будем наблюдать нечто похожее на тоннель.

В программировании рекурсия тесно связана с функциями, точнее именно благодаря функциям в программировании существует такое понятие как рекурсия или рекурсивная функция. Простыми словами, рекурсия – определение части функции (метода) через саму себя, то есть это функция, которая вызывает саму себя, непосредственно (в своём теле) или косвенно (через другую функцию).

О рекурсии сказано много. Вот несколько хороших ресурсов:
Читать дальше →

Пятничный формат: Как работает Netflix

Reading time10 min
Views26K


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

Сегодня мы решили разнообразить пятничную ленту Хабра разбором материалов по теме устройства сервиса Netflix, поставляющего зрителям фильмы и сериалы на основе технологий потокового мультимедиа.
Читать дальше →

Блеск и нищета Big Data

Reading time4 min
Views8.5K
Революция, связанная с анализом больших данных, порождает не только замечательные достижения, но и определенные трудности, в том числе методологического характера. Рассмотрим некоторые из них детальнее.
Читать дальше →

Кейс разработки на Golang: платформа Виртуальной АТС ITooLabs

Reading time1 min
Views8K
Публикуем получасовое видео с докладом о языке разработки Golang для участников партнерской конференции Битрикс24. В докладе CEO ITooLabs Алексей Найденов расскажет про кейс разработки собственной телефонной платформы на Golang, и о том, почему мы отказались от других вендорских решений и стали сами вендором, и почему выбрали Golang.

Доклад может быть интересен тем, кто последние пять лет скрывался от мира и поэтому не слышал про Golang, а также тем, кто про Golang слышал, но еще колеблется и хотел бы услышать про примеры успешных проектов.

В докладе описаны кейсы разработки и эксплуатации платформы виртуальной АТС для операторов связи (свыше 20 000 аккаунтов) и голосовой почты для одного из крупнейших мобильных операторов юго-восточной Азии (70 миллионов пользователей).
Читать дальше →

Почему сложно программировать UI и как выглядит идеальный фреймворк

Reading time1 min
Views22K
Привет, Хабр!

Одна из сложных задач современной разработки — это программирование пользовательского интерфейса. С увеличением количества элементов сложность увеличивается нелинейно и совладать с огромным количеством вариантов, состояний и переходов становится практически невозможно. Фреймворки вроде Angular со своим двусторонним связыванием пытается решить эту проблему, но на фундаментальном уровне ничего не меняется.

Со-основатель, технический директор и главный учитель нашего образовательного проекта Хекслет Кирилл Мокевнин рассказывает про сложность программирования интерфейсов и каким образом можно совладать со сложностью если вы знакомы с одной базовой концепцией информатики. Заодно расскажет и покажет идеальный JS-фреймворк для программирования UI.

Читать дальше →

Конкурс по программированию на JS: Почтовые фильтры

Reading time4 min
Views47K
UPDATE: Опубликованы итоги конкурса.

Компания Hola снова объявляет конкурс по программированию на JS с солидным призовым фондом:

  1. Первое место: 1500 USD
  2. Второе место: 1000 USD
  3. Третье место: 500 USD
  4. Возможно, мы решим отметить чьё-то чрезвычайно оригинальное решение специальным призом в 350 USD.
  5. Если Вы отправите кому-то ссылку на этот конкурс, поставив наш адрес в CC, и этот человек займёт призовое место, Вы получите такую же сумму, как и он.

Мы ищем талантливых программистов, поэтому авторы интересных решений будут приглашены на собеседования.



Правила


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

Условия конкурса на английском языке размещены на нашем сайте. Ниже — перевод на русский язык.

Читать дальше →

Information

Rating
Does not participate
Location
Edinburgh, Scotland South, Великобритания
Date of birth
Registered
Activity