Как стать автором
Обновить
17
0
Павел @Garret

Программист

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

Прощай, печатная плата; здравствуй, межкомпонентная кремниевая сеть

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

Размещение голых чипсетов на кремниевой сети позволит делать компьютеры меньшего размера и большей вычислительной мощности




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

Мы утверждаем, что виновником служит печатная плата. Наше решение – полностью избавиться от неё.
Читать дальше →
Всего голосов 31: ↑27 и ↓4+23
Комментарии21

Настройка с нуля сервиса управления ИБП Network UPS Tools (NUT) для управления локально подключенным ИБП

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

Настройка Network UPS Tools на Linux на примере ИБП Eaton 5E650iUSB


Описание


Сервис Linux NUT (Network UPS Tools) — это комплекс программ мониторинга и управления различными блоками бесперебойного питания (далее ИБП). Полный список поддерживаемых моделей можно получить, посмотрев список драйверов в файле /usr/share/nut/driver.list.


В руководстве описана настройка отключения ПК агентом NUT при потере напряжения в сети на примере ИБП Eaton 5E 650iUSB на Ubuntu-подобных дистрибутивах. Для использования под другие дистрибутивы используйте пакетный мененджер своего дистрибутива или соберите из исходных кодов. Новейшую версию Network UPS Tools можно скачать на GitHub по ссылке ссылке.

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

Безумие дотфайлов

Время на прочтение4 мин
Количество просмотров55K
Мы больше не контролируем свои домашние каталоги.

В моём собственном 25 обычных файлов и 144 скрытых. В дотфайлах хранятся данные, которые не принадлежат мне: они принадлежат программистам, чьи программы решили захватить моё пространство, предназначенное для хранения моих личных файлов.

Я не могу убрать эти файлы в другое место. Если я попытаюсь их удалить, они появятся снова. Всё, что я могу сделать — это сидеть и знать, что в темноте, за кулисами, они есть. Ожидание в тишине. Некоторые из этих программистов решили дополнительно разместить здесь несколько обычных файлов и каталогов. Они хорошо видны каждый раз, когда я выполняю ls. Понятия не имею, как в мою личную папку попали каталог node_modules, файлы package-lock.json, yarn.lock (я никогда сознательно даже не ставил yarn!), какие-то два странных лог-файла от какой-то Java-программы, явно использующей СУБД H2, и папка Desktop. Последнюю создал Steam, что довольно неудачно, поскольку на моей машине просто нет рабочего стола или какого-то десктопа. Боюсь того дня, когда услышу громкий стук в дверь — и один из этих программистов ворвётся и сообщит, что собирается хранить часть своей мебели посреди моей гостиной, если я не возражаю.
Читать дальше →
Всего голосов 186: ↑178 и ↓8+170
Комментарии339

Bonsai: фамильный вики-движок

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

Лирическое вступление


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

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



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

Идеальным решением для хранения семейных данных мне представлялся гибрид вики-движка и фотоальбома. Готовых подходящих решений не оказалось, поэтому пришлось написать собственный. Он называется Bonsai и доступен с открытым кодом по лицензии MIT. Дальше будет история о том, как он устроен и как им пользоваться, а также история его разработки и немного ДРАМЫ.
Читать дальше →
Всего голосов 67: ↑67 и ↓0+67
Комментарии40

Анализ данных с электросчетчика Eastron SDM220 средствами ThingSpeak

Время на прочтение5 мин
Количество просмотров11K
Всем привет. В статье на geektimes я рассказывал, как подключиться к электросчетчику Eastron SDM220-Modbus и забрать с него данные по шине RS-485. Сегодня я хочу рассказать про сбор и анализ статистических данных о потреблении электричества в доме.


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

Postgres NoSQL лучше, чем MongoDB?

Время на прочтение7 мин
Количество просмотров88K
В целом, системы управления реляционными базами данных были задуманы как «один-размер-подходит-всем решение для хранения и получения данных» на протяжении десятилетий. Но растущая необходимость в масштабируемости и новые требования приложений создали новые проблемы для традиционных систем управления РСУБД, включая некоторую неудовлетворенность подходом «один-размер-подходит-всем» в ряде масштабируемых приложений.

Ответом на это было новое поколение легковесных, высокопроизводительных баз данных, созданных для того, чтобы бросить вызов господству реляционных баз данных.
Читать дальше →
Всего голосов 69: ↑41 и ↓28+13
Комментарии72

