В этой статье мы рассмотрим основные инструменты работы с Google Drive REST API, осуществим "прямую" и "обратную" синхронизацию папки на компьютере с папкой в облаке Гугл Диска, а заодно выясним какие сложности могут возникнуть при работе с Google Docs через API Диска и как правильно их импортировать и экспортировать чтобы (почти) никто не пострадал.
Пользователь
Что придет на замену X Window System?
Одним из знаменательных Linux событий прошлого года стал выход 25-й Федоры с графическим окружением Gnome 3.22 на базе дисплейного сервера Wayland, который призван заменить X Window System. Но зачем вообще после стольких лет возникла такая необходимость?
В последнее время экипаж МКС пересел с Windows на Linux.
— Хьюстон, у нас проблемы. Нас сносит на Юпитер.
— Вы что, опять возились с xorg.conf?
— Да. Хьюстон, за три последних дня у нас почему-то выросли бороды.
Далее, речь о том, почему Linux необходима новая графическая среда, хотя бы в 2017 г, а отдельным постом я расскажу про Wayland и Mir.
Графический стек Linux
Это обзорная статья о составных частях графического стека Linux и том, как они уживаются вместе. Изначально я написал её для себя после разговоров об этом стеке с Оуэном Тейлором, Рэем Строудом и Эдэмом Джексоном (Owen Taylor — мэйнтейнер Gnome Shell; Ray Strode — мэйнтейнер большого количества десктопных пакетов сообщества RedHat; Adam Jackson — разработчик графического стека Gnome Shell и интеграции с XOrg; прим. переводчика).
Я постоянно дёргал их, снова и снова расспрашивал о всяких мелочах, а потом эти мелочи благополучно забывал. В конце концов, я задал им вопрос — а нет ли какого-нибудь обзорного документа, уткнувшись в который я бы избавил ребят от своего назойливого внимания? Не получив утвердительного ответа я решил написать эту статью, которая по завершению была вычитана Эдэмом Джексоном и Дэвидом Эйрли. Они оба работают над этим стеком.
Мультиплеер в быстрых играх (части I, II)
Предлагаю вашему вниманию перевод статьи Fast-Paced Multiplayer (Part I): Introduction.
Разработка игры — само по себе непростое занятие. Но мультиплеерные игры создают совершенно новые проблемы, требующие разрешения. Забавно, что у наших проблем всего две причины: человеческая натура и законы физики. Законы физики привнесут проблемы из области теории относительности, а человеческая натура не даст нам доверять сообщениям с клиента.
Основы компьютерных сетей. Тема №1. Основные сетевые термины и сетевые модели
История видеонаблюдения: путь от телевизора и Третьего рейха до облаков и нейросетей
Иконоскоп в экспозиции Чешского национального музея техники
Наблюдать за чем-то (или кем-то) бывает скучно, порой опасно, но зачастую необходимо. Люди постоянно придумывают и совершенствуют технические средства, способные облегчить жизнь и снизить риск для наблюдателя, а также повысить качество наблюдения. Историю систем удаленного наблюдения отсчитывают с момента зарождения электронного телевидения, или, точнее, с изобретения иконоскопа — электронной трубки, передающей изображение.
Впрочем, наблюдение как явление возникло гораздо раньше всех технических средств. Первобытные охотники, выглядывавшие из-под сводов пещеры, уже знали о важности постоянного контроля. В 19 веке полицейские посещали тюрьмы, где осматривали заключенных, запоминая их лица и внешность. С появлением фотографии, а затем и телевидения стало намного проще передавать важную информацию, но все еще не был решен вопрос с безопасностью сохранения данных. Видеонаблюдение должно было не только фиксировать важные события, но и по возможности сохранять их. Вечно.
Техника безопасности при работе с PostgreSQL
Архитектура растущего проекта на примере ВКонтакте
Алексей Акулович объясняет жизненный путь высоконагруженного проекта на PHP. Это — расшифровка Highload ++ 2016.
Меня зовут Лёша, я пишу на PHP.
К счастью, доклад не об этом. Доклад будет про ретроспективу развития сети — того, как проект развивался. Какие решения капитанские или весьма специфические для нашей нагрузки мы применяли, что можно использовать в других проектах, которые испытывают нагрузки.
Начнём.
Путешествие финансовой транзакции
Мы подошли к тому уровню развития финансовых технологий, когда традиционные представления о качестве платежных сервисов складываются из двух составляющих: скорости прохождения транзакции и одобрения платежа. И что же здесь нового, спросите вы? Так было всегда. Но в этом только часть правды.
Результат всегда один. А вот транзакционная цепочка менялась от десятилетия к десятилетию. Менялось количество участников в процессе инициации и одобрения платежа. Тут стоит упомянуть слово «процессинг» не просто как обработку данных, а как процесс между инициацией транзакции и ее финалом (одобрение/отказ).
Бесплатное программное обеспечение для IP-камер
В итоге, как нам кажется у нас получился самый полный список программного обеспечения для систем видеонаблюдения.
Все программное обеспечение разбито на три группы:
- Программное с открытым исходным кодом
- Бесплатное программное обеспечение с ограниченным функционалом
- Программное обеспечение бесплатное в течении пробного периода
Pico8 — несуществующая игровая консоль
Toyota: 81 514 нарушений в коде
Люди: — Эй, Тойота, мы тут посчитали, у вас из-за корявой электроники и софта 89 человек погибло с 2000 по 2010.
Тойота: — Да они сами виноваты, путают педали.
Люди: — Хьюстон, у нас проблемы.
NASA: — Ща разберемся, нам надо 10 месяцев и 3 миллиона долларов.
Люди: — На.
Тойота: — 3 миллиона мало, вот вам еще сверху кэшем.
(прошло 10 месяцев)
NASA: — Эй, Тойота, мы у вас пару ошибок в коде нашли, а точнее 7134 нарушения стандартов MISRA, рекурсию, функцию на 740 строк и 9000 глобальных переменных.
Тойота: — А у нас свои стандарты. А вы ваще на Луну летали?
NASA (публично): — Тойота ни в чем не виновата.
(Акции Тойота подскочили на 4,6%)
Люди: — Ну ё-моё.
(спустя 3 года)
Два американских тестировщика (у которых дедушки погибли в Перл-Харбор): — Нет багов? А если найдем?
Запуск отдельных приложений через OpenVPN без контейнеров и виртуализации
Как обезопасить Linux-систему: 10 советов
В этом материале мы постараемся раскрыть эту тему с практической точки зрения:
/ фото Dave Allen CC
Что стоит почитать об Angular 2
Скрипт для тех, кому лень разбираться в Linux
Да мне и самому надоело лазить по специализированным форумам, каждый раз, когда приходится сделать шаг влево или шаг вправо относительно того, что я уже научился делать. Именно поэтому, со временем, все типовые вещи я свёл в один скрипт с дружелюбным интерфейсом, который умеет делать всё сам. Начиналась всё с малого. Скрипт просто автоматизировал установку нужного мне софта. Но за полгода он превратился уже в весьма серьёзную утилиту весом более 100 Кб, в которой около 2,5 тысяч строк кода. Скрипт ранее нигде не выкладывался. Использовался только в личных целях мной и несколькими моими товарищами. Пришло время им поделиться с публикой. Уверен, многим людям он способен сэкономить кучу времени.
Чтобы понять, что он умеет, проще всего глянуть на заглавный скриншот:
Далее подробнее опишу, что и как он делает.
Пишем, собираем и запускаем HelloWorld для Android в блокноте. Java 8 и Android N
Два с половиной года назад я опубликовал статью Пишем, собираем и запускаем HelloWorld для Android в блокноте. Она стала пользоваться огромной популярностью и набрала около 80 000 просмотров. С появлением новых инструментов, таких как Jack ToolChain, возникла необходимость переиздания и обновления статьи.
Когда я начал изучать Android, захотелось полностью написать и скомпилировать Android-приложение вручную — без использования IDE. Однако эта задача оказалась непростой и заняла у меня довольно много времени. Но как оказалось — такой подход принёс большую пользу и прояснил многие тонкости, которые скрывают IDE.
Используя только блокнот, мы напишем совсем маленькое учебное Android-приложение. А затем скомпилируем его, соберём и запустим на устройстве — и всё через командную строку. Заинтересовало? Тогда прошу.
Почему, ну почему, эти #?@! придурки используют vi?
Предлагаю читателям "Хабрахабра" перевод статьи "Why, oh WHY, do those #?@! nutheads use vi?" за авторством John Beltran de Heredia.
Да, даже если вы не можете в это поверить, у редактора vi, увидевшего свет более тридцати лет назад (и его более молодого, всего-то пятнадцатилетнего лучшего клона & большого улучшения — vim) очень много фанатов.
Нет, они не динозавры, которые не хотят идти в ногу со временем — сообщество пользователей vi продолжает увеличиваться: я, который начал только два года назад (после десяти лет работы программистом). Мои друзья переходят на vi сейчас. Черт, большинство пользователей vi даже еще не были рождены, когда он был написан!
Да, есть конкретные причины, почему модель редактирования vi/vim превосходит любую другую. Вам не надо быть экспертом в Unix, чтобы использовать vi — он доступен бесплатно практически для любой существующей платформы; для большинства IDE существуют плагины, позволяющие использовать его возможности. Давайте же развеем некоторые заблуждения и рассмотрим пару примеров, демонстрирующих его превосходство.
10 техник, которыми пользуются манипуляторы (и как с ними бороться)
Психопаты — это не только злодеи из ужастиков и поучительных историй с Уолл-стрит. Мы ежедневно встречаемся с ними в офисе, и поначалу они кажутся нам обычными людьми. Одно исследование обнаружило: небольшая, но заметная часть бизнес-лидеров — 3—4% — подходит под клиническое определение психопата. Как защититься при взаимодействии с такими людьми?
Python: строим распределенную систему c PySyncObj
class MyCounter(object):
def __init__(self):
self.__counter = 0
def incCounter(self):
self.__counter += 1
def getCounter(self):
return self.__counter
И вы хотите сделать его распределённым. Просто наследуете его от SyncObj (передав ему список серверов, с которыми нужно синхронизироваться) и отмечаете декоратором @replicated все методы, которые изменяют внутреннее состояние класса:
class MyCounter(SyncObj):
def __init__(self):
super(MyCounter, self).__init__('serverA:4321', ['serverB:4321', 'serverC:4321'])
self.__counter = 0
@replicated
def incCounter(self):
self.__counter += 1
def getCounter(self):
return self.__counter
PySyncObj автоматически обеспечит репликацию вашего класса между серверами, отказоустойчивость (всё будет работать до тех пор, пока живо больше половины серверов), а также (при необходимости) асинхронный дамп содержимого на диск.
На базе PySyncObj можно строить различные распределенные системы, например распределенный мьютекс, децентрализованные базы данных, биллинговые системы и другие подобные штуки. Все те, где на первом месте стоит надёжность и отказоустойчивость.
Информация
- В рейтинге
- Не участвует
- Откуда
- Россия
- Дата рождения
- Зарегистрирован
- Активность