Состояние гонки (race condition)
Когда несколько потоков программы пытаются одновременно получить доступ к данным, и при этом хотя бы один поток выполняет операцию записи, может возникнуть непредсказуемая ситуация. В программировании она зовётся состоянием гонки или race condition.
Например, один поток выполняет над общей переменной x операцию x = x + 6, а второй поток - операцию x = x + 3. В общем случае потоки выполняют три операции:
1. вытащить значение x из памяти;
2. прибавить 3 или 6;
3. записать результат обратно в x.
Когда потоки выполняют эти операции одновременно, то результат в x может быть непредсказуемым и отличаться от ожидаемого на 3, 6 или 9.
Учитывайте состояние гонки в многопоточных программах.
#кратко_о_важном
Когда несколько потоков программы пытаются одновременно получить доступ к данным, и при этом хотя бы один поток выполняет операцию записи, может возникнуть непредсказуемая ситуация. В программировании она зовётся состоянием гонки или race condition.
Например, один поток выполняет над общей переменной x операцию x = x + 6, а второй поток - операцию x = x + 3. В общем случае потоки выполняют три операции:
1. вытащить значение x из памяти;
2. прибавить 3 или 6;
3. записать результат обратно в x.
Когда потоки выполняют эти операции одновременно, то результат в x может быть непредсказуемым и отличаться от ожидаемого на 3, 6 или 9.
Учитывайте состояние гонки в многопоточных программах.
#кратко_о_важном
В чём разница между шифрованием, кодированием и хешированием?
В программировании для преобразования информации используются несколько подходов из криптографии: шифрование, кодирование и хэширование. Каждый из них отвечает за решение определённого круга задач. Подробнее о них — в статье:
https://tprg.ru/me3t
В программировании для преобразования информации используются несколько подходов из криптографии: шифрование, кодирование и хэширование. Каждый из них отвечает за решение определённого круга задач. Подробнее о них — в статье:
https://tprg.ru/me3t
Сборник задач для практики в языке C++
Если вы изучаете C++, то подборка задач поможет вам отточить свои навыки в программировании на C++. Для удобства все задачи разделены на пять уровней сложности:
https://cppstudio.com/cat/285/
#cpp #задачи
Если вы изучаете C++, то подборка задач поможет вам отточить свои навыки в программировании на C++. Для удобства все задачи разделены на пять уровней сложности:
https://cppstudio.com/cat/285/
#cpp #задачи
Выбираем дистрибутив Linux для новичка
Под Linux существует огромное количество полезных утилит, и поэтому программисты часто делают выбор в пользу Linux-дистрибутивов.
Мы собрали все «за» и «против» для трёх дружелюбных к новичку дистрибутивов — Fedora, Manjaro и Ubuntu:
https://tprg.ru/8rlE
#советы
Под Linux существует огромное количество полезных утилит, и поэтому программисты часто делают выбор в пользу Linux-дистрибутивов.
Мы собрали все «за» и «против» для трёх дружелюбных к новичку дистрибутивов — Fedora, Manjaro и Ubuntu:
https://tprg.ru/8rlE
#советы
Введение в криптографию и шифрование
Когда-то материал из этой лекции читали в МГУ целых полгода. Поэтому в статье автор не углублялся в работу шифров и рассказал об общих терминах в криптографии и шифровании, а также разобрал простым языком несколько алгоритмов шифрования:
https://tprg.ru/KCPw
Лекция на YouTube: https://youtu.be/mE_s-R5wvpw
#алгоритмы
Когда-то материал из этой лекции читали в МГУ целых полгода. Поэтому в статье автор не углублялся в работу шифров и рассказал об общих терминах в криптографии и шифровании, а также разобрал простым языком несколько алгоритмов шифрования:
https://tprg.ru/KCPw
Лекция на YouTube: https://youtu.be/mE_s-R5wvpw
#алгоритмы
YouTube
012. Криптография, шифрование (часть 1) - Владимир Иванов
Краткое введение в криптографическую теорию: симметричные и асимметричные алгоритмы шифрования, хеш-функции, алгоритмы выработки ключей, шифр-сьюты. Объёма полученных знаний будет достаточно для понимания лекций про PKI, HTTPS и сетевую безопасность.
Интенсив по машинному обучению для начинающих
Убеждены, что data science — это не для всех? На бесплатном интенсиве вам покажут, что для разработки искусственного интеллекта достаточно только базовой арифметики. Уроки пройдут 12−14 апреля в 21:00 по МСК.
Регистрация: https://clc.am/Mo6aLw
Что вас ждёт:
— Введение в анализ данных и основные инструменты.
— Погружение в машинное обучение.
— Простое объяснение сложной математики в data science.
— ML и нейросети.
— «Обогащение» данных с помощью feature engineering.
— Grid Search и кросс-валидация.
Участвуйте в интенсиве и убедитесь, что стать специалистом machine learning может каждый.
Убеждены, что data science — это не для всех? На бесплатном интенсиве вам покажут, что для разработки искусственного интеллекта достаточно только базовой арифметики. Уроки пройдут 12−14 апреля в 21:00 по МСК.
Регистрация: https://clc.am/Mo6aLw
Что вас ждёт:
— Введение в анализ данных и основные инструменты.
— Погружение в машинное обучение.
— Простое объяснение сложной математики в data science.
— ML и нейросети.
— «Обогащение» данных с помощью feature engineering.
— Grid Search и кросс-валидация.
Участвуйте в интенсиве и убедитесь, что стать специалистом machine learning может каждый.
Как заменить все одинаковые подстроки в строке на JavaScript
Замена одинаковых подстрок в строке может потребоваться, например, в очистке данных, которые спарсили с сайта. В статье показаны 2 варианта решения задачи: через регулярные выражения и с использованием методов
https://tprg.ru/zf3o
#js
Замена одинаковых подстрок в строке может потребоваться, например, в очистке данных, которые спарсили с сайта. В статье показаны 2 варианта решения задачи: через регулярные выражения и с использованием методов
split
и join
:https://tprg.ru/zf3o
#js
Парсинг сайтов на Python
Парсинг сайта представляет собой сбор информации с этого ресурса. Собранные путём парсинга данные можно «очистить» от лишней информации и затем использовать, например, для аналитики.
В этих уроках рассказано, как реализовать парсинг реального сайта с помощью Python и библиотек Requests и BeautifulSoup.
Часть 1: https://youtu.be/zKuBDil5dlw
Часть 2: https://youtu.be/J5sqWAqDPyE
#python
Парсинг сайта представляет собой сбор информации с этого ресурса. Собранные путём парсинга данные можно «очистить» от лишней информации и затем использовать, например, для аналитики.
В этих уроках рассказано, как реализовать парсинг реального сайта с помощью Python и библиотек Requests и BeautifulSoup.
Часть 1: https://youtu.be/zKuBDil5dlw
Часть 2: https://youtu.be/J5sqWAqDPyE
#python
На канале Веб-страница не просто публикуют множество полезных туториалов, шпаргалок, статей и другой полезной информации из мира веб-разработки, но и приправляют всё мемами.
Подписывайтесь: @tproger_web
Подписывайтесь: @tproger_web
7 логико-математических задач про бегемотов, которые заставят поломать голову
Нет, это не детские задачки, как покажется на первый взгляд. Попробуйте решить их без подсказок:
https://tprg.ru/znFB
Нет, это не детские задачки, как покажется на первый взгляд. Попробуйте решить их без подсказок:
https://tprg.ru/znFB
Отличия Junior от Senior: 6 главных признаков мудрого разработчика
У Senior-разработчика за спиной большой багаж опыта. Причём этот опыт выражается не только в написании качественного кода, но и более широком кругозоре.
Для прокачки своих навыков Junior-разработчику стоит перенять несколько лайфхаков от синьоров. О некоторых из них мы рассказали в статье:
https://tprg.ru/9DFG
#советы
У Senior-разработчика за спиной большой багаж опыта. Причём этот опыт выражается не только в написании качественного кода, но и более широком кругозоре.
Для прокачки своих навыков Junior-разработчику стоит перенять несколько лайфхаков от синьоров. О некоторых из них мы рассказали в статье:
https://tprg.ru/9DFG
#советы
Media is too big
VIEW IN TELEGRAM
Нейросеть научили генерировать картинки в такт музыке
Такая красота реализована на Python. Если захотите поиграться с нейросетью, то автор подробно расписал в статье, как это работает (на английском языке):
https://tprg.ru/WXv8
#python
Такая красота реализована на Python. Если захотите поиграться с нейросетью, то автор подробно расписал в статье, как это работает (на английском языке):
https://tprg.ru/WXv8
#python
Защита данных в Java-классе при помощи геттеров и сеттеров
Чтобы ваша программа не сломалась от случайно вбитых чисел, данные внутри классов стоит защитить. Для этого существует механизм геттеров и сеттеров.
Сеттер принимает и проверяет данные, и если они допустимы, то записывает их внутрь класса. Геттер же возвращает значение внутренней переменной класса. Так внутренние данные класса надёжно защищены от случайного изменения.
Подробнее о геттерах и сеттерах в языке Java:
https://tprg.ru/YAKv
#java
Чтобы ваша программа не сломалась от случайно вбитых чисел, данные внутри классов стоит защитить. Для этого существует механизм геттеров и сеттеров.
Сеттер принимает и проверяет данные, и если они допустимы, то записывает их внутрь класса. Геттер же возвращает значение внутренней переменной класса. Так внутренние данные класса надёжно защищены от случайного изменения.
Подробнее о геттерах и сеттерах в языке Java:
https://tprg.ru/YAKv
#java
Установка Android Studio и создание проекта
Если вы решили разрабатывать Android-приложения, то среда разработки Android Studio — ваш лучший друг. А друзьям важно взаимопонимание.
Поэтому держите гайд, как установить Android Studio (да, есть подводные камни) и настроить свой первый проект:
https://youtu.be/t6wO0jLlKdY
Если вы решили разрабатывать Android-приложения, то среда разработки Android Studio — ваш лучший друг. А друзьям важно взаимопонимание.
Поэтому держите гайд, как установить Android Studio (да, есть подводные камни) и настроить свой первый проект:
https://youtu.be/t6wO0jLlKdY
Подборка сред разработки и редакторов кода для Python
Чтобы быстро писать код и не отвлекаться на рутину, Python-разработчику нужен мощный инструмент — среда разработки или редактор кода.
В статье разобраны преимущества и недостатки популярных IDE и редакторов кода. Найдите себе идеальный инструмент по удобству и функциональности:
https://tprg.ru/mkG0
#python
Чтобы быстро писать код и не отвлекаться на рутину, Python-разработчику нужен мощный инструмент — среда разработки или редактор кода.
В статье разобраны преимущества и недостатки популярных IDE и редакторов кода. Найдите себе идеальный инструмент по удобству и функциональности:
https://tprg.ru/mkG0
#python