Go, практика асинхронного взаимодействия

Время на прочтение8 мин
Количество просмотров34K
Немножко про каналы, про выполнение в основном процессе, про то как вынести блокирующие операции в отдельную горутину.
  • Каналы и пустое значение
  • Односторонние каналы
  • Выполнение в основном треде ОС
  • Вынос блокирующих операций

Читать дальше →
Всего голосов 23: ↑19 и ↓4+15
Комментарии32

Мир недокументированного React.js. Context

Время на прочтение6 мин
Количество просмотров35K
Предлагаю читателям «Хабрахабра» перевод статьи «The land of undocumented react.js: The Context».

Если мы взглянем на React компонент то мы можем увидеть некоторые свойства.

State


Да, каждый React компонент имеет state. Это что-то внутри компонента. Только сам компонент может читать и писать в свой собственный state и как видно из названия — state используется для хранения состояния компонента (Привет, Кэп). Не интересно, давайте дальше.

Props


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

Context


Встречайте context, причину, по которой я написал этот пост. Context — это недокументированная особенность React и похожа на props, но разница в том, что props передается исключительно от родительского компонента к дочернему и они не распространяются вниз по иерархии, в то время как context просто может быть запрошен в дочернем элементе.
Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии28

Распределенный крон и планировщик пакетных задач в кластере Prun

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

Вводная часть


Часто возникает необходимость управления задачами на множестве вычислительных узлов. Если выполнение задачи можно автоматизировать, написав скрипт, тогда все еще остается необходимость запуска, контроля за исполнением, остановкой этого скрипта в кластере. Задача может быть какой угодно: получить файл через wget, создать дамп локальной БД, запустить нагрузочный тест, выполнить архивацию старых файлов и т.д.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии9

ELK+R как хранилище логов

Время на прочтение3 мин
Количество просмотров33K
В компании заказчика появилась необходимость в неком хранилище логов с возможностью горизонтального масштабирования. Исходя из начала задачи первая мысль — Splunk. К сожалению, стоимость данного решения уходила далеко за пределы бюджета заказчика.

В итоге выбор пал на связку Logstash + Elasticsearch + Kibana.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии25

Бесплатный https сертификат + интеграция в Apache–TomCat

Время на прочтение3 мин
Количество просмотров18K
Доброго времени суток, дорогие друзья. У меня возникла необходимость настроить https на сервере, который используется в онлайн-игре. Для этого мне понадобится бесплатная регистрация на StartSSL и немного времени. Инструкции на самом сайте StartSSL довольно туманные. Эта публикация призвана пролить свет на детали.
Читать дальше →
Всего голосов 13: ↑8 и ↓5+3
Комментарии9

Интеграция Fail2ban с CSF для противодействия DDoS на nginx

Время на прочтение12 мин
Количество просмотров34K
Набор скриптов ConfigServer Security & Firewall (CSF) изначально обладает достаточно богатыми возможностями по организации защиты сервера хостинга Web с помощью фильтра пакетов iptables. В частности с его помощью можно противостоять затоплению атакуемого хоста пакетами TCP SYN, UDP и ICMP слабой и средней силы. Дополняет CSF встроенный Login Failure Daemon (lfd), который осуществляет мониторинг журналов на предмет наличия многочисленных неудачных попыток авторизации в различных сетевых сервисах с целью подбора пароля. Такие попытки блокируются путем внесения адреса IP злоумышленника в черный список CSF.
Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии14

Golang и ООП

Время на прочтение5 мин
Количество просмотров124K
Если вы еще не пресытились постами в блогосфере на тему «является ли Go ООП-языком», то вот вам еще один. И краткий ответ — «да, но это не важно».
Впрочем, я постараюсь не зацикливаться на терминологии и академических определениях, а сделать акцент на том, как мы делаем это в Go.


Читать дальше →
Всего голосов 63: ↑56 и ↓7+49
Комментарии65

Пишем плагин для XBMC с собственным интерфейсом: часть III — API и микро-фреймворк

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

Вступление


Это III часть цикла статей, посвященных написанию плагинов для XBMC с собственным интерфейсом. В предыдущих частях (часть I и часть II) я рассказал об основных принципах создания интерфейса плагинов XBMC и дал несколько простых примеров. В этой части я хочу совсем кратко рассказать о различных API для взаимодействия с XBMC, продемонстрировать написанный мною микро-фреймворк, упрощающий компоновку интерфейса.
Читать дальше →
Всего голосов 16: ↑13 и ↓3+10
Комментарии0

