Econet
115 subscribers
121 photos
3 videos
4 files
73 links
Исследовательский проект посвященный проблемам цифрового мусора, работы с данными и инфраструктуре информационных систем.
author: @melixetyan
Download Telegram
Получилась очень интересная дискуссия с обсужденем насущных проблем, жаркими спорами и поиском доступных решений.
Всем спасибо, кто участвовал! ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
85🔥1
Forwarded from Код Дурова
⚠️ Ваш Mac могут атаковать мухи //

И это не шутка — появилось приложение на macOS, которое создаёт нашествие мух у корзины, если она долго забита файлами. Пока что программу тестируют и она не работает на macOS 14.5 и новее.

@d_code
6👍2🤡2🤔1
На днях проект Искра от @piece_of_gera, который помогает релокантам, подвергся массовой атаке от недоброжелателей. Даже непонятно, с какой стороны эти недоброжелатели пришли.

В принципе, в рамках нашего разговора, это не так важно. Важно, что в результате проект был завален десятками тысяч спам-заявок, которые полностью перекрыли реальные просьбы людей о помощи. Теперь команде проекта приходится всё это разгребать, усиливать защиту, обновлять сервисы и базы данных. И всё это на волонтёрских началах, так как проект некоммерческий и существует на пожертвования. Благо, нашлись ребята, которые вызвались помочь (да, я тоже 😌) и прибрать этот ужас.

раз: https://t.me/piece_of_gera/1267
два: https://t.me/piece_of_gera/1282

Вообще, это интересный случай цифрового мусора (triggered), о котором я ещё не писал и не размышлял. Хотя это большая и важная тема — спам и DDOS-атаки, которые влияют намного болезненнее на систему, чем просто накопившиеся неактуальные файлы. Так что будем разбираться и наблюдать, и больше уделять внимания этой проблеме.
👍10🫡33
Не хочу превращать канал в политический или около-, но сейчас уже речь о площадке, где мы все обитаем, раз уж вы читаете это сообщение.
Так что #ДуровСломайСтену
🤝10🔥64👍1
Notion уходит из России и закроет доступ пользователям с 9 сентября, отключив рабочие пространства и прекратив платные подписки из-за новых санкций введённых правительством США.

До 8 сентября пользователи могут экспортировать свои данные в форматах HTML, Markdown или CSV, следуя инструкции. Обязательно сделайте это, если у вас там есть важные заметки.

Ранее платформа Miro также объявила о прекращении работы в России и Беларуси с 12 сентября, но позже решила продолжить обслуживать бесплатных клиентов.

https://www.notion.so/help/export-your-content
https://www.notion.so/help/restrictions-for-customers-based-in-russia
🫡41👍11
Шикарная документалка про Аарона Шварца от ребят с канала "Мы обречены". Очень интересный и вдохновляющий фильм о необычном и гениальном парне, изменившем интернет. В фильме рассказывается о том, как Аарон боролся за свободный доступ к информации, его работе над проектами, связанными с открытым ПО, и его влиянии на развитие интернета.

Рекомендую к просмотру!
https://youtu.be/h5GXJd7ALkk

Ещё есть отличный документальный фильм «The Internet's Own Boy», в котором близкие Аарона рассказывают о его жизни, непростом пути и загадочной смерти. Этот фильм является важным источником информации об Аароне Шварце и его вкладе в развитие интернета, который мы все сейчас пожинаем.

Хотя сегодня кажется, что свободный интернет уходит всё больше в прошлое, я уверен, что мы всё ещё можем вернуть себе свободу открытый доступ к информации, за что так боролся Аарон.

#рекомендую
74👍1🫡1
Как скомпилировали самый первый компилятор?

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

Короткий ответ

Его написали вручную сразу на машинном коде.

Длинный ответ

