Forwarded from Пятничный деплой
Оказывается к демону docker можно по ssh ходить https://medium.com/better-programming/docker-tips-access-the-docker-daemon-via-ssh-97cd6b44a53
Medium
Docker Tips: Access the Docker Daemon via SSH
Since Docker 18.09 the daemon is accessible through ssh
Новости IT, суббота, 06.07.2019
Выпуск языка программирования Rust 1.36
https://u.to/XrDMFQ
Предложения относительно уязвимостей и защиты моделей машинного обучения
https://u.to/wqTMFQ
Новый оператор spaceship (космический корабль) в C++20
https://u.to/X6XMFQ
«Проще ответить, чем продолжать молчать» — большое интервью с отцом транзакционной памяти, Морисом Херлихи
https://u.to/n6jMFQ
Проект Snuffleupagus развивает PHP-модуль для блокирования уязвимостей
https://u.to/-KnMFQ
#news
Выпуск языка программирования Rust 1.36
https://u.to/XrDMFQ
Предложения относительно уязвимостей и защиты моделей машинного обучения
https://u.to/wqTMFQ
Новый оператор spaceship (космический корабль) в C++20
https://u.to/X6XMFQ
«Проще ответить, чем продолжать молчать» — большое интервью с отцом транзакционной памяти, Морисом Херлихи
https://u.to/n6jMFQ
Проект Snuffleupagus развивает PHP-модуль для блокирования уязвимостей
https://u.to/-KnMFQ
#news
Terraform: Up & Running, 2nd edition Early Release is now available!
Отличный пост от Yevgeniy Brikman (компания Gruntwork) анонсирующий его новую книгу Terraform: Up & Running, 2nd edition и изменения в Terraform за последние 2 года, которые прошли с выпуска первого издания книги.
https://blog.gruntwork.io/terraform-up-running-2nd-edition-early-release-is-now-available-b104fc29783f
Отличный пост от Yevgeniy Brikman (компания Gruntwork) анонсирующий его новую книгу Terraform: Up & Running, 2nd edition и изменения в Terraform за последние 2 года, которые прошли с выпуска первого издания книги.
https://blog.gruntwork.io/terraform-up-running-2nd-edition-early-release-is-now-available-b104fc29783f
Medium
Terraform: Up & Running, 2nd edition Early Release is now available!
Learn the top 10 problems that have been fixed in Terraform since the 1st edition
найти можно, например, здесь: https://github.com/rongfengliang/ebooks
Новости IT, вторник, 09.07.2019
Резкость по всему кадру: физики решили оптическую проблему 2000-летней давности
https://u.to/9s3RFQ
Tor исправит ошибку, из-за которой интернет-криминал сбегал в другие «секретные сети»
https://u.to/eM-RFQ
Власти выделяют средства на создание российского конкурента «Википедии»
https://u.to/QdHRFQ
Зафиксирована подстановка вредоносного кода в Ruby-пакет Strong_password
https://u.to/CtTRFQ
Релиз ядра Linux 5.2
https://u.to/ntTRFQ
#news
Резкость по всему кадру: физики решили оптическую проблему 2000-летней давности
https://u.to/9s3RFQ
Tor исправит ошибку, из-за которой интернет-криминал сбегал в другие «секретные сети»
https://u.to/eM-RFQ
Власти выделяют средства на создание российского конкурента «Википедии»
https://u.to/QdHRFQ
Зафиксирована подстановка вредоносного кода в Ruby-пакет Strong_password
https://u.to/CtTRFQ
Релиз ядра Linux 5.2
https://u.to/ntTRFQ
#news
Новости IT, среда, 10.07.2019
На компьютере программы «Аполлон» попробовали майнить биткоин: 10,3 секунды на хэш
https://u.to/LW-TFQ
Релиз Firefox 68
https://u.to/gnDTFQ
Новый бэкдор атакует пользователей торрент-сервисов
https://u.to/ZnPTFQ
Приложение Google Фото скоро получит массу новых функций
https://u.to/z3vTFQ
#news
На компьютере программы «Аполлон» попробовали майнить биткоин: 10,3 секунды на хэш
https://u.to/LW-TFQ
Релиз Firefox 68
https://u.to/gnDTFQ
Новый бэкдор атакует пользователей торрент-сервисов
https://u.to/ZnPTFQ
Приложение Google Фото скоро получит массу новых функций
https://u.to/z3vTFQ
#news
Проблемы при переходе на buster
Сейчас только со стороны desktop. Пока список маленький, по мере выявления проблем буду добавлять
- slack desktop требует пакета libcurl3, но в buster он заменяется на libcurl4. При этом сам слак запускается и работает. В целом проблемы не вижу
- virtualbox-6.0 аналогично требует пакет libcurl3. Под buster vbox еще не собрали. как workaround - можно поставить из bionic.
#troubleshooting #debian10 #buster
Сейчас только со стороны desktop. Пока список маленький, по мере выявления проблем буду добавлять
- slack desktop требует пакета libcurl3, но в buster он заменяется на libcurl4. При этом сам слак запускается и работает. В целом проблемы не вижу
- virtualbox-6.0 аналогично требует пакет libcurl3. Под buster vbox еще не собрали. как workaround - можно поставить из bionic.
#troubleshooting #debian10 #buster
как массово переименовывать файлы по маске
дано: file.ololo.orig, результат: file.ololo
Пример 1:
https://mywiki.wooledge.org/UsingFind
https://mywiki.wooledge.org/ParsingLs
#bash_tips_and_tricks
дано: file.ololo.orig, результат: file.ololo
Пример 1:
for i in $(ls *.back); do echo $i is now ${i/back/hi-bo0om}; doneПример 2:
1.2.back is now 1.2.hi-bo0om
3.4.back is now 3.4.hi-bo0om
5.6.back is now 5.6.hi-bo0om
find -type f -name "*.html~" |Пример 3:
while read f; do
mv "$f" "${f%\~}"
done
for i in $(ls *.back); do basename $i .back; doneПример 4:
basename -s .back $(find ./ -name *.back)Пример 5: (нужно ставить доп утилиту)
rename 's/.back/.hi-bo0om/g' *
UPD Дополнительное чтиво:https://mywiki.wooledge.org/UsingFind
https://mywiki.wooledge.org/ParsingLs
#bash_tips_and_tricks
Совсем скоро стартуют сразу 2 курса: “Администратор Linux” и “Безопасность Linux”
💥Пройдите вступительный тест, чтобы поступить в группу и воспользоваться летней 15% скидкой на один курс или забрать оба по специальной цене (предложение действует по 14.07 включительно).
“Администратор Linux” – научит развертыванию, настройке и обслуживанию высокодоступных и надежных систем, построенных на базе Linux.
👉🏻СМОТРЕТЬ ДЕТАЛЬНЕЕ: https://otus.pw/eplO/
“Безопасность Linux” – сформирует практические навыки по обеспечению надежного уровня защищенности IT-инфраструктуры и предотвращения хакерских атак на ПО и рабочее окружение Linux.
👉🏻СМОТРЕТЬ ДЕТАЛЬНЕЕ: https://otus.pw/aUtK/
⚡️Удачного тестирования − и до встречи на занятиях! Не упустите шанс начать учиться по выгодной цене у экспертов отрасли с большим стажем работы в крупнейших проектах рунета.
#реклама
💥Пройдите вступительный тест, чтобы поступить в группу и воспользоваться летней 15% скидкой на один курс или забрать оба по специальной цене (предложение действует по 14.07 включительно).
“Администратор Linux” – научит развертыванию, настройке и обслуживанию высокодоступных и надежных систем, построенных на базе Linux.
👉🏻СМОТРЕТЬ ДЕТАЛЬНЕЕ: https://otus.pw/eplO/
“Безопасность Linux” – сформирует практические навыки по обеспечению надежного уровня защищенности IT-инфраструктуры и предотвращения хакерских атак на ПО и рабочее окружение Linux.
👉🏻СМОТРЕТЬ ДЕТАЛЬНЕЕ: https://otus.pw/aUtK/
⚡️Удачного тестирования − и до встречи на занятиях! Не упустите шанс начать учиться по выгодной цене у экспертов отрасли с большим стажем работы в крупнейших проектах рунета.
#реклама
Otus
Курс по администрированию Linux и владению основными инструментами системного администратора для профессионалов | OTUS
Станьте профессиональным администратором Linux и прокачайся в развертывании, настройке и обслуживании сетей. Пройдите курс в Otus и прокачай навыки по системному администрированию Linux
парсим вывод и приводим в нужный вид
Тут в чате прислали ссылку на пример того как человек парсил вывод сайта, чтобы выцепить видео:
#awk #sed #grep
Тут в чате прислали ссылку на пример того как человек парсил вывод сайта, чтобы выцепить видео:
$ curl -s "https://www.docker.com/dockercon/2019-videos/" | grep -i -A3 "2019-videos?" | grep -v "\-\-" | grep -v "img id" | sed 's/<a href="/https:\/\/www.docker.com/g' | sed 's/">//g' | sed 's/<p>//g' | sed 's/<\/p>//g' | sed 'n;G;'кмк это немножечко не практично. И поэтому в рамках самообучения я решил поднатаскать свои навыки в awk. В итоге получился такой вариант:
curl -s "https://www.docker.com/dockercon/2019-videos/" | \З.Ы. не являюсь гуру авк, парсинга и прочего. Если у вас есть мнение что мое решение не совсем верно или можно сделать красивее\лаконичнее, прошу вас писать замечения в ЛС (с пруфами) и я обязательно опубликую ваш вариант.
awk 'match($0, /dockercon\/2019-videos\?watch=.*[a-zA-Z0-9]/) \
{ print "https://www.docker.com/"substr( $0, RSTART, RLENGTH ) } \
{ getline; if ( match($0, /<p>(.*)<\/p>/, m) ){print m[1]"\n"}}'
#awk #sed #grep
Новости IT, четверг, 11.07.2019
Рассекречены первые отличия новой ОС Huawei от Android
https://u.to/7krVFQ
Выпуск GnuPG 2.2.17 с изменениями для противостояния атаке на серверы ключей
https://u.to/XE7VFQ
Релиз дистрибутива Tails 3.15 и браузера Tor Browser 8.5.4
https://u.to/XE-VFQ
Гонщик управлял реальной машиной при помощи шлема Samsung Gear VR и смартфона Samsung Galaxy S10 5G
https://u.to/C1TVFQ
#news
Рассекречены первые отличия новой ОС Huawei от Android
https://u.to/7krVFQ
Выпуск GnuPG 2.2.17 с изменениями для противостояния атаке на серверы ключей
https://u.to/XE7VFQ
Релиз дистрибутива Tails 3.15 и браузера Tor Browser 8.5.4
https://u.to/XE-VFQ
Гонщик управлял реальной машиной при помощи шлема Samsung Gear VR и смартфона Samsung Galaxy S10 5G
https://u.to/C1TVFQ
#news
Админим с Буквой
парсим вывод и приводим в нужный вид Тут в чате прислали ссылку на пример того как человек парсил вывод сайта, чтобы выцепить видео: $ curl -s "https://www.docker.com/dockercon/2019-videos/" | grep -i -A3 "2019-videos?" | grep -v "\-\-" | grep -v "img…
От одного из читателей поступил вариант упрощения изначального, авторского, парсинга:
и также свой вариант, на питоне.
python3 -c "from bs4 import BeautifulSoup; from urllib.request import urlopen; html = BeautifulSoup(urlopen('https://www.docker.com/dockercon/2019-videos/').read()); x = lambda
x: '{} https://docker.com{}'.format(x.find('p').text, x.find('a').get('href')); print(*list(map(x, html.find_all('div', 'video'))), sep='\n')"
._.
curl -s "https://www.docker.com/dockercon/2019-videos/" | grep -i -A3 "2019-videos?" | grep -v -e "\-\-" -e "img id" | sed -e 's/<a href="/https:\/\/www.docker.com/g' -e 's/"
>//g' -e 'n;G;' -e 's/<p>//g' -e 's/<\/p>//g'
и также свой вариант, на питоне.
python3 -c "from bs4 import BeautifulSoup; from urllib.request import urlopen; html = BeautifulSoup(urlopen('https://www.docker.com/dockercon/2019-videos/').read()); x = lambda
x: '{} https://docker.com{}'.format(x.find('p').text, x.find('a').get('href')); print(*list(map(x, html.find_all('div', 'video'))), sep='\n')"
._.
Админим с Буквой
парсим вывод и приводим в нужный вид Тут в чате прислали ссылку на пример того как человек парсил вывод сайта, чтобы выцепить видео: $ curl -s "https://www.docker.com/dockercon/2019-videos/" | grep -i -A3 "2019-videos?" | grep -v "\-\-" | grep -v "img…
еще один вариант, в котором без пол-литра не разберешься...
puts curl -s "https://www.docker.com/dockercon/2019-videos".scan(/<a href=\"([a-z\/0-9\-\?=]{1,})\".[\s<!--a-z\=:\/\.A-Z0-9>]{1,}<p>([\+\"\%\'\#\@A-Za-z0-9\s&:\/\-\?\,()\.]{1,})<\/p>/)
Бесплатный онлайн практикум DevOps by REBRAIN: Docker. Prometheus
Регистрация - http://bit.ly/2XHFZA6
Количество мест строго ограничено!
Практикум по освоению DevOps
Время проведения:
16 Июля (Вторник) в 19:00 по МСК
Что будет на практикуме?
🔹Зачем нужны time series базы и почему все уходят с Zabbix?
🔹Разворачиваем Prometheus и подключаем экспортеры
🔹Как начать мониторить docker за 5 минут?
Кто ведет?
Василий Озеров - основатель агентства Fevlake (fevlake.com) и действующий Devops-инженер (опыт в Devops более 5 лет). Регулярно выступает на RootConf, DevOpsConf Russia, HighLoad.
Открытые еженедельные DevOps практикумы - https://bit.ly/2CGmm3C
Присоединяйтесь!
#реклама
Регистрация - http://bit.ly/2XHFZA6
Количество мест строго ограничено!
Практикум по освоению DevOps
Время проведения:
16 Июля (Вторник) в 19:00 по МСК
Что будет на практикуме?
🔹Зачем нужны time series базы и почему все уходят с Zabbix?
🔹Разворачиваем Prometheus и подключаем экспортеры
🔹Как начать мониторить docker за 5 минут?
Кто ведет?
Василий Озеров - основатель агентства Fevlake (fevlake.com) и действующий Devops-инженер (опыт в Devops более 5 лет). Регулярно выступает на RootConf, DevOpsConf Russia, HighLoad.
Открытые еженедельные DevOps практикумы - https://bit.ly/2CGmm3C
Присоединяйтесь!
#реклама
Telegram
DevOps by REBRAIN
Открытые практикумы по DevOps, Linux, Golang, Networks, HighLoad
Связь с командой: info@rebrainme.com
Сайт: https://rebrainme.com/
Связь с командой: info@rebrainme.com
Сайт: https://rebrainme.com/
Forwarded from kazgeek
@Bykva, я тоже хочу в телевизор!
ruby -r 'open-uri' -r 'nokogiri' -e 'Nokogiri::HTML(open("https://www.docker.com/dockercon/2019-videos/")).css(".video a").each {|a| puts "https://www.docker.com/dockercon/2019-videos#{a["href"]}"; puts a.css("p").text; puts}'
Парсим вывод сайта по-быстрому
В данной заметке hetzner взят для примера. Я знаю про api, спасибо, не надо это комментировать.
Еще одну фишечку подсказали наши фронты, о том как получить все тело документа. В чем суть проблемы? В hetzner используется метод подгрузки информации о сервере (его адрес, имя итп) в виде отдельного документа - поэтому невозможно получить все данные в один шаг через curl - мы всегда будем получать только исходный каркас страницы без сведений о сервере. Но можно сделать это довольно быстро, но с применением небольшого количества ручной работы
1) раскрыть все сервера и дождаться пока страница прогрузится
2) зайти в консоль разработчика и ввести:
3) вставить в любой текстовый документ и далее парсить как хотим
З.Ы. это не самый элегантный способ решения задачи - как минимум его нельзя автоматизировать. НО, я считаю что полезно знать такой способ для случаев когда надо сделать быстро и на один раз.
#hetzner #web
В данной заметке hetzner взят для примера. Я знаю про api, спасибо, не надо это комментировать.
Еще одну фишечку подсказали наши фронты, о том как получить все тело документа. В чем суть проблемы? В hetzner используется метод подгрузки информации о сервере (его адрес, имя итп) в виде отдельного документа - поэтому невозможно получить все данные в один шаг через curl - мы всегда будем получать только исходный каркас страницы без сведений о сервере. Но можно сделать это довольно быстро, но с применением небольшого количества ручной работы
1) раскрыть все сервера и дождаться пока страница прогрузится
2) зайти в консоль разработчика и ввести:
copy(document.body.innerHTML)
Это поместит тело итоговой страницы в буфер обмена3) вставить в любой текстовый документ и далее парсить как хотим
З.Ы. это не самый элегантный способ решения задачи - как минимум его нельзя автоматизировать. НО, я считаю что полезно знать такой способ для случаев когда надо сделать быстро и на один раз.
#hetzner #web
Особенности яндекс облака
проблема: managed postgresql дропает ssl-соединение
Информация по количеству соединений доступна и в разделе "мониторинг" на странице кластера. Можно посмотреть в
Количество разрешенных пользовательских разрешенных коннектов можно также изменить через CLI. Также можно увеличивать значение max_connections, если оно достигло предела, то следует увеличивать flavor.
#yacloud
проблема: managed postgresql дропает ssl-соединение
PG::UnableToSend: SSL connection has been closed unexpectedlyОтвет команды разработки:
Информация по количеству соединений доступна и в разделе "мониторинг" на странице кластера. Можно посмотреть в
yc managed-postgresql user list --cluster-id <cluster id>
Количество разрешенных пользовательских разрешенных коннектов можно также изменить через CLI. Также можно увеличивать значение max_connections, если оно достигло предела, то следует увеличивать flavor.
#yacloud
Всех разработчиков с опытом работы с базами данных OTUS Онлайн-образование приглашает пройти вступительный тест и принять участие в открытом вебинаре «Индексы в SQL Server» https://otus.pw/R5a9/
Речь пойдет о том, какие индексы бывают в SQL Server и как выглядят структуры данных индекса. А также на вебинаре обсудят, когда и как применяются составные индексы.
Вебинар пройдет в рамках наборе на профессиональный онлайн-курс «MS SQL Server разработчик». Если вы работали с базами данных, писали или читали простые запросы, знаете типы данных и основные операторы на базовом уровне – то это курс для вас. Проверьте свою готовность к обучению на курсе вступительным тестом и приходите за знаниями https://otus.pw/qnuS/
Проведет занятие преподаватель курса Кристина Кучерова.
Сдавайте вступительный тест и подключайтесь 15 июля в 20.00 (мск) − будет интересно и профессионально.
#реклама
Речь пойдет о том, какие индексы бывают в SQL Server и как выглядят структуры данных индекса. А также на вебинаре обсудят, когда и как применяются составные индексы.
Вебинар пройдет в рамках наборе на профессиональный онлайн-курс «MS SQL Server разработчик». Если вы работали с базами данных, писали или читали простые запросы, знаете типы данных и основные операторы на базовом уровне – то это курс для вас. Проверьте свою готовность к обучению на курсе вступительным тестом и приходите за знаниями https://otus.pw/qnuS/
Проведет занятие преподаватель курса Кристина Кучерова.
Сдавайте вступительный тест и подключайтесь 15 июля в 20.00 (мск) − будет интересно и профессионально.
#реклама
Otus
Курсы MS SQL Server разработчик. Обучение Microsoft SQL Server для инженеров и администраторов баз данных
Хотите разобраться во внутренних процессах и особенностях СУБД? Записывайтесь на курс Разработчик MS SQL Server для прокачки навыков проектирования баз данных MS SQL Server
Новости IT, понедельник, 15.07.2019
Harmony. Как вам такое название операционной системы Huawei?
https://u.to/vPnbFQ
Xiaomi рассказала о новых функциях для своих смартфонов
https://u.to/TvrbFQ
Вирус Agent Smith заразил 25 миллионов устройств под управлением ОС Android
https://u.to/pPrbFQ
В сеть утекло 2 млрд записей логов пользователей умных устройств компании Orvibo
https://u.to/HPvbFQ
Изобретатель компьютерных паролей Фернандо Корбато скончался в возрасте 93 лет
https://u.to/oPvbFQ
#news
Harmony. Как вам такое название операционной системы Huawei?
https://u.to/vPnbFQ
Xiaomi рассказала о новых функциях для своих смартфонов
https://u.to/TvrbFQ
Вирус Agent Smith заразил 25 миллионов устройств под управлением ОС Android
https://u.to/pPrbFQ
В сеть утекло 2 млрд записей логов пользователей умных устройств компании Orvibo
https://u.to/HPvbFQ
Изобретатель компьютерных паролей Фернандо Корбато скончался в возрасте 93 лет
https://u.to/oPvbFQ
#news