Собираем современный системный блок дешевле 150 евро

Время на прочтение2 мин
Количество просмотров53K
                                       - Нам придется платить за покупки не больше 200 долларов - это потолок! 
                                       - Между прочим, очень низкий потолок...

image

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

В этом посте подборка комплектующих с Амазона для современного системного блока общего назначения на архитектуре x86 общей совокупной стоимостью ниже 150 евро.

Читать дальше →
Всего голосов 76: ↑22 и ↓54-32
Комментарии84

Защита прав потребителей в России: Мы далеко не последние

Время на прочтение6 мин
Количество просмотров8.5K
Устал я слушать от знакомых причитания по качеству защиты прав покупателей в России и завистливые возгласы: «Вот на западе....».
Нет, я не хочу сказать что я негативно отношусь к западу, просто хочу показать, что и у наших граждан, есть защита. И закон о защите прав потребителей далеко не такой, каким многие его представляют.
Что же даёт нам закон?
Всего голосов 165: ↑164 и ↓1+163
Комментарии110

Что такое качество в веб-дизайне: примеры и рекомендации. Часть 1

Время на прочтение5 мин
Количество просмотров39K
Несколько выдающихся примеров и рекомендаций по созданию качественного дизайна веб-страницы или блога

quality

Многие люди склонны описывать предоставляемые ими услуги по веб-дизайну как «качественные». Но что означает здесь слово «качество», как определить, является дизайн качественным или нет? Что ж, я вижу несколько способов определить качество применительно к сфере веб-дизайна. Ведь если однажды определить, что позволяет создавать качественный веб-дизайн, можно использовать эти же приемы для оттачивания собственного стиля.

Чтобы объяснить, как я понимаю качество в дизайне веб-сайтов, я собрал несколько рекомендаций и примеров.
Читать дальше →
Всего голосов 164: ↑152 и ↓12+140
Комментарии64

Пример использования Mate Flex Framework

Время на прочтение6 мин
Количество просмотров3.4K
Mate Flex Framework Сразу же после появления на свет вышеуказанного фреймворка я понял — это именно то, чего так долго не хватало. Влезать в кабалу создания огромного количества классов используя фреймворки Cairngorm или PureMVC очень не хотелось, а с приходом Mate, появилась возможность уменьшить общую связанность компонентов приложения и использовать безболезненный обмен сообщениями(событиями) декларируя их в «родном» mxml.

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

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

Flex Data Binding Tricks

Время на прочтение9 мин
Количество просмотров5.5K
Меньше года назад меня вовлекли в проект, для которого необходимо было писать клиента на Flex. Так как я был новичком в этом деле, то в процессе работы я находил что-то новое и совершенно неизвестное мне. В то время я и открыл для себя Flex Data Binding (связыванием данных). Я думаю, что каждый, кто работает с Flex очень скоро сталкивается с Data Binding.
Связывание данных заключается в том, что мы можем с легкостью связывать два объекта (источника данных) между собой, что позволяет поддерживать их синхронизацию. Примером может служить связывание между собой элементов пользовательского интерфейса путем создания некоторых правил поведения, что способствует созданию более интерактивного пользовательского интерфейса.
Имея некоторый опыт в этой области, я решил разобрать все типы механизма связывания данных во Flex. Думаю эта статья будет интересна не только новичкам, но и профессионалы почерпнут из неё что-нибудь для себя.
Ещё больше о data binding
Всего голосов 25: ↑25 и ↓0+25
Комментарии19

Разработка на Flex в IntellliJ IDEA с использованием maven

Время на прочтение6 мин
Количество просмотров4.5K
При разработке на ActionScript, как и на любом другом языке, возникает два вопроса: «В чем писать?» и «Чем собирать?». Если вы продвинутый разработчик, вы наверняка уже используете IntelliJ IDEA как IDE и maven как инструмент сборки. Данная статья показывает оптимальность этого решения и описывает процесс настройки рабочего окружения. Если вы не любите пиво (и не понимаете смысл этой фразы и на кого я только что кивнул) и не считаете себя ленивой скотиной, можете не тратить свое время.

Статья скорее искра, чем пошаговое руководство, тем более, посвящена EAP, поэтому если вы ну совсем ленивая скотина без капли риска, то ждите релиза :)

Читать дальше →
Всего голосов 30: ↑25 и ↓5+20
Комментарии43

Информация

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