📑 Поиск секретных данных в исходном коде
Когда разработчики вносят прямо в исходный код секретные данные, вроде паролей и ключей API, эти данные вполне могут добраться до общедоступных репозиториев.
Daily Coding #статьи
Когда разработчики вносят прямо в исходный код секретные данные, вроде паролей и ключей API, эти данные вполне могут добраться до общедоступных репозиториев.
Daily Coding #статьи
🛠 Carnac — эта замечательная небольшая утилита с открытым исходным кодом показывает горячие клавиши, которые вы нажимаете, при их нажатии, показывая небольшие оверлеи в углу.
Daily Coding #инструменты
Daily Coding #инструменты
💡 Команды для Python по работе с файлами и файловой системой
▍Создание директории
Ну а теперь самое время создать директорию с именем test_dir внутри рабочей директории. Для этого можно использовать функцию os.mkdir():
▍Создание директории
Ну а теперь самое время создать директорию с именем test_dir внутри рабочей директории. Для этого можно использовать функцию os.mkdir():
os.mkdir('test_dir')
Рекомендуется всегда проверять наличие каталога с определенным названием перед созданием нового:if not os.path.exists('test_dir'):
os.mkdir('test_dir')
Еще один совет по созданию каталогов. Иногда нам нужно создать подкаталоги с уровнем вложенности 2 или более. Если мы все еще используем os.mkdir (), нам нужно будет сделать это несколько раз. В этом случае мы можем использовать os.makedirs (). Эта функция создаст все промежуточные каталоги так же, как флаг mkdir -p в системе Linux:os.makedirs(os.path.join('test_dir', 'level_1', 'level_2', 'level_3'))
Daily Coding #советы #coding #python♥️ Наши телеграм боты
UI8 Bot — бот предоставляет безлимитный доступ к сайту ui8.net Стоимость доступа на сайте стартует от 188$ с ограничениями на загрузки. Стоимость в нашем боте начинается от 4$ в месяц без каких-либо ограничений.
Craftwork Bot — предоставляет полный доступ к сайту craftwork.design намного дешевле.
Боты работают очень просто: присылаете ссылку в бота, а бот в ответ присылает файл для скачивания. Попробуйте сами!
UI8 Bot — бот предоставляет безлимитный доступ к сайту ui8.net Стоимость доступа на сайте стартует от 188$ с ограничениями на загрузки. Стоимость в нашем боте начинается от 4$ в месяц без каких-либо ограничений.
Craftwork Bot — предоставляет полный доступ к сайту craftwork.design намного дешевле.
Боты работают очень просто: присылаете ссылку в бота, а бот в ответ присылает файл для скачивания. Попробуйте сами!
📑 Подводные камни в бассейне строк, или ещё один повод подумать перед интернированием экземпляров класса String в C#
Будучи разработчиками программного обеспечения, мы всегда хотим, чтобы написанное нами ПО работало быстро. Использование оптимального алгоритма, распараллеливание, применение различных техник оптимизации – мы будем прибегать ко всем известным нам средствам, дабы улучшить производительность софта. К одной из таких техник оптимизации можно отнести и так называемое интернирование строк. Оно позволяет уменьшить объём потребляемой процессом памяти, а также значительно сокращает время, затрачиваемое на сравнение строк. Однако, как и везде в жизни, необходимо соблюдать меру – не стоит использовать интернирование на каждом шагу. Далее в этой статье будет показано, как можно обжечься и создать своему приложению неочевидный bottleneck в виде метода String.Intern.
Daily Coding #статьи #C_Sharp #dotnet
Будучи разработчиками программного обеспечения, мы всегда хотим, чтобы написанное нами ПО работало быстро. Использование оптимального алгоритма, распараллеливание, применение различных техник оптимизации – мы будем прибегать ко всем известным нам средствам, дабы улучшить производительность софта. К одной из таких техник оптимизации можно отнести и так называемое интернирование строк. Оно позволяет уменьшить объём потребляемой процессом памяти, а также значительно сокращает время, затрачиваемое на сравнение строк. Однако, как и везде в жизни, необходимо соблюдать меру – не стоит использовать интернирование на каждом шагу. Далее в этой статье будет показано, как можно обжечься и создать своему приложению неочевидный bottleneck в виде метода String.Intern.
Daily Coding #статьи #C_Sharp #dotnet
📖 Using Asyncio in Python
🖋 Caleb Hattingh, 2020
Разработчик Калеб Хаттинг, поможет вам получить базовые знания о строительных блоках asyncio - достаточно, чтобы начать писать простые программы, основанные на событиях. Вы узнаете, почему asyncio предлагает более безопасную альтернативу вытесняющей многозадачности и многопоточности) и как этот API обеспечивает простой способ поддержки тысяч одновременных соединений сокетов. Получите критическое сравнение asyncio и многопоточности для одновременного сетевого программирования.
Вы узнайте о различии между функциями asyncio для конечных пользователей и функциями для разработчиков фреймворка. Понять новый синтаксис языка asyncio async/await, включая коридоры и задачи, а также будущие API. Получить подробные примеры (с кодом) некоторых популярных асинцево-совместимых сторонних библиотек.
💾 Скачать книгу
Daily Coding #book #python #asyncio
🖋 Caleb Hattingh, 2020
Разработчик Калеб Хаттинг, поможет вам получить базовые знания о строительных блоках asyncio - достаточно, чтобы начать писать простые программы, основанные на событиях. Вы узнаете, почему asyncio предлагает более безопасную альтернативу вытесняющей многозадачности и многопоточности) и как этот API обеспечивает простой способ поддержки тысяч одновременных соединений сокетов. Получите критическое сравнение asyncio и многопоточности для одновременного сетевого программирования.
Вы узнайте о различии между функциями asyncio для конечных пользователей и функциями для разработчиков фреймворка. Понять новый синтаксис языка asyncio async/await, включая коридоры и задачи, а также будущие API. Получить подробные примеры (с кодом) некоторых популярных асинцево-совместимых сторонних библиотек.
💾 Скачать книгу
Daily Coding #book #python #asyncio
💡 Команды для Python по работе с файлами и файловой системой
▍Показываем содержимое директории
Еще одна полезная команда — os.listdir(). Она показывает все содержимое каталога.
Команда отличается от os.walk (), где последний рекурсивно показывает все, что находится «под» каталогом. os.listdir () намного проще в использовании, потому что просто возвращает список содержимого:
▍Показываем содержимое директории
Еще одна полезная команда — os.listdir(). Она показывает все содержимое каталога.
Команда отличается от os.walk (), где последний рекурсивно показывает все, что находится «под» каталогом. os.listdir () намного проще в использовании, потому что просто возвращает список содержимого:
os.listdir('sample_data')
В некоторых случаях нужно что-то более продвинутое — например, поиск всех CSV-файлов в каталоге «sample_data». В этом случае самый простой способ — использовать встроенную библиотеку glob:from glob import globlist(glob(os.path.join('sample_data', '*.csv')))
Daily Coding #советы #coding #python🔥 Лучшее на канале за неделю
1. Поиск секретных данных в исходном коде.
2. Carnac — эта замечательная небольшая утилита с открытым исходным кодом показывает горячие клавиши, которые вы нажимаете.
3. Команды для Python по работе с файлами и файловой системой.
1. Поиск секретных данных в исходном коде.
2. Carnac — эта замечательная небольшая утилита с открытым исходным кодом показывает горячие клавиши, которые вы нажимаете.
3. Команды для Python по работе с файлами и файловой системой.
🛠 DOSBox — это эмулятор, воссоздающий среду, совместимую с MS-DOS (в комплекте со звуком, вводом, графикой и даже базовой сетью). Эта среда достаточно полная, чтобы запускать многие классические игры MS-DOS без каких-либо модификаций.
Daily Coding #инструменты
Daily Coding #инструменты
📑 Программирование — это скучная магия
Есть один карточный трюк, который запомнился мне навсегда. Вот его краткое описание: доброволец выбирает карту и запечатывает её в конверт. Затем фокусник предлагает добровольцу выбрать чай. У него есть десятки коробок чая, и все они упакованы в пластик. Доброволец выбирает одну из коробок, срывает обёртку и выбирает один из упакованных пакетиков с чаем. Потом он вскрывает упаковку, и… внутри оказывается его карта.
Если вы не хотите знать, в чём хитрость этого трюка, то дальше не читайте.
Daily Coding #статьи
Есть один карточный трюк, который запомнился мне навсегда. Вот его краткое описание: доброволец выбирает карту и запечатывает её в конверт. Затем фокусник предлагает добровольцу выбрать чай. У него есть десятки коробок чая, и все они упакованы в пластик. Доброволец выбирает одну из коробок, срывает обёртку и выбирает один из упакованных пакетиков с чаем. Потом он вскрывает упаковку, и… внутри оказывается его карта.
Если вы не хотите знать, в чём хитрость этого трюка, то дальше не читайте.
Daily Coding #статьи
🛠 Kera — создание встроенных в приложение туториалов для пользователей. Быстро внедрите мощную тактику адаптации, используемую в таких компаниях, как Google, Dropbox и LinkedIn.
Daily Coding #инструменты
Daily Coding #инструменты
💡 Команды для Python по работе с файлами и файловой системой
▍Перемещение файлов | Часть 1
Время попробовать переместить файлы из одной папки в другую. Рекомендованный способ — еще одна встроенная библиотека
Сейчас попробуем переместить все CSV-файлы из директории «sample_data» в директорию «test_dir». Ниже — пример кода для выполнения этой операции:
Но обе они недостаточно «умные», чтобы позволить перемесить файлы в каталог.
Чтобы все это работало, нужно явно указать имя файла в месте назначения. В следующей части рассмотрим код, который это позволяет сделать, а также другие функции.
Daily Coding #советы #coding #python
▍Перемещение файлов | Часть 1
Время попробовать переместить файлы из одной папки в другую. Рекомендованный способ — еще одна встроенная библиотека
shutil.Сейчас попробуем переместить все CSV-файлы из директории «sample_data» в директорию «test_dir». Ниже — пример кода для выполнения этой операции:
import shutilfor file in list(glob(os.path.join('sample_data', '*.csv'))):
shutil.move(file, 'test_dir')
Кстати, есть два способа выполнить задуманное. Например, мы можем использовать библиотеку OS, если не хочется импортировать дополнительные библиотеки. Как os.rename, так и os.replace подходят для решения задачи.Но обе они недостаточно «умные», чтобы позволить перемесить файлы в каталог.
Чтобы все это работало, нужно явно указать имя файла в месте назначения. В следующей части рассмотрим код, который это позволяет сделать, а также другие функции.
Daily Coding #советы #coding #python
📑 Печальная правда о пропуске копий в C++
Пропуск копий (copy elision) – это оптимизация компилятора, которая, как и следует из имени, устраняет лишние операции копирования и перемещения. Она аналогична классической оптимизации размножения копий, но выполняется конкретно для объектов C++, которые могут иметь нестандартные конструкторы копирования и перемещения. В этой статьей я продемонстрирую пример, в котором очевидная ожидаемая от компилятора оптимизация на практике не происходит.
Daily Coding #статьи #C_plus_plus
Пропуск копий (copy elision) – это оптимизация компилятора, которая, как и следует из имени, устраняет лишние операции копирования и перемещения. Она аналогична классической оптимизации размножения копий, но выполняется конкретно для объектов C++, которые могут иметь нестандартные конструкторы копирования и перемещения. В этой статьей я продемонстрирую пример, в котором очевидная ожидаемая от компилятора оптимизация на практике не происходит.
Daily Coding #статьи #C_plus_plus
📖 Java. Оптимизация программ
🖋 Крис Ньюланд, Бенджамин Эванс, 2019
С помощью этой практической книги разработчики средней и высокой квалификации, работающие со сложными стеками технологий, научатся настраивать высокую производительность Java-приложений, используя количественный, поддающийся проверке подход.
В большинстве информационных ресурсов о производительности, как правило, обсуждаются теория и внутреннее устройство виртуальных машин Java, но в этой книге основное внимание уделяется практическим возможностям настройки производительности путем изучения широкого ряда аспектов. В книге нет простых советов, трюков или алгоритмов. Настройка производительности - это процесс внесения изменений и измерения полученных результатов, требующий усердия.
💾 Скачать книгу
Daily Coding #book #java
🖋 Крис Ньюланд, Бенджамин Эванс, 2019
С помощью этой практической книги разработчики средней и высокой квалификации, работающие со сложными стеками технологий, научатся настраивать высокую производительность Java-приложений, используя количественный, поддающийся проверке подход.
В большинстве информационных ресурсов о производительности, как правило, обсуждаются теория и внутреннее устройство виртуальных машин Java, но в этой книге основное внимание уделяется практическим возможностям настройки производительности путем изучения широкого ряда аспектов. В книге нет простых советов, трюков или алгоритмов. Настройка производительности - это процесс внесения изменений и измерения полученных результатов, требующий усердия.
💾 Скачать книгу
Daily Coding #book #java
💡 Команды для Python по работе с файлами и файловой системой
▍Перемещение файлов | Часть 2
Из прошлой части: Чтобы все это работало, нужно явно указать имя файла в месте назначения.
Ниже — код, который это позволяет сделать:
Другая функция,
Еще один минус — в том, что обе функции не поддерживают перемещение файлов из разных файловых систем, в отличие от
Поэтому лучше использовать
Daily Coding #советы #coding #python
▍Перемещение файлов | Часть 2
Из прошлой части: Чтобы все это работало, нужно явно указать имя файла в месте назначения.
Ниже — код, который это позволяет сделать:
for file in list(glob(os.path.join('test_dir', '*.csv'))):
os.rename(
file,
os.path.join(
'sample_data',
os.path.basename(file)
))
Здесь функция os.path.basename() предназначена для извлечения имени файла из пути с любым количеством компонентов.Другая функция,
os.replace(), делает то же самое. Но разница в том, что os.replace() не зависит от платформы, тогда как os.rename() будет работать только в системе Unix / Linux.Еще один минус — в том, что обе функции не поддерживают перемещение файлов из разных файловых систем, в отличие от
shutil.Поэтому лучше использовать
shutil.move() для перемещения файлов.Daily Coding #советы #coding #python
👍1
🔥 Лучшее на канале за неделю
1. Программирование — это скучная магия.
2. Kera — создание встроенных в приложение туториалов для пользователей.
3. Команды для Python по работе с файлами и файловой системой.
1. Программирование — это скучная магия.
2. Kera — создание встроенных в приложение туториалов для пользователей.
3. Команды для Python по работе с файлами и файловой системой.
🛠 AppNeta предлагает масштабируемое решение, которое отслеживает производительность сети с точки зрения конечного пользователя. Предоставляя в реальном времени полезную информацию из удаленных офисов, по внутренним сетям и через Интернет, вы можете быстро разобраться в проблемах производительности, независимо от того, где они возникают.
Daily Coding #инструменты
Daily Coding #инструменты