Программирование — это не для каждого.
Как же много сейчас студентов приходят учить программирование только потому, что за него много платят, не задумываясь, что за этим скрывается. А скрывается за этим тяжкий труд и огромное количество часов практики. Чтобы наработать такое количество практики одной финансовой мотивации не достаточно. Даже если вам понравилось программировать это всё равно не показатель, что вы добьетесь успеха и выйдите на желаемый уровень оплаты.
Очень важно иметь предрасположенность к программированию. Этот термин я давно вынашивал у себя в голове, пытаясь расшифровать, что же кроется за «предрасположенностью» и в итоге, после прочтения некоторых книг, я сформулировал определение:
❗Предрасположенность к программированию — это ваш жизненный опыт, который вы получили еще до того, как начать печатать первую строку «Hello World». Это ваши страсти и ваши знания, которые были получены в школе или институте. И эти знания и опыт были сильно бизки к навыкам программиста.
Как вы относились к задачам из Математики? Любили разгадывать головоломки? Как часто вы попадали в ситуации в которых вам помогла логика? Вы любили разгадывать загадки? Может вы занимались чем-то интересным и практически неподвижным много часов подряд?
Задайте себе эти вопросы и подумайте над ответами. Если большинство ответов отрицательны то вам будет сложно набрать нужное количество часов практики, чтобы выйти на желаемый уровень и начать хорошо зарабатывать. Вероятно ваша предрасположенность направлена в сторону другой профессии и не стоит тратить время и силы.
Заметьте, все вопросы в прошедшем времени, потому что иначе вы можете обмануть самого себя, задавая их в настоящем.
🤔Хорошенько подумайте над этим.
Как же много сейчас студентов приходят учить программирование только потому, что за него много платят, не задумываясь, что за этим скрывается. А скрывается за этим тяжкий труд и огромное количество часов практики. Чтобы наработать такое количество практики одной финансовой мотивации не достаточно. Даже если вам понравилось программировать это всё равно не показатель, что вы добьетесь успеха и выйдите на желаемый уровень оплаты.
Очень важно иметь предрасположенность к программированию. Этот термин я давно вынашивал у себя в голове, пытаясь расшифровать, что же кроется за «предрасположенностью» и в итоге, после прочтения некоторых книг, я сформулировал определение:
❗Предрасположенность к программированию — это ваш жизненный опыт, который вы получили еще до того, как начать печатать первую строку «Hello World». Это ваши страсти и ваши знания, которые были получены в школе или институте. И эти знания и опыт были сильно бизки к навыкам программиста.
Как вы относились к задачам из Математики? Любили разгадывать головоломки? Как часто вы попадали в ситуации в которых вам помогла логика? Вы любили разгадывать загадки? Может вы занимались чем-то интересным и практически неподвижным много часов подряд?
Задайте себе эти вопросы и подумайте над ответами. Если большинство ответов отрицательны то вам будет сложно набрать нужное количество часов практики, чтобы выйти на желаемый уровень и начать хорошо зарабатывать. Вероятно ваша предрасположенность направлена в сторону другой профессии и не стоит тратить время и силы.
Заметьте, все вопросы в прошедшем времени, потому что иначе вы можете обмануть самого себя, задавая их в настоящем.
🤔Хорошенько подумайте над этим.
Пароли должны остаться в прошлом 🔐
Подключение к удаленному серверу для его настройки или «деплоя» кода — это обычная повседневная практика программиста. Хранить или запоминать большое количество паролей от разных серверов не просто. В добавок есть риск, что пароль может быть похищен или скомпрометирован. Нередко новички работая в Windows сохраняют пароль в программе, а затем его похищает какой-нибудь троян и пиши пропало.
Что же делать?
Во-первых нужно отказаться, по возможности, от использования FTP. Это довольно старый протокол, разработанный еще в 70-е годы, а программы реализующие данный протокол часто бывают подвержены эксплоиту.
Есть отличная альтернатива sftp протокол, который работает на базе протокола ssh. Протокол ssh используется, в том числе, для удалённого управления сервером и его надежность на достаточно высоком уровне. Подключиться к серверу по ssh можно, как используя пароль, так и используя ключ доступа, о последнем методе я и хочу рассказать.
Ключи уже довольно давно используются в мире IT, как средство прохождения авторизации. Для начала работы с ключами, вам необходимо сгенерировать свою пару ключей: Публичный и Приватный. Команда для генерации
А дальше всё просто. Приватный ключ должен находиться на компьютере с которого происходит подключение, а публичный на сервере в файле
Напоследок хотел бы рассказать, как я храню пароли для сайтов, которые посещаю. Есть такое расширение для хрома (и не только) LastPass. Его можно установить в любой браузер, а также на телефоне. Ваши данные, которые вы сохраняете на сервере LastPass шифруются мастер-паролем и даже если сервер LastPass будет взломан, без мастер-пароля злоумышленники не смогут добраться до ваших данных.
——
К чему приводят пароли на стикерах
👉 https://habr.com/ru/post/255509/
Подключение к удаленному серверу для его настройки или «деплоя» кода — это обычная повседневная практика программиста. Хранить или запоминать большое количество паролей от разных серверов не просто. В добавок есть риск, что пароль может быть похищен или скомпрометирован. Нередко новички работая в Windows сохраняют пароль в программе, а затем его похищает какой-нибудь троян и пиши пропало.
Что же делать?
Во-первых нужно отказаться, по возможности, от использования FTP. Это довольно старый протокол, разработанный еще в 70-е годы, а программы реализующие данный протокол часто бывают подвержены эксплоиту.
Есть отличная альтернатива sftp протокол, который работает на базе протокола ssh. Протокол ssh используется, в том числе, для удалённого управления сервером и его надежность на достаточно высоком уровне. Подключиться к серверу по ssh можно, как используя пароль, так и используя ключ доступа, о последнем методе я и хочу рассказать.
Ключи уже довольно давно используются в мире IT, как средство прохождения авторизации. Для начала работы с ключами, вам необходимо сгенерировать свою пару ключей: Публичный и Приватный. Команда для генерации
ssh-keygen. Публичный ключ это по сути «замóк», который может открыть только тот приватный ключ, который был создан одновременно с публичным.
А дальше всё просто. Приватный ключ должен находиться на компьютере с которого происходит подключение, а публичный на сервере в файле
~/.ssh/authorized_keys. Данный файл находится в домашней директории пользователя под которым вы планируете производить подключение. Установите публичный ключ на всех серверах, с которыми вы работаете и вам не придется запоминать пароли для подключения. Приватный ключ храните у себя и не показывайте никому. Имея доступ к серверу по ssh вы также можете подключиться к нему используя протокол sftp. А еще, используя ключ, очень удобно работать с GIT через протокол ssh.
Напоследок хотел бы рассказать, как я храню пароли для сайтов, которые посещаю. Есть такое расширение для хрома (и не только) LastPass. Его можно установить в любой браузер, а также на телефоне. Ваши данные, которые вы сохраняете на сервере LastPass шифруются мастер-паролем и даже если сервер LastPass будет взломан, без мастер-пароля злоумышленники не смогут добраться до ваших данных.
——
К чему приводят пароли на стикерах
👉 https://habr.com/ru/post/255509/
Всем доброго дня!
На следующей недели (с 15 по 20 февраля) провожу 3 бесплатных собеседования с целью узнать свой текущий уровень знаний и навыков. Все вопросы будут касаться PHP и web-программирования.
Желающие пишите мне в личку.
Аккаунт @fxDev
На следующей недели (с 15 по 20 февраля) провожу 3 бесплатных собеседования с целью узнать свой текущий уровень знаний и навыков. Все вопросы будут касаться PHP и web-программирования.
Желающие пишите мне в личку.
Аккаунт @fxDev
Не упускайте теорию 📚
Часто новички в программировании стараются больше практиковаться в кодинге, совершенно забывая про теорию. Даже если они читают книги, то стараются искать иллюстрации кода, чтобы сразу воспользоваться новыми знаниями на практике.
Так зачем же теория программисту, если ему только и надо, что код писáть ⁉
Изучение теории расширяет наш кругозор. Это крайне важно для проектирования будущих проектов. Если программист не в состоянии спроектировать свой проект, то ему и кодить будет нечего.
Конечно, исключением являются крупные IT компании, где проектированием занимаются умные люди, которые уже перечитали массу книг о различных технологиях и методах проектирования. Но мы с вами едва ли попадем к ним работать на первых порах и потому, должны уметь самостоятельно проектировать.
Это совсем не означает, что нужно удариться в чтение и перестать кодить.
Я лишь призываю вас не упускать теорию, ведь на собеседовании первый этап, это как правило теория и лишь пройдя её вы сможете блеснуть перед интервьюером своим прекрасным кодом!
--
Сборник задач https://justcoding.ru/
Часто новички в программировании стараются больше практиковаться в кодинге, совершенно забывая про теорию. Даже если они читают книги, то стараются искать иллюстрации кода, чтобы сразу воспользоваться новыми знаниями на практике.
Так зачем же теория программисту, если ему только и надо, что код писáть ⁉
Изучение теории расширяет наш кругозор. Это крайне важно для проектирования будущих проектов. Если программист не в состоянии спроектировать свой проект, то ему и кодить будет нечего.
Конечно, исключением являются крупные IT компании, где проектированием занимаются умные люди, которые уже перечитали массу книг о различных технологиях и методах проектирования. Но мы с вами едва ли попадем к ним работать на первых порах и потому, должны уметь самостоятельно проектировать.
Это совсем не означает, что нужно удариться в чтение и перестать кодить.
Я лишь призываю вас не упускать теорию, ведь на собеседовании первый этап, это как правило теория и лишь пройдя её вы сможете блеснуть перед интервьюером своим прекрасным кодом!
--
Сборник задач https://justcoding.ru/
Числовой палиндром.
Палиндро́м — число, буквосочетание, слово или текст, одинаково читающееся в обоих направлениях.
Примеры числовых палиндромов:
— 3993
— 170071
— 955559
Условие задачи
Вам дадут 2 числа в качестве аргументов: (number, s).
Напишите функцию, которая возвращает массив из числа s палиндромов, которые идут после number. Если number - это сам палиндром, он должен быть включен в число.
Если один из входных параметров не является целым числом или меньше 0, верните «не действительно».
Ссылка на задачу 👇
https://justcoding.ru/solve-task?id=51
—
Завтра опубликую различные варианты решения данной задачи.
Палиндро́м — число, буквосочетание, слово или текст, одинаково читающееся в обоих направлениях.
Примеры числовых палиндромов:
— 3993
— 170071
— 955559
Условие задачи
Вам дадут 2 числа в качестве аргументов: (number, s).
Напишите функцию, которая возвращает массив из числа s палиндромов, которые идут после number. Если number - это сам палиндром, он должен быть включен в число.
Если один из входных параметров не является целым числом или меньше 0, верните «не действительно».
Ссылка на задачу 👇
https://justcoding.ru/solve-task?id=51
—
Завтра опубликую различные варианты решения данной задачи.
Всем доброго дня!
На следующей недели (с 1 по 5 марта) провожу 3 бесплатных собеседования с целью узнать свой текущий уровень знаний и навыков. Кто проходил ранее и за это время смог подтянуть свои знания, тоже могут написать. Все вопросы будут касаться PHP и web-программирования.
Желающие пишите мне в личку.
Аккаунт @fxDev
На следующей недели (с 1 по 5 марта) провожу 3 бесплатных собеседования с целью узнать свой текущий уровень знаний и навыков. Кто проходил ранее и за это время смог подтянуть свои знания, тоже могут написать. Все вопросы будут касаться PHP и web-программирования.
Желающие пишите мне в личку.
Аккаунт @fxDev
Задача #42 — Заставь мертвую рыбу плавать
Напишите простой парсер, который будет анализировать и запускать Deadfish.
У Deadfish есть 4 команды, каждая длиной 1 символ:
i увеличивает значение (изначально 0)
d уменьшает значение
s возводит значение в квадрат
o выводит значение в возвращаемый массив
Неверные символы следует игнорировать.
parse("iisiodso") => [ 5, 36 ]
https://justcoding.ru/solve-task?id=42
——
Завтра опубликую различные варианты решений.
Напишите простой парсер, который будет анализировать и запускать Deadfish.
У Deadfish есть 4 команды, каждая длиной 1 символ:
i увеличивает значение (изначально 0)
d уменьшает значение
s возводит значение в квадрат
o выводит значение в возвращаемый массив
Неверные символы следует игнорировать.
parse("iisiodso") => [ 5, 36 ]
https://justcoding.ru/solve-task?id=42
——
Завтра опубликую различные варианты решений.
Собеседование программистов
На следующей недели (с 9 по 12 марта) провожу 3 бесплатных собеседования с целью узнать ваш текущий уровень знаний и навыков. Все вопросы будут касаться PHP и web-программирования.
Кто проходил ранее и за это время смог подтянуть свои знания, тоже могут записываться.
Желающие пишите мне в личку.
Аккаунт @fxDev
На следующей недели (с 9 по 12 марта) провожу 3 бесплатных собеседования с целью узнать ваш текущий уровень знаний и навыков. Все вопросы будут касаться PHP и web-программирования.
Кто проходил ранее и за это время смог подтянуть свои знания, тоже могут записываться.
Желающие пишите мне в личку.
Аккаунт @fxDev
Ошибки начинающего.
Я давно замечаю за новичками одну интересную особенность. Они страсть как любят впихнуть невпихуемое. Стараются в одну строку вставить сразу максимальное количество команд, считая это высшей степенью профессионализма. Вот только профи так не делают, ведь это сильно губит возможность читать код и как следствие его сопровождать.
Подумайте сами, код как боксерский титул, сложность не в том, чтобы его завоевать, а в том, чтобы его удержать. Так же и с кодом, сложность не в том, чтобы его написать, а в том, чтобы его сопровождать и дорабатывать, добавляя всякие фишечки.
Перестаньте показывать на сколько вы круты, умением в одну строку впихнуть десять функций, покажите, что вы умеете создавать по-настоящему простой и читабельный код, это ценится гораздо выше!
Я давно замечаю за новичками одну интересную особенность. Они страсть как любят впихнуть невпихуемое. Стараются в одну строку вставить сразу максимальное количество команд, считая это высшей степенью профессионализма. Вот только профи так не делают, ведь это сильно губит возможность читать код и как следствие его сопровождать.
Подумайте сами, код как боксерский титул, сложность не в том, чтобы его завоевать, а в том, чтобы его удержать. Так же и с кодом, сложность не в том, чтобы его написать, а в том, чтобы его сопровождать и дорабатывать, добавляя всякие фишечки.
Перестаньте показывать на сколько вы круты, умением в одну строку впихнуть десять функций, покажите, что вы умеете создавать по-настоящему простой и читабельный код, это ценится гораздо выше!
Реальный случай на собеседовании
Однажды я проходил собеседование в одной программисткой конторе. Туда я попал случайно. Дело было в далеком 2009 году. Мне сделали операцию по вырезанию аппендицита и после выписки я не мог уснуть. Я включил компьютер и начал сёрфить просторы интернета. Мой взор упал на одно очень интересное объявление для программистов. Хочу сразу отметить, что я на тот момент работу не искал, но мне жутко понравилась задача, которая была в объявлении и без которой нельзя было присылать заявку.
Я не хочу вдаваться в подробности той задачи, но я её решил и для проверки решил отправить решение. Решение нельзя было отправить без контактных данных, и я вбил реальные данные. На следующий день мне позвонили и настойчиво приглашали на собеседование. Я не смог отказать)
На собеседовании мне задали один очень интересный вопрос, которым я бы и хотел поделиться:
«Андрей, скажите, а вы бы могли подсчитать количество бензоколонок в нашем городе?»
Город был большой, население около 3 миллионов человек. Я немного подумал и дал ответ, и он был верный!
Свой ответ я напишу завтра, а пока вы можете подумать и предложить свои варинты 👇
https://docs.google.com/forms/d/17rczu6pfSALMvEobpSKCFZHs6pj_lfw87-8iF_kVOmI/edit?usp=sharing
Однажды я проходил собеседование в одной программисткой конторе. Туда я попал случайно. Дело было в далеком 2009 году. Мне сделали операцию по вырезанию аппендицита и после выписки я не мог уснуть. Я включил компьютер и начал сёрфить просторы интернета. Мой взор упал на одно очень интересное объявление для программистов. Хочу сразу отметить, что я на тот момент работу не искал, но мне жутко понравилась задача, которая была в объявлении и без которой нельзя было присылать заявку.
Я не хочу вдаваться в подробности той задачи, но я её решил и для проверки решил отправить решение. Решение нельзя было отправить без контактных данных, и я вбил реальные данные. На следующий день мне позвонили и настойчиво приглашали на собеседование. Я не смог отказать)
На собеседовании мне задали один очень интересный вопрос, которым я бы и хотел поделиться:
«Андрей, скажите, а вы бы могли подсчитать количество бензоколонок в нашем городе?»
Город был большой, население около 3 миллионов человек. Я немного подумал и дал ответ, и он был верный!
Свой ответ я напишу завтра, а пока вы можете подумать и предложить свои варинты 👇
https://docs.google.com/forms/d/17rczu6pfSALMvEobpSKCFZHs6pj_lfw87-8iF_kVOmI/edit?usp=sharing
Реальный случай на собеседовании. Продолжение.
Итак, мой ответ был таков:
«Что бы выяснить количество бензоколонок, нужно получить информацию о количестве районов и о среднем количестве бензоколонок на один район, данное количество умножить на районы и получить приблизительный результат»
Фишка была в том, что вопрос не подразумевал правильный ответ. Это была проверка на ступор. Когда вы пишете программу, то можете столкнуться перед сложными задачами и остановиться.
Я начал рассуждение и то, что я сказал было уже неважно, важным было то, что я начал искать ответ и предложил вариант решения. Для работодателя это означало, что я не останавливаюсь перед сложными задачами и будут искать решение!
Итак, мой ответ был таков:
«Что бы выяснить количество бензоколонок, нужно получить информацию о количестве районов и о среднем количестве бензоколонок на один район, данное количество умножить на районы и получить приблизительный результат»
Фишка была в том, что вопрос не подразумевал правильный ответ. Это была проверка на ступор. Когда вы пишете программу, то можете столкнуться перед сложными задачами и остановиться.
Я начал рассуждение и то, что я сказал было уже неважно, важным было то, что я начал искать ответ и предложил вариант решения. Для работодателя это означало, что я не останавливаюсь перед сложными задачами и будут искать решение!