uFeed
170 subscribers
65 photos
1 video
127 links
Краткость - сестра таланта 😏

Автор: @amd_nick
Сотрудничество: @mukbog
Download Telegram
⚠️ Свежая уязвимость. Запуск sudo от имени root, даже если это запрещено

sudo - программа для выполнения команд от имени другого пользователя. Чаще всего root, если это не ограничено. Уязвимость позволяет обойти ограничение и выполнить действие от root

sudo -u#-1 cmd

https://thehackernews.com/2019/10/linux-sudo-run-as-root-flaw.html
🧱 Паттерны проектирования
Шаблоны для решения популярных задач при разработке

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

https://refactoring.guru/ru/design-patterns/catalog
🏭 Карринг

Способ превратить первый код во второй. Позволяет делать "срез" функции, извлекая с изначальной новую с предустановленной частью параметров

https://revelry.co/function-curry/
Помощь функциональщикам

Понемногу ковыряю ФП (функциональное программирование). Начал с библиотеки на Lua, но проблема в том, что функции есть, а понятия о применении нет. Вместо гугления каждой функции отдельно, нашел либу для Js с хорошей документацией. Функции в ФП на разных языках имеют зачастую одинаковые названия, поэтому если возникает вопрос по какой-то функции - можно поискать ее тут:

https://ramdajs.com/docs/
⚙️ Говоря о функциональном программировании

В моем понимании это подразумевает использование определенного набора функций для реализации повседневных задач. В частности позволяет сокращать циклы или мини-функции до одной строки

Основными функциями по моим наблюдениям являются map, curry, compose, flatten, reduce и простые математические и это лишь малая часть

ФП часто противопоставляют ООП'у и тут уже был пост с мнением функциональщика о том, почему ООП - зло
⚙️ Хорошая вводная статья в ФП

Объясняются азы парадигмы и дается несколько примеров с map, reduce, filter. Бегло просматривается за пару минут

https://medium.com/the-renaissance-developer/concepts-of-functional-programming-in-javascript-6bc84220d2aa
🎮 Идея для владельцев игровых серверов
Оптимизация расходов на хостинг

- Уже была идея с запуском нового сервера и "незаметным" перекидыванием игроков. Мало игроков - сидим на одном железе. Больше - на другом,
- И платить за парк серверов сразу?
- Нет, только за 2 в момент перехода, и за 1, когда процесс завершили.
- А как быть с развертыванием сборки?
- Этим занимается Amazon. У них есть решения для подобного
- Но в пике получится $Over9000
- Зато при простое почти даром выйдет. Вообще, самым актуальным это бы было в связке с SpatialOS и Minecraft

By @IVogel
🕳 6 неочевидных дыр в JS приложении
В целом, ничего особого, но мне понравилась идея с onerror в img

1. Код восстановления в СМС должен быть длинным, чтобы его не подобрали. От себя добавлю, что СМС часто отображаются на экране блокировки и при физическом доступе к телефону можно получить код
2. Ссылка восстановления в Email. Хэш монго можно подобрать
3. Пути к файлу в ссылке, если правильно понял. Правильное экранирование ".."
4. Популярные модули могут быть уязвимы. Используйте npm audit
5. Массовая загрузка файлов через архив. Заархивировать symlink направленный на серверный конфиг, залить архив, он decompress() в "альбом", переходим в него, скачивается файл по симлинку
6. Визуальные редакторы, типа tinymce позволяют инжектить картинки с JS в onerror колбеке (XSS)
7. еще до 14 общих уязвимостей

https://www.slideshare.net/JSFestUA/js-fest-2019-6-javascript
📁 Tabnapping уязвимость

Ворует данные из соседней вкладки, которую создает

У браузеров есть возможность из одной вкладки открыть новую. Между ними устанавливается связь, чтобы, например, после авторизации в дочерной вкладке, родительская сразу перенаправила на личную страницу