В первобытные времена, когда не существовало Python, ChatGPT и даже ассемблера, программы создавались в машинном коде, и записывались на перфокарты. Это требовало колоссального мастерства и внимания. Кстати, тогда же появилось понятие "баг" (bug - жук в переводе с английского). Согласно легенде, первый "баг" действительно был найден в виде насекомого, забравшегося в компьютер и нарушившего его работу. Так, это случайное событие дало название дефектам, которые и сегодня мы каждый день усердно фиксим.

Далее, чтобы облегчить написание программ, появился ассемблер, заменив сложные двоичные инструкции на мнемоники. Он стал первым шагом на пути к упрощению программирования. Хотя ассемблер и ускорил процесс разработки, он всё ещё оставался сложным для массового использования.

Разработчики поняли, что нужно сделать программирование более доступным. Так появились языки высокого уровня, такие как Fortran и COBOL. Эти языки позволяли описывать программы на более понятном языке и стали настоящим прорывом с появлением языка C в 1970-х годах. C обеспечивал гибкость и мощь, позволяя создавать как системные утилиты, так и сложные приложения.

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

И дальше как грибы после дождя стали появляться новые более высокоуровневые языки, как Java, Python, JavaScript, Go и даже Perl. И это развитие не останавливается. Вполне возможно, что в будущем мы снова вернёмся к написанию программ сразу на машинном коде. Точнее машины будут писать код сразу на машинном коде, а мы будем только приказывать, пока они нас не завоюют и мы не поменяемся ролями. Но это уже совсем другая история.

#база
👍744🔥1
👍4🔥33
Отличное видео с дельными советами. Рекомендую ознакомиться, всем, кто как я я погряз в погоне за дешевыми эндорфинами в соцсетях.

https://youtu.be/pWV24usnpNY

P.S.: Там в описании что-то про какой-то курс. Про это ничего не знаю, мне именно видео понравилось, там про курсы ни слова.

#рекомендую
5👍33
Отличные видео про брокеры сообщений: что это такое и как они работают, а также пример использования с кодом на Python.
Обычно в видео на подобные темы обходятся абстрактным описанием без конкретики, но здесь автор всё объясняет ясно и наглядно.
Вообще, давно слежу за каналом Артёма @artemshumeiko — очень полезный контент для разработчиков, особенно для Python backend.

Брокеры сообщений — https://youtu.be/UNOkvk_fMmM
RabbitMQ на практике — https://youtu.be/cn-XfCgE_Kk

#рекомендую
👍8🔥21
Балуюсь со своим новым другом по имени Клод
---
Ты профессиональный программист и лингвист-армянолог.
Придумай язык программирования на основе армянского языка. Пусть он по структуре будет похож на Python.
Напиши на на этом языке программу, которая продемонстрирует возможности этого языка. Например, это может быть программа, которая валидирует скобки в тексте.

Для сравнения, вот как эта программа выглядит на Python:

def brackets(text):
stack = []
for el in text:
if el in ["[", "(", "{", "<"]:
stack.append(el)
elif el in ["]", ")", "}", ">"]:
if len(stack) > 0:
top = stack.pop()
if top + el not in ["[]", "()", "{}", "<>"]:
return False
else:
return False

return len(stack) == 0

if __name__ == "__main__":
input_str = input()
print(brackets(input_str))
🤔43👍2🤡1
Ответ убил
---
Создам язык программирования ArmPy на основе армянского языка. Ключевые слова будут на армянском, а синтаксис похож на Python.
Вот основные принципы языка:
- defգործ (gorts) - от "функция"
- ifեթե (yete)
- forհամար (hamar)
- inմեջ (mej)
- returnվերադարձ (veradardz)
- True/Falseճիշտ/սխալ (chisht/skhal)

Вот программа проверки скобок на этом языке:

գործ փակագծեր(տեքստ):
դարակ = []
համար տարր մեջ տեքստ:
եթե տարր մեջ ["[", "(", "{", "<"]:
դարակ.ավելացնել(տարր)
այլապես տարր մեջ ["]", ")", "}", ">"]:
եթե երկարություն(դարակ) > 0:
վերև = դարակ.հանել()
եթե վերև + տարր ոչ մեջ ["[]", "()", "{}", "<>"]:
վերադարձ սխալ
այլապես:
վերադարձ սխալ

