В чем разница между Junior, Middle, Senior разработчиками
1. Знания
Junior — имеет немного знаний в стеке технологий и языках программирования, знает один или два метода для решения задач.
Middle — владеет стандартным инструментарием, сервисами и шаблонами в своей отрасли, понимает структуру и функционал продуктов, хорошо ориентируется в методах решения задач и может подобрать оптимальный.
Senior — обладает широким спектром знаний, понимает задачу на глубоком уровне, разбирается в архитектуре, производительности и безопасности, глобально смотрит на проект и его структуру.
2. Программирование
Junior — может решать простейшие задачи, его код сложен и требует постоянного контроля.
Middle — быстро решает простые вопросы и справляется с более сложными и нестандартными задачами, код более аккуратный и понятный.
Senior — может с нуля реализовать продукт и найти решение для любой, даже самой нестандартной задачи, код прост и не содержит в себе ничего лишнего.
3. Вопросы
Junior — зачастую не может задать нужные вопросы, часто нуждается в помощи.
Middle — более самостоятелен, умеет задавать правильные вопросы, если только это не очень сложные задачи, требующие глубокого уровня знаний.
Senior — занимается обучением джуна и мидла, редко сталкивается с необходимостью просить помощи, но даже в такие моменты задает только правильные вопросы, так как обладает способностью сжато и понятно излагать мысли.
#начинающим
1. Знания
Junior — имеет немного знаний в стеке технологий и языках программирования, знает один или два метода для решения задач.
Middle — владеет стандартным инструментарием, сервисами и шаблонами в своей отрасли, понимает структуру и функционал продуктов, хорошо ориентируется в методах решения задач и может подобрать оптимальный.
Senior — обладает широким спектром знаний, понимает задачу на глубоком уровне, разбирается в архитектуре, производительности и безопасности, глобально смотрит на проект и его структуру.
2. Программирование
Junior — может решать простейшие задачи, его код сложен и требует постоянного контроля.
Middle — быстро решает простые вопросы и справляется с более сложными и нестандартными задачами, код более аккуратный и понятный.
Senior — может с нуля реализовать продукт и найти решение для любой, даже самой нестандартной задачи, код прост и не содержит в себе ничего лишнего.
3. Вопросы
Junior — зачастую не может задать нужные вопросы, часто нуждается в помощи.
Middle — более самостоятелен, умеет задавать правильные вопросы, если только это не очень сложные задачи, требующие глубокого уровня знаний.
Senior — занимается обучением джуна и мидла, редко сталкивается с необходимостью просить помощи, но даже в такие моменты задает только правильные вопросы, так как обладает способностью сжато и понятно излагать мысли.
#начинающим
Ужасающая задачка в честь Хэллоуина
Вы создаете бэкенд для игры, в которой игроки торгуют виртуальными тыквами, имеющими уникальный номер и стоимость, измеряемую в страшных единицах. Проблема заключается в том, что транзакции не всегда обрабатываются в порядке очереди. Это означает, что игроки могут торговать Тыквами, которые они уже продали. Какой ужас!
Какую структуру данных вы бы использовали, чтобы гарантировать правильность каждой продажи тыквы и почему?
Варианты ответов: стек, очередь, хеш-таблица, двоичное дерево.
Правильный ответ на этот вопрос будет выложен через час.
#задача
Вы создаете бэкенд для игры, в которой игроки торгуют виртуальными тыквами, имеющими уникальный номер и стоимость, измеряемую в страшных единицах. Проблема заключается в том, что транзакции не всегда обрабатываются в порядке очереди. Это означает, что игроки могут торговать Тыквами, которые они уже продали. Какой ужас!
Какую структуру данных вы бы использовали, чтобы гарантировать правильность каждой продажи тыквы и почему?
Варианты ответов: стек, очередь, хеш-таблица, двоичное дерево.
Правильный ответ на этот вопрос будет выложен через час.
#задача
Ответ на ужасающую задачку
Если вы выбрали хеш-таблицы, то были абсолютно правы!
Дело в том, что хеш-таблица обеспечивает быструю и надежную проверку неупорядоченных транзакций так как предлагает для поиска или вставки время выполнения O(1). Все покупатели смогут получить именно те тыквы, которые хотели, поскольку используются уникальные номера, которые предотвращают повторения сделок.
#задача
Если вы выбрали хеш-таблицы, то были абсолютно правы!
Дело в том, что хеш-таблица обеспечивает быструю и надежную проверку неупорядоченных транзакций так как предлагает для поиска или вставки время выполнения O(1). Все покупатели смогут получить именно те тыквы, которые хотели, поскольку используются уникальные номера, которые предотвращают повторения сделок.
#задача
Модифицированные ядра Linux
Ядро Linux можно назвать швейцарским ножом, который может быть применен в разных ситуациях, но при этом не быть лучшим в чём-то конкретном. Кроме оригинальных ядер, в дистрибутиве Arch Linux есть возможность установки и сборки кастомных ядер, которые могут быть заточены под определенную задачу. Например: на повышение производительности, снижение задержек или на повышение уровня безопасности.
В этом материале вы сможете подробнее узнать о некоторых из популярных модифицированных ядер, а также выбрать и установить именно то, которое подходит под ваши задачи.
#linux
Ядро Linux можно назвать швейцарским ножом, который может быть применен в разных ситуациях, но при этом не быть лучшим в чём-то конкретном. Кроме оригинальных ядер, в дистрибутиве Arch Linux есть возможность установки и сборки кастомных ядер, которые могут быть заточены под определенную задачу. Например: на повышение производительности, снижение задержек или на повышение уровня безопасности.
В этом материале вы сможете подробнее узнать о некоторых из популярных модифицированных ядер, а также выбрать и установить именно то, которое подходит под ваши задачи.
#linux
Работа с временными рядами в Python
Временные ряды — это наборы данных, где каждая точка данных связана с определенным моментом времени. Например: температурные измерения, динамика финансовых индексов и показатели физической активности в часах.
Зачем это нужно? Временные ряды предоставляют нам ценную информацию о том, как меняются данные со временем. Они используются для прогнозирований спроса и трафика, для обслуживания промышленного оборудования, для финансовой аналитики и многих других процессов.
Автор этой статьи даст информацию об основных концепциях и методах работы с ними, покажет, как импортировать данные временных рядов и визуализировать их, а также покажет, как спрогнозировать будущее.
#статья #python
Временные ряды — это наборы данных, где каждая точка данных связана с определенным моментом времени. Например: температурные измерения, динамика финансовых индексов и показатели физической активности в часах.
Зачем это нужно? Временные ряды предоставляют нам ценную информацию о том, как меняются данные со временем. Они используются для прогнозирований спроса и трафика, для обслуживания промышленного оборудования, для финансовой аналитики и многих других процессов.
Автор этой статьи даст информацию об основных концепциях и методах работы с ними, покажет, как импортировать данные временных рядов и визуализировать их, а также покажет, как спрогнозировать будущее.
#статья #python
Что такое цикл for в контексте программирования?
Anonymous Poll
51%
Повтор одного и того же действие определенное количество раз
31%
Перебор элементов коллекции (например, списка или словаря)
16%
Проверка условие перед каждым шагом выполнения программы
1%
Выход из программы в случае возникновения ошибки
Чем отличаются конкурентные алгоритмы от параллельных
В конкурентных алгоритмах запросы от разных процессов в программу приходят несинхронно и выполняются друг за другом.
Параллельные алгоритмы отличаются тем, что процессы, поступающие в программу изначально являются синхронизированными и идут не поочередно, а одновременно. Применяются они, в первую очередь, для ускорения работы программы.
В данном видео вы сможете более подробно узнать, что такое конкурентные и параллельные алгоритмы, а также разобраться, как выглядит и работает их комбинирование.
#начинающим #видео
В конкурентных алгоритмах запросы от разных процессов в программу приходят несинхронно и выполняются друг за другом.
Параллельные алгоритмы отличаются тем, что процессы, поступающие в программу изначально являются синхронизированными и идут не поочередно, а одновременно. Применяются они, в первую очередь, для ускорения работы программы.
В данном видео вы сможете более подробно узнать, что такое конкурентные и параллельные алгоритмы, а также разобраться, как выглядит и работает их комбинирование.
#начинающим #видео
YouTube
Основы многопоточности. Конкурентное и Параллельное исполнения задач. В чем разница?
В данном видео предлагаю обсудить чем отличаются Concurrency (конкурентное исполнение задач) и Parallel Execution (параллельное исполнение задач).
Какие бывают комбинации, в чем причина и стоит ли учитывать количество ядер процессора на компьютере, на котором…
Какие бывают комбинации, в чем причина и стоит ли учитывать количество ядер процессора на компьютере, на котором…
Forwarded from Типичный программист
Большой сборник курсов от программистов для программистов: наши читатели рассказали о платформе Senior Junior
Senior Junior — это площадка с опенсорсными курсами для разработчиков. Да, там нет сертификатов, гарантий трудоустройства и лозунгов «освойте с нуля». Зато есть актуальная теория в связке с непрерывной практикой в онлайн IDE.
Тексты курсов и задачи выложены на гитхаб. Сейчас ребята почти дописали курс по Python и приступили к курсу по Rust. Курсы можно проходить на сайте и в Telegram-боте. Между ними легко синхронизировать прогресс.
Мы такое одобряем, поэтому делимся статьей, в которой рассказали о платформе и начинке проекта: https://tproger.ru/articles/senior-junior-kursy-ot-programmistov-dlya-programmistov
#курсы
Senior Junior — это площадка с опенсорсными курсами для разработчиков. Да, там нет сертификатов, гарантий трудоустройства и лозунгов «освойте с нуля». Зато есть актуальная теория в связке с непрерывной практикой в онлайн IDE.
Тексты курсов и задачи выложены на гитхаб. Сейчас ребята почти дописали курс по Python и приступили к курсу по Rust. Курсы можно проходить на сайте и в Telegram-боте. Между ними легко синхронизировать прогресс.
Мы такое одобряем, поэтому делимся статьей, в которой рассказали о платформе и начинке проекта: https://tproger.ru/articles/senior-junior-kursy-ot-programmistov-dlya-programmistov
#курсы
Краткое введение в Машинное обучение
Прочтение этой статьи даст вам важную базу для понимания работы искусственного интеллекта, что поможет вам увереннее продвигаться в изучении ML. Кстати, она написана без сотен формул и тривиальных рассуждений, которые часто так сложны для начинающих.
#ml #ии #статья
Прочтение этой статьи даст вам важную базу для понимания работы искусственного интеллекта, что поможет вам увереннее продвигаться в изучении ML. Кстати, она написана без сотен формул и тривиальных рассуждений, которые часто так сложны для начинающих.
#ml #ии #статья
Приём заявок на конкурс пет-проектов завершен
Последняя партия конкурсантов предоставила свои проекты:
— Passcryptum: кроссплатформенный менеджер паролей на Vue, использующий стандарт шифрования PBKDF2 и позволяющий задавать PIN.
— Браузерная MMORPG: экс-геймер и фанат World of Warcraft использовал свой опыт веб-разработки и создал 3D ролевую игру на Golang + MySQL. Интересный опыт человека, перепробовавшего несколько языков и фреймворков, прежде чем получилось достойное решение.
— World Connect: фанат Clash of Clans переосмыслил идею гейм-чатов «обо всем и для всех» и реализовал на базе FastAPI + WebSockets свою систему для общения, прямо как ICQ когда-то.
Лайкайте понравившиеся статьи на сайте, чтоб они попали в итоговое голосование.
#diy #конкурс
Последняя партия конкурсантов предоставила свои проекты:
— Passcryptum: кроссплатформенный менеджер паролей на Vue, использующий стандарт шифрования PBKDF2 и позволяющий задавать PIN.
— Браузерная MMORPG: экс-геймер и фанат World of Warcraft использовал свой опыт веб-разработки и создал 3D ролевую игру на Golang + MySQL. Интересный опыт человека, перепробовавшего несколько языков и фреймворков, прежде чем получилось достойное решение.
— World Connect: фанат Clash of Clans переосмыслил идею гейм-чатов «обо всем и для всех» и реализовал на базе FastAPI + WebSockets свою систему для общения, прямо как ICQ когда-то.
Лайкайте понравившиеся статьи на сайте, чтоб они попали в итоговое голосование.
#diy #конкурс
Строки в PHP и команды над ними
Строка — это последовательность символов, заключенных в одинарные
Понимание и умение применять строки и операции над ними позволяет создавать эффективные и функциональные приложения, обрабатывать ввод данных, генерировать отчеты и обеспечивать корректное отображение текста в веб-приложениях. Подробнее о строках в PHP вы сможете узнать в этой полезной статье.
#php
Строка — это последовательность символов, заключенных в одинарные
' '
или двойные кавычки " "
. Строки могут содержать любой текст, включая буквы, цифры, специальные символы и пробелы. Они используются для хранения текстовой информации, такой как сообщения, HTML-код, имена файлов и так далее.Понимание и умение применять строки и операции над ними позволяет создавать эффективные и функциональные приложения, обрабатывать ввод данных, генерировать отчеты и обеспечивать корректное отображение текста в веб-приложениях. Подробнее о строках в PHP вы сможете узнать в этой полезной статье.
#php
Решение задачи про определение типа в Typescript
В этой статье вы сможете увидеть решение интересной задачи, связанной с типизацией в Typescript, которая была представлена на Yandex Cup 2023.
Без условий задача звучит так: «написать программу, которая позволит получать и анализировать информацию об уровне серотонина в крови при прослушивании конкретных треков у разных фокус‑групп».
Автор довольно подробно объясняет свое решение этой задачи, что может помочь начинающим программистам.
#задача #typescript
В этой статье вы сможете увидеть решение интересной задачи, связанной с типизацией в Typescript, которая была представлена на Yandex Cup 2023.
Без условий задача звучит так: «написать программу, которая позволит получать и анализировать информацию об уровне серотонина в крови при прослушивании конкретных треков у разных фокус‑групп».
Автор довольно подробно объясняет свое решение этой задачи, что может помочь начинающим программистам.
#задача #typescript
Признаки плохих работодателей, заметные в вакансиях
Не обязательно приходить на собеседование или работать стажером в компании, чтобы понять, что работодатель — недобросовестный. Об очевидных и не очень красных флагах вы можете узнать, прочитав эту статью.
А с какими странностями работодателей сталкивались вы?
#статья #советы
Не обязательно приходить на собеседование или работать стажером в компании, чтобы понять, что работодатель — недобросовестный. Об очевидных и не очень красных флагах вы можете узнать, прочитав эту статью.
А с какими странностями работодателей сталкивались вы?
#статья #советы
Что такое DOM в JavaScript
DOM (Document Object Model или объектная модель документа) - это структура, которая позволяет управлять HTML-разметкой из JavaScript-кода. Управление обычно состоит из добавления и удаления элементов, изменения их стилей и содержимого. DOM организован в виде дерева, в котором элементы расположены иерархически в соответствии со структурой документа.
Браузер создаёт DOM на основе HTML-кода страницы. Затем на основе DOM и других структур, браузер рисует страницу пользователю. При изменении DOM, браузер анализирует это и обновляет страницу.
Методы DOM — это действия, которые вы можете выполнять (с элементами HTML). К ним относятся:
— getElementById — поиск элемента по идентификатору;
— getElementsByClassName — поиск элементов по названию класса;
— getElementsByTagName — поиск элементов по названию тега;
— querySelector — поиск первого элемента, подходящего под CSS-селектор;
— querySelectorAll — поиск всех элементов подходящих под CSS-селектор.
#js
DOM (Document Object Model или объектная модель документа) - это структура, которая позволяет управлять HTML-разметкой из JavaScript-кода. Управление обычно состоит из добавления и удаления элементов, изменения их стилей и содержимого. DOM организован в виде дерева, в котором элементы расположены иерархически в соответствии со структурой документа.
Браузер создаёт DOM на основе HTML-кода страницы. Затем на основе DOM и других структур, браузер рисует страницу пользователю. При изменении DOM, браузер анализирует это и обновляет страницу.
Методы DOM — это действия, которые вы можете выполнять (с элементами HTML). К ним относятся:
— getElementById — поиск элемента по идентификатору;
— getElementsByClassName — поиск элементов по названию класса;
— getElementsByTagName — поиск элементов по названию тега;
— querySelector — поиск первого элемента, подходящего под CSS-селектор;
— querySelectorAll — поиск всех элементов подходящих под CSS-селектор.
#js
Golang для новичков
Go, также известный как Golang, был создан командой Google в 2007 году для решения проблем крупномасштабных программных проектов.
Его особенностями являются поддержка параллельного программирования, быстрая компиляция и мощный встроенный инструментарий. Он используется многими организациями для самых разных целей, включая веб-разработку, системное программирование, работу с облачными сервисами и т.д.
Более подробно узнать о языке, его структуре и некоторых важных конструкциях Go вы сможете в этом полезном материале.
#go #golang #начинающим
Go, также известный как Golang, был создан командой Google в 2007 году для решения проблем крупномасштабных программных проектов.
Его особенностями являются поддержка параллельного программирования, быстрая компиляция и мощный встроенный инструментарий. Он используется многими организациями для самых разных целей, включая веб-разработку, системное программирование, работу с облачными сервисами и т.д.
Более подробно узнать о языке, его структуре и некоторых важных конструкциях Go вы сможете в этом полезном материале.
#go #golang #начинающим
Таблицы в SQL
В Structured Query Language таблица представляет собой структурированную коллекцию данных, представленную в виде строк и столбцов. Таблицы являются важной составляющей SQL и предоставляют надежный и эффективный способ организации данных. Они используются для хранения и организации данных в реляционных базах данных.
В SQL существует несколько типов таблиц, которые могут быть использованы в зависимости от потребностей и требований базы данных. В этом материале вы сможете подробнее узнать не только о типах таблиц, но и об основных операциях над ними.
#sql
В Structured Query Language таблица представляет собой структурированную коллекцию данных, представленную в виде строк и столбцов. Таблицы являются важной составляющей SQL и предоставляют надежный и эффективный способ организации данных. Они используются для хранения и организации данных в реляционных базах данных.
В SQL существует несколько типов таблиц, которые могут быть использованы в зависимости от потребностей и требований базы данных. В этом материале вы сможете подробнее узнать не только о типах таблиц, но и об основных операциях над ними.
#sql
Настало время голосовать за самые-самые пет-проекты
Вчера стартовал второй этап конкурса на лучший пет-проект среди наших читателей, в котором попавшие в финал авторы сражаются за первое место. Голосуйте за понравившийся вам проект, чтобы поддержать автора.
Проголосовать
#diy #конкурс
Вчера стартовал второй этап конкурса на лучший пет-проект среди наших читателей, в котором попавшие в финал авторы сражаются за первое место. Голосуйте за понравившийся вам проект, чтобы поддержать автора.
Проголосовать
#diy #конкурс
Рекомендации по написанию кода
1. Следует избегать использования сокращений
Короткие переменные легко прячутся в коде и вы не сможете найти их, используя функцию «поиск» текстового редактора.
2. Выбирайте интуитивно понятные названия переменных
Люди, читающие ваш код, будут очень будут вам очень благодарны, когда смогут самостоятельно разобраться в вашем проекте.
3. Не используйте имена повторно
Это не только затруднит идентификацию того, что сейчас находится в переменной, но и сделает почти невозможным поиск места, в котором конкретное значение было присвоено.
4. Избегайте подчеркиваний
Во-первых, код станет длиннее и менее читаемым, а во-вторых, другой программист будет долго искать смысл в подчёркиваниях. Особенно плохо, если в некоторых частях проекта подчёркивания будут, а в некоторых – нет.
Эти и другие советы, которые вы можете прочитать в этой статье, являются универсальными и могут быть применимы к разным языкам программирования.
#начинающим
1. Следует избегать использования сокращений
Короткие переменные легко прячутся в коде и вы не сможете найти их, используя функцию «поиск» текстового редактора.
2. Выбирайте интуитивно понятные названия переменных
Люди, читающие ваш код, будут очень будут вам очень благодарны, когда смогут самостоятельно разобраться в вашем проекте.
3. Не используйте имена повторно
Это не только затруднит идентификацию того, что сейчас находится в переменной, но и сделает почти невозможным поиск места, в котором конкретное значение было присвоено.
4. Избегайте подчеркиваний
Во-первых, код станет длиннее и менее читаемым, а во-вторых, другой программист будет долго искать смысл в подчёркиваниях. Особенно плохо, если в некоторых частях проекта подчёркивания будут, а в некоторых – нет.
Эти и другие советы, которые вы можете прочитать в этой статье, являются универсальными и могут быть применимы к разным языкам программирования.
#начинающим
Как работает обучение без учителя для ИИ
Как машины могут обучаться без учителя или наставника?
Представьте, что вы оказались в комнате, где вас окружают неизвестные вам предметы. Как бы вы различили, где находятся столы, а где стулья? Примерно так же компьютеры классифицируют данные при обучении без учителя. Этот метод используют для решения задач кластеризации, поиска аномалий, ассоциаций и других.
В этом материале вы узнаете, какие алгоритмы используются в обучении без учителя и на примерах разберёте, для чего они нужны.
Как машины могут обучаться без учителя или наставника?
Представьте, что вы оказались в комнате, где вас окружают неизвестные вам предметы. Как бы вы различили, где находятся столы, а где стулья? Примерно так же компьютеры классифицируют данные при обучении без учителя. Этот метод используют для решения задач кластеризации, поиска аномалий, ассоциаций и других.
В этом материале вы узнаете, какие алгоритмы используются в обучении без учителя и на примерах разберёте, для чего они нужны.
Оператор INSERT в SQL
INSERT — это команда, которая используется для добавления новых записей в таблицу базы данных.
Синтаксис оператора INSERT выглядит так:
где
Важно помнить, что значения должны соответствовать порядку, указанному в списке столбцов.
Рассмотреть примеры использования оператора INSERT в SQL на практике, вы сможете в этом материале.
#sql
INSERT — это команда, которая используется для добавления новых записей в таблицу базы данных.
Синтаксис оператора INSERT выглядит так:
INSERT INTO название_таблицы (список_столбцов)
VALUES (значения_столбцов);
где
название_таблицы
— это имя таблицы, в которую вы хотите вставить данные;список_столбцов
— это список столбцов в таблице, в которые вы хотите вставить данные;значения_столбцов
— это значения, которые вы хотите вставить в столбцы.Важно помнить, что значения должны соответствовать порядку, указанному в списке столбцов.
Рассмотреть примеры использования оператора INSERT в SQL на практике, вы сможете в этом материале.
#sql