каким вы запомнили Рунет в его юные годы? какой сайт стал для вас первым впечатлением?
Рунет был свободный, как дикая природа.
А CITForum.ru был одним из моих первых источников знаний, лет 25 назад. Тогда это была одна из немногих доступных технических библиотек на русском языке. У меня даже была локальная копия на диске. Спасибо ему!
Хабру такие куски словаря в перспективе явно не на пользу. Это же не нормальный текст, а по-сути наборы фраз с повторяющимися терминами. У Яндекса "Использование SEO-текстов" - это номер один в нарушениях, за которые он может понизить рейтинг сайту.
Префикс all: используется для включения не только файлов из каталога, но и всех вложенных каталогов и их файлов рекурсивно.
Префикс `all:` в embed всего лишь позволяет включать файлы, у которых имя начинается с точки или подчёркивания. К рекурсивному включению вложенных каталогов и файлов он отношения не имеет.
Написание кода - это удивительный и чарующий процесс.
Особенно когда всё уже делается на автомате, независимо от языка. Руки пишут всё сами, а глазам остаётся только делать код-ревью. Предполагаю, что у автора это так и получается.
Для тимлида написание кода может быть вообще одним из немногих доступных видов отдыха после бесконечных созвонов-митингов-плэнингов.
В докуберные времена многие системы выглядели примерно так же. Одна-две базовых технологий, классические SQL-базы, файловые хранилища, балансировщик. Всё простое и понятное. До чего же тёплые воспоминания...
В гитхабе "сделать репозиторий приватным на один день" = потерять всех вотчеров, связи с форками и звёзды. И вероятность надолго вылететь из поискового индекса.
Иногда "бахнуть массив" может оказаться гораздо эффективнее алгоритмов. Таблицы Брадиса, например, были вычислены больше 100 лет назад, но до сих пор хороши и удобны. И даже в космос по ним летали и самолёты строили.
Это всего лишь один пакет. Весь комплект dotnet-пакетов (runtime, sdk, source-built-artifacts, targeting-pack) в Арче = 4.3 GB (5.5 GB в распакованном виде).
Пакетов с играми много. Я перечислил только самые крупные. Добавлять пакеты по отдельности в список исключений - да, я иногда так и делаю. Но за всеми не уследишь.
В Арче тенденция не к разделению, а к слиянию репозиториев - это видно, например, по судьбе репозитория community. В результате сейчас есть:
core
малая авгиева конюшня (extra)
miltilib (спасибо, что это вынесено отдельно)
И почему я обязательно должен писать напрямую мейнтейнерам Арча? У любого процесса может быть ещё и внешний фон, а не только внутренняя кухня, которая варится сама в себе.
Ага. Тут используется стандартный go net/http сервер. Контроль над соединением получается через интерфейс Hijacker, а он, согласно документации:
The default ResponseWriter for HTTP/1.x connections supports Hijacker,
but HTTP/2 connections intentionally do not.
Но для прокси, по-хорошему, http-сервер и не нужен вовсе. На обычных сокетах можно сделать. Кода чуть больше получится, но и возможностей на порядок больше.
Поначалу у меня это тоже был сокс-прокси (правда тогда я использовал либу с гитхаба: github.com/things-go/go-socks5). Потом переделал всё на свой простой HTTP CONNECT.
И gomobile мне тоже очень помог на старте. Но так как я не использую его GoNativeActivity и сам собираю APK, то вместо `gomobile build` я делаю:
Нужно стараться не усложнять и обходиться без C :-)
Хотя реальность далека от намерений. А в андроиде реальность ещё суровее: даже если нужная либа есть в системе (например, /system/lib64/libc++.so), то линкер не разрешит её загрузить. В старых версиях (до Android 8) можно было, а потом запретили.
В этом случае приходится таскать свою копию файла libc++.so в комплекте с приложением.
Рунет был свободный, как дикая природа.
А CITForum.ru был одним из моих первых источников знаний, лет 25 назад. Тогда это была одна из немногих доступных технических библиотек на русском языке. У меня даже была локальная копия на диске. Спасибо ему!
Ага. После редактирования статья стала не так похожа на статью твинка. А то были совсем уж идентичные тексты, фразы и стили иконок:
Это уже было пару недель назад: Онбординг-рулетка: о том, как мы ежедневно удаляем аккаунты своих сотрудников
Что-то в последнее время как под копирку публикуются такие "дайджесты" типа от разных пользователей. Но, как говорится, найдите 10 отличий: Дайджест полезных материалов из мира Golang за неделю
Хабру такие куски словаря в перспективе явно не на пользу. Это же не нормальный текст, а по-сути наборы фраз с повторяющимися терминами. У Яндекса "Использование SEO-текстов" - это номер один в нарушениях, за которые он может понизить рейтинг сайту.
Префикс `all:` в embed всего лишь позволяет включать файлы, у которых имя начинается с точки или подчёркивания. К рекурсивному включению вложенных каталогов и файлов он отношения не имеет.
Написание кода - это удивительный и чарующий процесс.
Особенно когда всё уже делается на автомате, независимо от языка. Руки пишут всё сами, а глазам остаётся только делать код-ревью. Предполагаю, что у автора это так и получается.
Для тимлида написание кода может быть вообще одним из немногих доступных видов отдыха после бесконечных созвонов-митингов-плэнингов.
В докуберные времена многие системы выглядели примерно так же. Одна-две базовых технологий, классические SQL-базы, файловые хранилища, балансировщик. Всё простое и понятное. До чего же тёплые воспоминания...
Всё зависит от того, кто начал шутить первым. Иногда ответная шутка может всё значительно упростить и ускорить.
В гитхабе "сделать репозиторий приватным на один день" = потерять всех вотчеров, связи с форками и звёзды. И вероятность надолго вылететь из поискового индекса.
Да. Например, в Termux так и сделано - там кроме основного репозитория есть опциональные: game, science, x11. Это удобно.
Ещё и зарплату придётся платить за 13-й месяц. Бизнес не одобрит.
Иногда "бахнуть массив" может оказаться гораздо эффективнее алгоритмов. Таблицы Брадиса, например, были вычислены больше 100 лет назад, но до сих пор хороши и удобны. И даже в космос по ним летали и самолёты строили.
Это всего лишь один пакет. Весь комплект dotnet-пакетов (runtime, sdk, source-built-artifacts, targeting-pack) в Арче = 4.3 GB (5.5 GB в распакованном виде).
Я уже очень много лет назад сделал локальное зеркало.
Синхронизирую его с глобальным время от времени. Часть пакетов мне не нужна, и они добавлены у меня в исключения.
Пост - статистика с тем, какие пакеты в Арче сегодня самые крупные.
Пакетов с играми много. Я перечислил только самые крупные. Добавлять пакеты по отдельности в список исключений - да, я иногда так и делаю. Но за всеми не уследишь.
В Арче тенденция не к разделению, а к слиянию репозиториев - это видно, например, по судьбе репозитория community. В результате сейчас есть:
core
малая авгиева конюшня (extra)
miltilib (спасибо, что это вынесено отдельно)
И почему я обязательно должен писать напрямую мейнтейнерам Арча? У любого процесса может быть ещё и внешний фон, а не только внутренняя кухня, которая варится сама в себе.
Я оборачиваю функцию Write перед обработкой данных в io.Copy()
В настоящей прокси всего побольше, и код приёма/передачи данных там выглядит вот так:
connect - это по-сути Handler
proxyStats - структура для хранения статистики, а RegTx и RegRx - функции для регистрации объёма перекачиваемых данных
Вот тут детали того, как я это сделал: https://github.com/detoxy-proxy/detoxy-proxy/tree/master/internal/httpproxy
Ага. Тут используется стандартный go net/http сервер. Контроль над соединением получается через интерфейс Hijacker, а он, согласно документации:
Но для прокси, по-хорошему, http-сервер и не нужен вовсе. На обычных сокетах можно сделать. Кода чуть больше получится, но и возможностей на порядок больше.
Мы ходим похожими путями.
Поначалу у меня это тоже был сокс-прокси (правда тогда я использовал либу с гитхаба: github.com/things-go/go-socks5). Потом переделал всё на свой простой HTTP CONNECT.
И gomobile мне тоже очень помог на старте. Но так как я не использую его GoNativeActivity и сам собираю APK, то вместо `gomobile build` я делаю:
И получаю точно такую же so-шку, которую делает gomobile, но зато с большим контролем над
CGO_CFLAGS
иCGO_LDFLAGS
Нужно стараться не усложнять и обходиться без C :-)
Хотя реальность далека от намерений. А в андроиде реальность ещё суровее: даже если нужная либа есть в системе (например, /system/lib64/libc++.so), то линкер не разрешит её загрузить. В старых версиях (до Android 8) можно было, а потом запретили.
В этом случае приходится таскать свою копию файла libc++.so в комплекте с приложением.