⚠️ Свежая уязвимость. Запуск sudo от имени root, даже если это запрещено
sudo - программа для выполнения команд от имени другого пользователя. Чаще всего root, если это не ограничено. Уязвимость позволяет обойти ограничение и выполнить действие от root
sudo - программа для выполнения команд от имени другого пользователя. Чаще всего root, если это не ограничено. Уязвимость позволяет обойти ограничение и выполнить действие от root
sudo -u#-1 cmdhttps://thehackernews.com/2019/10/linux-sudo-run-as-root-flaw.html
🧱 Паттерны проектирования
Шаблоны для решения популярных задач при разработке
Здесь нашел инфу по легковесу, который мне нужен был когда-то для оптимизации работы с множеством мелких объектов, а потом увлекся и по немногу перебираю все паттерны.
https://refactoring.guru/ru/design-patterns/catalog
Шаблоны для решения популярных задач при разработке
Здесь нашел инфу по легковесу, который мне нужен был когда-то для оптимизации работы с множеством мелких объектов, а потом увлекся и по немногу перебираю все паттерны.
https://refactoring.guru/ru/design-patterns/catalog
refactoring.guru
Каталог паттернов проектирования
Список паттернов проектирования, сгруппированый по предназанчению, сложности и популярности паттернов. В каталог включены объектно ориентированные паттерны, а также некоторые архитектурные паттерны.
🏭 Карринг
Способ превратить первый код во второй. Позволяет делать "срез" функции, извлекая с изначальной новую с предустановленной частью параметров
https://revelry.co/function-curry/
Способ превратить первый код во второй. Позволяет делать "срез" функции, извлекая с изначальной новую с предустановленной частью параметров
https://revelry.co/function-curry/
⛑ Помощь функциональщикам
Понемногу ковыряю ФП (функциональное программирование). Начал с библиотеки на Lua, но проблема в том, что функции есть, а понятия о применении нет. Вместо гугления каждой функции отдельно, нашел либу для Js с хорошей документацией. Функции в ФП на разных языках имеют зачастую одинаковые названия, поэтому если возникает вопрос по какой-то функции - можно поискать ее тут:
https://ramdajs.com/docs/
Понемногу ковыряю ФП (функциональное программирование). Начал с библиотеки на Lua, но проблема в том, что функции есть, а понятия о применении нет. Вместо гугления каждой функции отдельно, нашел либу для Js с хорошей документацией. Функции в ФП на разных языках имеют зачастую одинаковые названия, поэтому если возникает вопрос по какой-то функции - можно поискать ее тут:
https://ramdajs.com/docs/
GitHub
Moses/moses.lua at master · Yonaba/Moses
Utility library for functional programming in Lua - Moses/moses.lua at master · Yonaba/Moses
⚙️ Говоря о функциональном программировании
В моем понимании это подразумевает использование определенного набора функций для реализации повседневных задач. В частности позволяет сокращать циклы или мини-функции до одной строки
Основными функциями по моим наблюдениям являются
ФП часто противопоставляют ООП'у и тут уже был пост с мнением функциональщика о том, почему ООП - зло
В моем понимании это подразумевает использование определенного набора функций для реализации повседневных задач. В частности позволяет сокращать циклы или мини-функции до одной строки
Основными функциями по моим наблюдениям являются
map, curry, compose, flatten, reduce и простые математические и это лишь малая частьФП часто противопоставляют ООП'у и тут уже был пост с мнением функциональщика о том, почему ООП - зло
Telegram
uFeed
⌨️ ООП — катастрофа на триллион долларов
Конечно же, это мнение функционального разработчика и оно уж очень категоричное по моему скромному мнению, но во многих случаях я с ним согласен — современный ООП делает противоположное тому, для чего был создан
…
Конечно же, это мнение функционального разработчика и оно уж очень категоричное по моему скромному мнению, но во многих случаях я с ним согласен — современный ООП делает противоположное тому, для чего был создан
…
⚙️ Хорошая вводная статья в ФП
Объясняются азы парадигмы и дается несколько примеров с
https://medium.com/the-renaissance-developer/concepts-of-functional-programming-in-javascript-6bc84220d2aa
Объясняются азы парадигмы и дается несколько примеров с
map, reduce, filter. Бегло просматривается за пару минутhttps://medium.com/the-renaissance-developer/concepts-of-functional-programming-in-javascript-6bc84220d2aa
Medium
Concepts of Functional Programming in Javascript
After a long time learning and working with object-oriented programming, I took a step back to think about system complexity.
🎮 Идея для владельцев игровых серверов
Оптимизация расходов на хостинг
- Уже была идея с запуском нового сервера и "незаметным" перекидыванием игроков. Мало игроков - сидим на одном железе. Больше - на другом,
- И платить за парк серверов сразу?
- Нет, только за 2 в момент перехода, и за 1, когда процесс завершили.
- А как быть с развертыванием сборки?
- Этим занимается Amazon. У них есть решения для подобного
- Но в пике получится $Over9000
- Зато при простое почти даром выйдет. Вообще, самым актуальным это бы было в связке с SpatialOS и Minecraft
By @IVogel
Оптимизация расходов на хостинг
- Уже была идея с запуском нового сервера и "незаметным" перекидыванием игроков. Мало игроков - сидим на одном железе. Больше - на другом,
- И платить за парк серверов сразу?
- Нет, только за 2 в момент перехода, и за 1, когда процесс завершили.
- А как быть с развертыванием сборки?
- Этим занимается Amazon. У них есть решения для подобного
- Но в пике получится $Over9000
- Зато при простое почти даром выйдет. Вообще, самым актуальным это бы было в связке с SpatialOS и Minecraft
By @IVogel
Improbable
Multiplayer Networking
Use our managed networking stack for real-time multiplayer games: create multiplayer games that push the boundaries of what game engines can do.
🕳 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
В целом, ничего особого, но мне понравилась идея с 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
www.slideshare.net
JS Fest 2019. Виктор Турский. 6 способов взломать твое JavaScript при…
Это будет 6 живых демо взлома. Идея не обсудить сухую теория, а увидеть на практике, как не всегда очевидные ошибки являются источником серьезных уязвимостей в…
📁 Tabnapping уязвимость
Ворует данные из соседней вкладки, которую создает
У браузеров есть возможность из одной вкладки открыть новую. Между ними устанавливается связь, чтобы, например, после авторизации в дочерной вкладке, родительская сразу перенаправила на личную страницу
Как эсплуатировать не узнавал, а предотвращается через
Ворует данные из соседней вкладки, которую создает
У браузеров есть возможность из одной вкладки открыть новую. Между ними устанавливается связь, чтобы, например, после авторизации в дочерной вкладке, родительская сразу перенаправила на личную страницу
Как эсплуатировать не узнавал, а предотвращается через
rel=“noopener” и rel=“noreferrer” там, где есть теги с target=“_blank”
https://medium.com/@shatabda/security-tabnabbing-what-how-b038a70d300eMedium
Security: Tabnabbing. What? How?
As internet continues to reach every household and business, its usage has grown enormously with millions accessing it at the same time…
⚙️ "Итак, вы хотите научиться функциональному программированию"
Собрал выжимку с 6 связанных статей. Возможно, последний пост на эту тему, чтобы не надоедать вам 🙂
1️⃣ Часть первая
- ФП заставит вас учиться "программировать заново". Мозг будет отторгать его
- В ФП нет переменных. Есть константы. Переменные в ФП не перезаписываются
2️⃣ Часть вторая
- Что такое функции высшего порядка и замыкания. Полезно для понимания каррирования
3️⃣ Часть третья
- Композиция функций. Составление общих функции из нескольких специализированных (у меня это ассоциируется с конвейером)
4️⃣ Часть четвертая
- Каррирование. Совсем кратко писал выше
- Примеры map, filter, reduce. Map изменяет значения в списке, filter оставляет по критериям, reduce сводит все к одному
5️⃣ Часть пятая
- Избегаем многопоточности (там хороший пример почему)
6️⃣ Часть шестая, ура
Советы для Js разработчиков: попробовать Rambda библиотеку (писал тут) или даже Elm — язык, компилируемый (транспилируемый) в Js, заточенный под ФП
Собрал выжимку с 6 связанных статей. Возможно, последний пост на эту тему, чтобы не надоедать вам 🙂
1️⃣ Часть первая
- ФП заставит вас учиться "программировать заново". Мозг будет отторгать его
- В ФП нет переменных. Есть константы. Переменные в ФП не перезаписываются
2️⃣ Часть вторая
- Что такое функции высшего порядка и замыкания. Полезно для понимания каррирования
3️⃣ Часть третья
- Композиция функций. Составление общих функции из нескольких специализированных (у меня это ассоциируется с конвейером)
4️⃣ Часть четвертая
- Каррирование. Совсем кратко писал выше
- Примеры map, filter, reduce. Map изменяет значения в списке, filter оставляет по критериям, reduce сводит все к одному
5️⃣ Часть пятая
- Избегаем многопоточности (там хороший пример почему)
6️⃣ Часть шестая, ура
Советы для Js разработчиков: попробовать Rambda библиотеку (писал тут) или даже Elm — язык, компилируемый (транспилируемый) в Js, заточенный под ФП
Medium
Итак, вы хотите научиться функциональному программированию (Часть 1)
Перевод статьи Charles Scalfani: So You Want to be a Functional Programmer (Part 1) с наилучшими пожеланиями от автора.
🧟♂️ Интервью с сотрудниками телеканалов
"Иногда мне стыдно признаваться, кем я работаю и где"
В основном жалуются на продажность каналов, но продолжают там работать. Впрочем, ничего нового. Есть одна история от человека, который считает, что это не так и не тонко подмечено, что он поддерживает власть. Вообще статья тоже похожа на продажную, просто говорится то, что люди уже хотели бы слышать, хорошо это или плохо
Да, иногда я читаю что-то, кроме IT :)
https://zona.media/article/2019/10/21/tv
"Иногда мне стыдно признаваться, кем я работаю и где"
В основном жалуются на продажность каналов, но продолжают там работать. Впрочем, ничего нового. Есть одна история от человека, который считает, что это не так и не тонко подмечено, что он поддерживает власть. Вообще статья тоже похожа на продажную, просто говорится то, что люди уже хотели бы слышать, хорошо это или плохо
Да, иногда я читаю что-то, кроме 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/
Canva's Design Wiki
Color palette generator | Canva Colors
Easily generate awesome color palettes from an image.
📰 Написл пост о том, как сделать блог на Ghost (да и любом другом сайте) с автообновляемым SSL сертификатом без Nginx
https://blog.amd-nick.me/ghost-traefik-v2/
https://blog.amd-nick.me/ghost-traefik-v2/
blog.amd-nick.me
Ghost + Traefik v2 = блог с автообновлением SSL | Блог _AMD_
Этот блог работает внутри Docker контейнера и использует Traefik в качестве reverse proxy для Ghost. Недавно вышла версия v2.0, в которой были изменены некоторые фундаментальные особенности, что требует переконфигурации trafik.toml, acme.json и docker-compose.yml
🍺 "На этот в Будапеште, который мне так понравился, что за этот год я побывал в нём аж дважды"
Топ руин баров по мнению вастрика и карта мест, куда сходить. Кстати, мне Пешт тоже очень понравился и я планирую в ближайшее время снова там оказаться
https://vas3k.ru/world/ruin_pubs
Топ руин баров по мнению вастрика и карта мест, куда сходить. Кстати, мне Пешт тоже очень понравился и я планирую в ближайшее время снова там оказаться
https://vas3k.ru/world/ruin_pubs
vas3k.blog
Руин бары Будапешта
Главная фишка ночной жизни Будапешта — бары в заброшенных домах. Решил написать о них целый пост потому что теперь считаю их одним из обязательных для посещения мест в мире. Меня даже не остановило отвратительно малое количество отвратительных фотографий…
🔗 О будущем HTTP - версия 3
TCP соединения будут заменяться на UDP, но на апаратном уровне почти никаких изменений не будет, тоесть железо обновлять пока не придется
Google уже разработал протокол gQUIC (поверх UDP), который будет и успешно использует его у себя. Он станет частью HTTP/3
https://habr.com/ru/company/dodopizzaio/blog/473930
TCP соединения будут заменяться на UDP, но на апаратном уровне почти никаких изменений не будет, тоесть железо обновлять пока не придется
Google уже разработал протокол gQUIC (поверх UDP), который будет и успешно использует его у себя. Он станет частью HTTP/3
https://habr.com/ru/company/dodopizzaio/blog/473930
Хабр
HTTP/3: разрушение основ и дивный новый мир
Вот уже больше 20 лет мы смотрим веб-странички по протоколу HTTP. Большинство пользователей вообще не задумывается о том, что это такое и как оно работает. Други...
💋 Рассказ порноактрисы о травле из-за съемок в порно
Назло бате и ради красивой жизни снялась в порно. Надеялась, что никто не узнает, но видео стало набирать по 100к+ просмотров, она попала на аватарку MDK, к ней приходили с угрозами домой и тд. Классека
https://batenka.ru/unity/bullying-porn-model/
Назло бате и ради красивой жизни снялась в порно. Надеялась, что никто не узнает, но видео стало набирать по 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
Красивый заголовок, который не открывает за собой ничего особенного: 2 мужика самую малость работали там, где получилось, потом забросили и встретились на рейве одного рекламного агентства, затем сдружились и решили делать деньги сами. Однажды им повезло с крупным заказчиком, после чего стали более известными и в конце концов о них услышал RedBull и BMW. Вообще, таких историй слишком много, чтобы считать эту интересной :/
https://www.forbes.ru/karera-i-svoy-biznes/386325-chekist-na-reyve-kak-byvshiy-sotrudnik-fsb-i-geodezist-zarabatyvayut
Forbes.ru
Чекист на рейве: как бывший сотрудник ФСБ и геодезист зарабатывают миллионы на вечеринках для BMW и Red Bull
В начале 2000-х Александр Долгов строил карьеру на Лубянке, а Николай Молчанов сгонял студентов на митинги. Они познакомились на почве любви к рейвам, а позднее создали ивент-агентство. Сегодня компания с выручкой более 200 млн рублей в год устраивает мероприятия…
🌅 История дизайнера, который работал в Киеве, Амстердаме и Лос-Анджелесе
Различие особенностей жизни в этих странах: разный подход людей к работе и жизни в целом, цены, ценности.
Вроде ничего особенного, но мне было интересно
https://birdinflight.com/ru/vdohnovenie/opyt/20191101-v-ukrainskij-dizajner-o-rabote-za-granitsej.html
Различие особенностей жизни в этих странах: разный подход людей к работе и жизни в целом, цены, ценности.
Вроде ничего особенного, но мне было интересно
https://birdinflight.com/ru/vdohnovenie/opyt/20191101-v-ukrainskij-dizajner-o-rabote-za-granitsej.html
Bird In Flight
«В этом городе тысячи людей талантливее, чем вы» — украинский дизайнер о работе за границей
Украинский дизайнер и арт-директор Максим Гудин, проживший пять лет за границей, рассказал редакции, что делает Лос-Анджелес лучшим городом в мире и почему дизайнеры в Нидерландах не боятся потерять работу.
Стоит ли публиковать посты, вроде того, что выше или сконцентрироваться на IT?
Anonymous Poll
46%
Обо всем
54%
IT
5️⃣ правил работы с суммами
Речь о финансах. Интересны лишь первые 2 и советую почитать почему
1. float/double теряют точность и лучше их заменять на decimal ($2.99 = 299)
2. Вместо отрицательных сумм (расход -20$) использовать только положительные (расход 20$, доход 20$)
https://habr.com/post/338108/
Речь о финансах. Интересны лишь первые 2 и советую почитать почему
1. float/double теряют точность и лучше их заменять на decimal ($2.99 = 299)
2. Вместо отрицательных сумм (расход -20$) использовать только положительные (расход 20$, доход 20$)
https://habr.com/post/338108/
Habr
5 правил работы с суммами
В современном программном обеспечении очень часто возникает необходимость выполнять различные операции с всевозможными суммами денег. Однако до сих пор мне нигде не попадалось документации, в которой...