Pull to refresh
32
0
houk @houk

Разработчик

Send message

Кросс-облачное программирование с Go Cloud

Reading time5 min
Views7.2K

Введение


Сегодня (прим. переводчика 24-07-2018), команда Go в Google выпустила новый Open Source проект Go Cloud, библиотека и инструменты для разработки в открытом облаке. Этим проектом, мы преследуем цель, чтобы разработчики выбирали язык Go для создания кросс-облачных приложений.

Этот пост обясняет почему мы начали этот проект, детали того как работает Go Cloud, и как вовлечься и начать использовать его.
Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments2

Релиз второй версии плагина Nodejs для Sublime Text

Reading time4 min
Views6.7K
Добрый день, друзья! В ноябре 2016 года я начал играться с плагином Nodejs для Sublime Text. Плагин был маленьким и имел под катом несколько давних и хорошо известных багов.

В те дни я игрался с Nodejs и моим любимым редактором для кода был Sublime Text. По давно проторенной дорожке, я пошел на packagecontrol.io и поискал плагины для Nodejs. Нашелся вот этот. Поставив и поработав, я был очень разочарован, когда обнаружил, что некоторые заявленные фичи плагина не работают, или работают не так как заявлено…

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

Тогда я подумал… Это две частички технологии, которые мне нравятся, и я всегда хотел контрибьютить в Open Source.

План был прост, фиксить баги, с которыми я столкнусь. С течением времени, я понял, что фикс багов начал доставлять проблемы, из-за монолитной архитектуры плагина, отсутствия тестов и инструментов для отладки.
Под катом, что был сделано за год
Total votes 17: ↑15 and ↓2+13
Comments0

Переосмысление PID 1. Часть 4

Reading time13 min
Views9.3K




Касательно Upstart


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

Я это сказал, но я не могу сказать, что в целом согласен с подходом используемом в Upstart. Но для начала, чуть больше об Upstart.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments9

Релиз Go 1.9

Reading time2 min
Views14K
Сегодня (прим. переводчика: 24-08-2017), наша команда рада Вам представить релиз Go 1.9. Вы можете скачать его отсюда. В этом релизе очень много изменений касательно самого языка, стандартных библиотек, райнтайма и инструментов экосистемы. В этом посте я расскажу Вам о наиболее значимых из них. Наибольшее усилие в этом релизе было приложено на усовершенствование рантайма и инструментов экосистемы, что делает анонс менее интересным, но релиз более великолепным.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments28

Переосмысление PID 1. Часть 3

Reading time8 min
Views7.3K




Распараллеливание заданий файловой системы


Если вы посмотрите график загрузки текущих дистрибутивов, увидите больше точек синхронизации чем просто запуски демонов: больше всего времени отнимают задания, связанные с ФС: монтирование, проверка ФС на ошибки (fsck), квотирование. Сейчас, во время загрузки много времени тратится в ожидании, пока все диски, указанные в /etc/fstab не появятся в дереве устройств, а далее проверены на ошибки, примонтированы и применены квоты (если конечно они включены). Только после всего этого мы сможем пойти дальше и в действительности начнется загрузка служб.

Можем ли мы улучшить этот процесс? Выходит, что можем. Гарольд Хойер пришел с идеей использования достопочтенной autofs для улучшения процесса.
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments0

Переосмысление PID 1. Часть 2

Reading time4 min
Views11K


Распараллеливание служб сокетов