վերադարձ երկարություն(դարակ) == 0

եթե __անուն__ == "__գլխավոր__":
մուտք = ներմուծել()
տպել(փակագծեր(մուտք))


Особенности языка:
1. Использует армянские слова для ключевых слов
2. Сохраняет питоновский синтаксис с отступами
3. Методы списка переведены:
- ավելացնել (avelatsnel) - append
- հանել (hanel) - pop
- երկարություն (yerkarutyun) - length
4. Логические значения:
- կեղծ (kexts) - False
- ճիշտ (chisht) - True

Программа работает так же, как и Python-версия:
1. Принимает строку на вход
2. Проверяет корректность скобок
3. Возвращает True, если все скобки правильно закрыты, и False в противном случае

Для компиляции такого языка потребовался бы транслятор, который переводит этот код в Python или напрямую в байт-код.

Context: [ p:271 c:753]

© Claude 3.5 Sonnet
🔥83🐳1🫡1
В рамках книжного клуба на работе начал читать знаменитую книжку с кабанчиком. Буду делиться интересными мыслями и инсайтами, которые могут посетить. Впервые читаю на английском. Думаю, с технической литературой, когда у нас и так в рабочей речи сплошные "реквесты", "фичи" и "аппрувы" это будет проще, чем с художественной.

Понравилась цитата автора, с которой начинается книга:

"Technology is a powerful force in our society. Data, software, and communication can be used for bad: to entrench unfair power structures, to undermine human rights, and to protect vested interests. But they can also be used for good: to make underrepresented people’s voices heard, to create opportunities for everyone, and to avert disasters. This book is dedicated to everyone working toward the good."
---
"Технологии - мощная сила в нашем обществе. Данные, программное обеспечение и коммуникации могут быть использованы во зло: для укрепления несправедливых структур власти, нарушения прав человека и защиты корыстных интересов. Но они также могут быть использованы во благо: чтобы голоса людей, которых недостаточно много, были услышаны, чтобы создать возможности для всех и предотвратить бедствия. Эта книга посвящается всем, кто стремится к добру."
🔥642
Econet
В рамках книжного клуба на работе начал читать знаменитую книжку с кабанчиком. Буду делиться интересными мыслями и инсайтами, которые могут посетить. Впервые читаю на английском. Думаю, с технической литературой, когда у нас и так в рабочей речи сплошные "реквесты"…
Вот первое пусть достаточно базовое, но важное утверждение, которое я решил вынести. Это обязательно стоит понимать, если вам интересна техническая сторона вопроса работы с данными.

A data-intensive application is typically built from standard building blocks that provide commonly needed functionality. For example, many applications need to:
• Store data so that they, or another application, can find it again later (databases)
• Remember the result of an expensive operation, to speed up reads (caches)
• Allow users to search data by keyword or filter it in various ways (search indexes)
• Send a message to another process, to be handled asynchronously (stream processing)
• Periodically crunch a large amount of accumulated data (batch processing)
---
Высоконагруженное данными приложение (DIA) обычно создается из стандартных блоков, обеспечивающих необходимую функциональность. Например, многим приложениям необходимо:
• Хранить данные, чтобы впоследствии они или другое приложение могли их найти (базы данных)
• запоминать результат дорогостоящей операции, чтобы ускорить чтение (кэши)
• Позволять пользователям искать данные по ключевым словам или фильтровать их различными способами (поисковые индексы)
• Отправка сообщения другому процессу для асинхронной обработки (потоковая обработка)
• Периодически обрабатывать большой объем накопленных данных (пакетная обработка)

© Martin Kleppmann. Designing Data-Intensive Applications
🤔5👍22
Я постоянно путаюсь, когда какие методы использовать для получения результатов запроса в SQLAlchemy.
Оставлю тут памятку от одного моего друга, который хорошо описал каждый метод. Может кроме меня кому-то ещё пригодится.
4👍2🫡1