Как эсплуатировать не узнавал, а предотвращается через rel=“noopener” и rel=“noreferrer” там, где есть теги с target=“_blank”

https://medium.com/@shatabda/security-tabnabbing-what-how-b038a70d300e
⚙️ "Итак, вы хотите научиться функциональному программированию"
Собрал выжимку с 6 связанных статей. Возможно, последний пост на эту тему, чтобы не надоедать вам 🙂

1️⃣ Часть первая
- ФП заставит вас учиться "программировать заново". Мозг будет отторгать его
- В ФП нет переменных. Есть константы. Переменные в ФП не перезаписываются

2️⃣ Часть вторая
- Что такое функции высшего порядка и замыкания. Полезно для понимания каррирования

3️⃣ Часть третья
- Композиция функций. Составление общих функции из нескольких специализированных (у меня это ассоциируется с конвейером)

4️⃣ Часть четвертая
- Каррирование. Совсем кратко писал выше
- Примеры map, filter, reduce. Map изменяет значения в списке, filter оставляет по критериям, reduce сводит все к одному

5️⃣ Часть пятая
- Избегаем многопоточности (там хороший пример почему)

6️⃣ Часть шестая, ура
Советы для Js разработчиков: попробовать Rambda библиотеку (писал тут) или даже Elm — язык, компилируемый (транспилируемый) в Js, заточенный под ФП
🧟‍♂️ Интервью с сотрудниками телеканалов
"Иногда мне стыдно признаваться, кем я работаю и где"

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

Да, иногда я читаю что-то, кроме IT :)
https://zona.media/article/2019/10/21/tv
Подбор цветов для UI, например

Генерация палитры по фото:
https://www.canva.com/colors/color-palette-generator/

Каталог палитр:
https://www.canva.com/colors/color-palettes/
еще один

Палитры, сгруппированные по цветам
https://www.canva.com/colors/color-meanings/
🍺 "На этот в Будапеште, который мне так понравился, что за этот год я побывал в нём аж дважды"

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

https://vas3k.ru/world/ruin_pubs
🔗 О будущем HTTP - версия 3

TCP соединения будут заменяться на UDP, но на апаратном уровне почти никаких изменений не будет, тоесть железо обновлять пока не придется

Google уже разработал протокол gQUIC (поверх UDP), который будет и успешно использует его у себя. Он станет частью HTTP/3

https://habr.com/ru/company/dodopizzaio/blog/473930
💋 Рассказ порноактрисы о травле из-за съемок в порно

Назло бате и ради красивой жизни снялась в порно. Надеялась, что никто не узнает, но видео стало набирать по 100к+ просмотров, она попала на аватарку MDK, к ней приходили с угрозами домой и тд. Классека

https://batenka.ru/unity/bullying-porn-model/
🕺 "Чекист на рейве: как бывший сотрудник ФСБ и геодезист зарабатывают миллионы на вечеринках для BMW и Red Bull"

Красивый заголовок, который не открывает за собой ничего особенного: 2 мужика самую малость работали там, где получилось, потом забросили и встретились на рейве одного рекламного агентства, затем сдружились и решили делать деньги сами. Однажды им повезло с крупным заказчиком, после чего стали более известными и в конце концов о них услышал RedBull и BMW. Вообще, таких историй слишком много, чтобы считать эту интересной :/

https://www.forbes.ru/karera-i-svoy-biznes/386325-chekist-na-reyve-kak-byvshiy-sotrudnik-fsb-i-geodezist-zarabatyvayut
Стоит ли публиковать посты, вроде того, что выше или сконцентрироваться на IT?
Anonymous Poll
46%
Обо всем
54%
IT
5️⃣ правил работы с суммами
Речь о финансах. Интересны лишь первые 2 и советую почитать почему

1. float/double теряют точность и лучше их заменять на decimal ($2.99 = 299)
2. Вместо отрицательных сумм (расход -20$) использовать только положительные (расход 20$, доход 20$)

https://habr.com/post/338108/