Этот вид синхронизации при загрузке приводит к опоследовательности (последовательный запуск служб) существенной части процесса загрузки. Не было бы круто если бы мы могли избавиться от цены синхронизации и опоследовательности? Что ж, мы можем на самом деле избавиться. Для этого, нам необходимо понять, что на самом деле службы (демоны) требуют друг от друга, и почему их запуск откладывается. Для традиционных демонов (служб) Unix, есть только один ответ на этот вопрос: они ждут до тех пор, пока демон предоставляющий свои службы не будет готов принимать соединения. Обычно это AF_UNIX сокет в файловой системе, но это может также быть AF_INET сокет. Для примера: клиенты D-Bus ждут /var/run/dbus/system_bus_socket, чтобы сконнектиться к нему, клиенты syslog ждут /dev/log, клиенты CUPS ждут /var/run/cups/cups.sock и NFS точки монтирования ждут /var/run/rpcbind.sock и порт IP портмаппера и т.д. А теперь задумайтесь об этом, на самом деле есть только одна вещь чего ждут остальные.
Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments23

Продвинутые перечисления с Ruby

Reading time9 min
Views17K
Перечисления (enumeration) по определению это — «действие упоминания некоторого количества чего-либо один за одним». В программировании, вместо упоминания, мы выбираем любое действие, которое хотим произвести, будь то простой вывод на монитор или выполнение некоторого рода выборки и/или преобразования над элементом.

В программировании, у нас есть много способов делать выборку и обработку коллекции за единицу времени, путем добавления в цепочку дополнительной функции трансформации на каждом шаге. И каждый шаг, может как потреблять целиком всю коллекцию перед тем как передать результаты обработки следующем шагу, или он может обрабатывать коллекцию «лениво», передавая один или более элементов коллекции через все шаги преобразований.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments0

Переосмысление PID 1. Часть 1

Reading time3 min
Views20K

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

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

Здесь код. А вот здесь история:
Читать дальше →
Total votes 19: ↑12 and ↓7+5
Comments6

«Сколько на самом деле стоят Google Glass?»

Reading time4 min
Views168K

Ресурс Teardown.com разобрал Google Glass и оценил очки в сумму, чуть меньше $100, по крайней мере столько стоят его компоненты.

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

Нам не в чем обвинить сих товарищей. Уже больше года, Google стабильно держит ценник — $1500 — что подстрекает особо любопытных пользователей «одолжить» у друга очки и выяснить какую часть ценника составляет его крошечные компоненты. Нематериальные затраты, как разработка и исследования, естественно учтены в стоимости очков, но сколько процентов это составляет от общей стоимости очков?
Читать дальше →
Total votes 175: ↑133 and ↓42+91
Comments53

Математика в шпионаже: затруднительное положение в работе на шпионов

Reading time4 min
Views23K
Спецслужбы нанимают на работу много математиков, но потенциальные сотрудники должны понимать, что их работа будет заключаться в «подглядывании» за всеми, утверждает Том Лейнстер.
image
Читать дальше →
Total votes 43: ↑36 and ↓7+29
Comments9

Графы — sigmajs

Reading time2 min
Views23K
Привет, уважаемое Хабра сообщество. В один из прекрасных летних дней, позвонил мне мой товарищ, и сказал, что у него есть для меня очень интересная задача. Я люблю интересные задачи. Приехав на следующий день в офис, мы обсудили задачу. Задача, в двух словах, поставлена была следующая: отобразить на браузерном канвасе иерархию ~ 30000 пользователей с зависимостью между ними, плюс должна присутствовать некая анимация, которая в контексте данного поста не существенна, может в будущих, если на то будет время и Ваше одобрение.

Мы ударили по рукам, я сказал, что мне нужно провести «изыскания», так как сфера (JS + Canvas), была для меня была нова, и выяснить насколько развитие браузерных технологий соответствует реалиями поставленной задачи.

Через некоторое, не долгое время, я наткнулся на замечательную библиотеку — sigmajs, на тот момент была версия 0.8.2, если мне не изменят память, которая удовлетворила почти все наши амбициозные потребности.

С тех пор, много воды утекло, появилась версия сигмы 1.0.0, я обрел новый багаж знаний в сфере JS + Canvas и веба в целом. Для тех, кого я заинтриговал, прошу под кат, где будет дан краткий обзор библиотеки — sigmajs.

Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments16

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity