473 subscribers
6 photos
1 video
2 files
550 links
python, go, code quality, security, magic

Website and RSS:
https://itgram.orsinium.dev

Source:
https://github.com/orsinium/itgram

Author:
@orsinium
https://orsinium.dev/
Download Telegram
Прекрасный конспект по пентесту (тестированию на проникновение) web-приложений:
Web Application Penetration Testing Cheat Sheet
И структура удобная, и инструменты хорошие, и про OWASP не забыли, и никакого script-kiddie мусора. Только хардкор.
Неплохая бесплатная книга по построению API:
Building APIs with Django and Django Rest Framework
Сначала кратко описывается, как делать это чисто на Django, потом — работа с Django REST Framework. По каким-то соображениям, авторы ни слова не сказали про CBV, поэтому главу про only Django можно считать не освещённой. А вот про DRF очень даже интересно.
По итогам недавнего опыта написал для вас статью о том, как вывести проект в тренды Github. Приятного чтения :)
Мне тут один умный парень подкинул пару статей про оценку сроков:

+ Как оценить время на выполнение сложных задач
+ Как разработчику оценить трудозатраты

Когда будете в очередной раз обсуждать как же проводить оценку сложности задач — не надо изобретать велосипед. Если хотите ломать правила и устоявшиеся подходы, неплохо бы сначала о них узнать, чтобы стартовать сразу "стоя на плечах гигантов".
Несколько прекрасных статей из серии The Science of The Job Search:

1. Data-Backed Ways To Win — куча статистики по тому, кто и как лучше всего проходит собеседования. Buzzword bingo даёт +29% к вероятности успеха :D
3. 61% of “Entry-Level” Jobs Require 3+ Years of Experience — про опыт работы и возраст.

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

Ну и бонус: Why I Quit Google to Work for Myself.

Даже если не ищите работу — почитайте, очень интересная статистика. О психологии и состоянии рынка.
Довольно интересное видео:
Docker и Ansible — лучшие друзья DevOps
Дает общее представление о технологиях. Даже тем, кто в теме, рекомендую послушать в фоне. Основная идея — не надо ничего писать ручками, всё уже готово. Есть DockerHub, есть Ansible Galaxy, и на них есть почти всё, что может понадобиться.
Ещё один довольно простой материал про Docker:
Disposable Attack Containers
О том, как развернуть kali внутри контейнера и как с этим работать. Если не нужны програмки с GUI — самое то. Иначе — виртуалка или отдельный раздел на диске. Я когда-то пытался одновременно держать репозитории Mint и Kali и через приоритеты разруливать пакеты. Ничего хорошего из этого не вышло, если честно.
Давайте я сегодня покажу пару анекдотов, а вы сначала посмеетесь, а потом задумаетесь. Навеяно это всё обсждением древней (два года прошло, а проблемы остались) о ситуации с leftpad. Особенно будет полезно поговорить об этом в связи со вчерашним постом о SOLID имея ввиду причины, почему не стоит доводить эту методологию до абсурда.

+ is-thirteen — проверяет, является ли переданное число 13. Обязательно посмотрите тесты к нему. Ага, это шуточный модуль. А вот следующие — нет.
+ negative-zero — проверяет, является ли число -0. Ага, в JS 0 и -0 — разные числа. Конечно, этого недостаточно, поэтому positive-zero вынесен в отдельный модуль.
+ is-positive — проверяет, является ли переданный объект положительным числом. На самом деле, там написано не object, а something, потому что в JS object — отдельный тип данных (ведет себя как map, dict etc.)
+ os-homedir — возвращает путь к домашней директории текущего пользователя. Тут уже не одна строчка, а 24. Тут уже речь не об однострочниках, а о проблемах JS как языка серверного программирования.

Проблем много. Очень много. Уверен, вы и сами сможете их сформулировать. Стоит самостоятельно о них задуматься. Каждому. И тогда мы сможем создать такую рабочую среду, в которой мы будем делать только что-то клёвое и нужное, а не очередной negative-zero или собственный аллокатор. Это весело, полезно для саморазвития и совершенно бесполезно для остального мира, прям как хотьба кругами.
Давайте сегодня почитаем и подумаем про TOML — очередной формат человекочитаемых данных. Как ini, только адекватнее.

+ Спецификация на github
+ Спор о том, зачем всё это
+ Имплементации для всего

Как мне кажется, применение TOML в качестве конфига вполне реальное и перспективное. К примеру, supervisor использует ini-файлы и с этим связано много проблем. например, программы как будто можно группировать, но вот только группировка эта не создает область видимости, и имена программ по прежнему должны быть уникальными. Вот только при конфликте имен ошибки не будет, просто одна из программ, описанных в конфиге, в супервизоре не появится. Удобно, правда? Я думал переписать встроенную реализацию парсера на YAML или вообще что угодно более адекватное, но она занимает 2к+ строк, и я в этом не особо смог разобраться. Адище какое-то. Он как будто бы использует патченный built-in configparser, но от этого не легче.
Так, пока без крупных постов. Немного разгребу список полезных либ, а потом уже сделаю заметку про работу с git.

gron — способ grep'ать JSON. Полезно как минимум при анализе вывода docker inspect
shell-functools — немного фич функционального программирования для bash. Не то чтобы это нельзя было сделать через встроенные команды bash или perl. Просто так оно гораздо легче и понятнее.
Ну что, ребят, все в носках?) Естественно, этот канал будет работать как и прежде, ежедневно и без выходных. Мыжпрограммисты.

Ну и пару простых важных мыслей:
1. Старайтесь не пользоваться сторонними сервисами. Не только о приватности речь, но и лютых тормозах на всех этих сервисах. Лучше соберитесь с друзьями и скиньтесь на VPS. Я использую zomro.com, ещё есть облака от Digital Ocean, они дешёвые и чертовски простые в настройке.
2. Если поднимаете на сервере dante, не забудьте либо убрать ему shell, либо вообще убрать доступ к ssh по паролям. Вот тут есть инструкция по настройке dante:
https://krasovsky.me/it/2017/07/socks5-dante/
Forwarded from Cybersecurity & Co. 🇺🇦 (Alex V. Litreev)
⚡️Роскомнадзор заблокировал более 600000 IP-адресов Amazon

Апокалипсис начался. Роскомнадзор с щедрой руки внёс более полумиллиона адресов Amazon в реестр запрещенных сайтов, не разбираясь, какие кому принадлежат — всё ради того, чтобы остановить распространение Telegram в России.

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

АСТАНАВИТЕСЬ.
Сегодня поговорим о погоде.

+ Как машины предсказывают нам погоду — потрясающая большая статья о том, как работает предсказание погоды в современном мире.
+ Яндекс анонсирует собственную технологию прогнозирования погоды Метеум — также интересная статья про погоду, написанная в качестве рекламы новой фичи Яндекса. Про это есть в начале первой статьи.
+ Прогноз осадков на два часа — видео с конференции Data & Science о фиче, анонсированной яндексом через год. Также много интересной информации.

Ну и небольшая цитата из комментариев:
"Я не понимаю, что Яндекс собрался считать, если исходные данные показывают неизвестно что. Ближайшая ко мне метеорологическая станция поставлена была в чистом поле, а теперь там вокруг многоэтажные дома. Теперь станция мерит направление и скорость сквозняка между домами, и температуру вытяжки из магазина."
Пришло время для обзора proxy и VPN серверов, которые можно развернуть на своём сервере. Telegram справляется, но всё же пригодится :) под названиями скрываются ссылки на гайды по установке.

+ OpenVPN — самый популярный сервер VPN. Гайдов по нему выше крыши, но настройка довольно непростая и с кучей тонкостей. Для любителей хардкора. Отличие VPN от прокси, в первую очередь, в том, что VPN шифрует весь трафик между клиентом и сервером, так что OpenVPN, при правильной настройке, лучше всего позаботится о приватности ваших данных. Не путать с анонимностью, для неё надо сделать чуточку больше.
+ shadowsocks — крайне популярное решение для обхода цензуры. Маскирует трафик под HTTPS, имеет шифрование трафика, работает быстрее чем OpenVPN и крайне просто устанавливается. Имеет клиенты под все устройства. В плане безопасности несколько отстает от OpenVPN, т.к. аутентифицирует через PAM.
+ dante — самое быстрое решение. Просто SOCKS5 прокси. Оно не обеспечивает никакого дополнительного шифрования трафика, зато совсем не нагружает сервер и не требует никаких отдельных клиентов: для telegram его можно вбить в настройки proxy внутри самого приложения.

По установке Dante на debian хочу добавить, что у меня его не было в репах, и я его стащил из репов убунту:

wget http://ppa.launchpad.net/dajhorn/dante/ubuntu/pool/main/d/dante/dante-server_1.4.1-1_amd64.deb
dpkg -i dante-server_1.4.1-1_amd64.deb


Остальное как по ссылке.
backoff — коллекция простых декораторов для повторных запросов при ошибке. Полезно для сетевых запросов, в первую очередь, да.