❗Попытки решить задачу.
1. Как часто вы сталкиваетесь в программировании со сложными задачами? Сколько попыток вы делаете, чтобы решить сложную задачу?
2. Я думаю, что большинство из вас ограничивается тремя или пятью попытками. Некоторые могут сделать семь, восемь попыток и на этом отложить решение на неопределённый срок.
3. Сколько же стоит пытаться решить неподдающуюся решению задачу, чтобы сказать себе: «Эта задача мне не по зубам, я не буду больше пытаться её решить»
4. Правильный ответ — нисколько. Вы либо заранее понимаете, что задача не для вас либо беретесь за неё и решаете пока не добьетесь результата. Попытки считать не нужно, они не ограничены или, другими словами, бесконечны!
5. Помните, что любую сложную задачу можно декомпозировать, разбив её на мелкие подзадачи. Решать маленькие задачи гораздо проще, чем одну большую. А если в задачах есть незнакомые вам технологии или термины, вы легко сможете воспользоваться Google’ом!
P.S.
Нерешенных задач в мире становится всё меньше, а информация о решенных есть в Интернете.
1. Как часто вы сталкиваетесь в программировании со сложными задачами? Сколько попыток вы делаете, чтобы решить сложную задачу?
2. Я думаю, что большинство из вас ограничивается тремя или пятью попытками. Некоторые могут сделать семь, восемь попыток и на этом отложить решение на неопределённый срок.
3. Сколько же стоит пытаться решить неподдающуюся решению задачу, чтобы сказать себе: «Эта задача мне не по зубам, я не буду больше пытаться её решить»
4. Правильный ответ — нисколько. Вы либо заранее понимаете, что задача не для вас либо беретесь за неё и решаете пока не добьетесь результата. Попытки считать не нужно, они не ограничены или, другими словами, бесконечны!
5. Помните, что любую сложную задачу можно декомпозировать, разбив её на мелкие подзадачи. Решать маленькие задачи гораздо проще, чем одну большую. А если в задачах есть незнакомые вам технологии или термины, вы легко сможете воспользоваться Google’ом!
P.S.
Нерешенных задач в мире становится всё меньше, а информация о решенных есть в Интернете.
Не упускайте теорию 📚
Часто новички в программировании стараются больше практиковаться в кодинге, совершенно забывая про теорию. Даже если они читают книги, то стараются искать иллюстрации кода, чтобы сразу воспользоваться новыми знаниями на практике.
Так зачем же теория программисту, если ему только и надо, что код писáть ⁉
Изучение теории расширяет наш кругозор. Это крайне важно для проектирования будущих проектов. Если программист не в состоянии спроектировать свой проект, то ему и кодить будет нечего.
Конечно, исключением являются крупные IT компании, где проектированием занимаются умные люди, которые уже перечитали массу книг о различных технологиях и методах проектирования. Но мы с вами едва ли попадем к ним работать на первых порах и потому, должны уметь самостоятельно проектировать.
Это совсем не означает, что нужно удариться в чтение и перестать кодить.
Я лишь призываю вас не упускать теорию, ведь на собеседовании первый этап, это как правило теория и лишь пройдя её вы сможете блеснуть перед интервьюером своим прекрасным кодом!
--
Сборник задач https://app.justcoding.ru/
Часто новички в программировании стараются больше практиковаться в кодинге, совершенно забывая про теорию. Даже если они читают книги, то стараются искать иллюстрации кода, чтобы сразу воспользоваться новыми знаниями на практике.
Так зачем же теория программисту, если ему только и надо, что код писáть ⁉
Изучение теории расширяет наш кругозор. Это крайне важно для проектирования будущих проектов. Если программист не в состоянии спроектировать свой проект, то ему и кодить будет нечего.
Конечно, исключением являются крупные IT компании, где проектированием занимаются умные люди, которые уже перечитали массу книг о различных технологиях и методах проектирования. Но мы с вами едва ли попадем к ним работать на первых порах и потому, должны уметь самостоятельно проектировать.
Это совсем не означает, что нужно удариться в чтение и перестать кодить.
Я лишь призываю вас не упускать теорию, ведь на собеседовании первый этап, это как правило теория и лишь пройдя её вы сможете блеснуть перед интервьюером своим прекрасным кодом!
--
Сборник задач https://app.justcoding.ru/
Forwarded from PHP Интервью
🔔 Однажды мы с коллегой поспорили, кто из нас круче, как программист! Конечно, это выглядело как ребячество, но тогда мы в серьёз задумались, как же это выяснить. И кое-что придумали.
Мы нашли в интернете несколько интересных задач, с которыми ни одни из нас еще не сталкивался и начали их решать одновременно.
Я бы мог сказать, что победа была за мной и вы едва ли смогли бы это проверить, но я буду честен с вами и скажу, как есть, победил конечно же я и с очень большим отрывом. Когда я закончил решать, мой товарищ еще не решил даже первую задачу.
Он тогда не знал, что я ночами на пролёт прокачивал свой навык решения задач, находя их в интернете, а через какое-то время появилось это:
👉 https://app.justcoding.ru/
Великолепный сервис с большим набором задач и автоматической проверкой решения. Решайте по 5-7 задач в неделю или больше. Так вы прокачаете не только навык решения задач но и ближе познакомитесь со стандартными функциями PHP.
Мы нашли в интернете несколько интересных задач, с которыми ни одни из нас еще не сталкивался и начали их решать одновременно.
Я бы мог сказать, что победа была за мной и вы едва ли смогли бы это проверить, но я буду честен с вами и скажу, как есть, победил конечно же я и с очень большим отрывом. Когда я закончил решать, мой товарищ еще не решил даже первую задачу.
Он тогда не знал, что я ночами на пролёт прокачивал свой навык решения задач, находя их в интернете, а через какое-то время появилось это:
👉 https://app.justcoding.ru/
Великолепный сервис с большим набором задач и автоматической проверкой решения. Решайте по 5-7 задач в неделю или больше. Так вы прокачаете не только навык решения задач но и ближе познакомитесь со стандартными функциями PHP.
Сколько нужно учиться? 🤔
Иногда учащиеся спрашивают меня, сколько необходимо уделять времени на обучение, чтобы в ближайшем будущем стать программистом. Хороший вопрос, давайте попробуем в нем разобраться.
Сейчас мне 34 года и программировать я начал с 14 лет. Примерно в 17 лет я уже активно работал над коммерческими проектами. Мне потребовалось 3 года, чтобы выучиться до уровня, при котором я бы не боялся брать на себя ответственность. Но сколько времени я уделял обучению?
Ответ прост, абсолютно всё свободное время! Я программировал, когда приходил со школы. Я программировал перед сном и часто ложился спать ближе к утру, потому что не мог оторваться от процесса. Я программировал в выходные и праздничные дни. Меня никто не заставлял, а на оборот, родители тревожились и старались ограничить мое пребывание за компьютером. Я программировал постоянно!
И что самое интересное, похожую историю я слышал от многих своих коллег. Они так же погружались в процесс с головой и тратили на это всё свободное время.
А теперь самое интересное. Математика!
По моим подсчетам, в среднем, я тратил 3-4 часа в день (каждый день) и лишь спустя 2-3 года я чувствовал себя уверенным и работал с коммерческими проектами. Конечно, в то время информации было меньше, видео роликов с обучением почти не было, обучаться было сложнее. И всё же, вот что получается.
Выведем вот такую формулу:
— Обучение 3-4 часа, каждый день = Программист через ~1,5-2 года!
— Обучение 1,5-2 часа, каждый день = Программист через ~3-4 года!
— Обучение менее 1,5 часа в день = Программист через ~7-8 лет или более!
Формула довольно грубая, но она хорошо показывает влияние времени обучения на достижение нашей цели, если наша цель стать хорошим специалистом.
А сколько времени на обучение уделяете Вы❓
Иногда учащиеся спрашивают меня, сколько необходимо уделять времени на обучение, чтобы в ближайшем будущем стать программистом. Хороший вопрос, давайте попробуем в нем разобраться.
Сейчас мне 34 года и программировать я начал с 14 лет. Примерно в 17 лет я уже активно работал над коммерческими проектами. Мне потребовалось 3 года, чтобы выучиться до уровня, при котором я бы не боялся брать на себя ответственность. Но сколько времени я уделял обучению?
Ответ прост, абсолютно всё свободное время! Я программировал, когда приходил со школы. Я программировал перед сном и часто ложился спать ближе к утру, потому что не мог оторваться от процесса. Я программировал в выходные и праздничные дни. Меня никто не заставлял, а на оборот, родители тревожились и старались ограничить мое пребывание за компьютером. Я программировал постоянно!
И что самое интересное, похожую историю я слышал от многих своих коллег. Они так же погружались в процесс с головой и тратили на это всё свободное время.
А теперь самое интересное. Математика!
По моим подсчетам, в среднем, я тратил 3-4 часа в день (каждый день) и лишь спустя 2-3 года я чувствовал себя уверенным и работал с коммерческими проектами. Конечно, в то время информации было меньше, видео роликов с обучением почти не было, обучаться было сложнее. И всё же, вот что получается.
Выведем вот такую формулу:
— Обучение 3-4 часа, каждый день = Программист через ~1,5-2 года!
— Обучение 1,5-2 часа, каждый день = Программист через ~3-4 года!
— Обучение менее 1,5 часа в день = Программист через ~7-8 лет или более!
Формула довольно грубая, но она хорошо показывает влияние времени обучения на достижение нашей цели, если наша цель стать хорошим специалистом.
А сколько времени на обучение уделяете Вы❓
Вы все можете сами!
Правда, вы можете больше, чем предполагаете. Любая задача, любой проект вам под силу. Вопрос лишь во времени. В чем фокус?
Представим, что вам предложили создать свою операционную систему похожую на Windows. На первый взгляд задача не простая, я бы даже сказал нереализуемая! Но давайте не делать поспешных выводов и посмотрим на задачу под другим углом.
Что такое операционная система?
Операционная система — это комплекс взаимосвязанных программ, предназначенных для управления ресурсами компьютера и организации взаимодействия с пользователем.
Применим декомпозицию и разобьём нашу задачу на подзадачи (очень грубо):
1⃣ Создание файловой системы;
2⃣ Создание ядра ОС;
3⃣ Взаимодействие между процессами;
4⃣ Механизмы для работы с потоками;
5⃣ Реализовать мультизадачность;
6⃣ Создать графический интерфейс системы;
Подзадачи разбиваем на более мелкие блоки. Находим в интернете информацию по каждому направлению, изучаем, практикуем и реализуем. Последовательно закрывая каждую задачу, мы будем двигаться вперед и в конце концов, если не остановимся, мы достигнем своей цели.
Другой вопрос, что нашей жизни едва ли хватит, что бы в одиночку всё изучить и реализовать т.к. в создании Windows принимали участие большое количество программистов, но наша задача была не сделать быстро, а реализовать задачу в принципе.
Все мы можем, было бы желание и время! 😎
Правда, вы можете больше, чем предполагаете. Любая задача, любой проект вам под силу. Вопрос лишь во времени. В чем фокус?
Представим, что вам предложили создать свою операционную систему похожую на Windows. На первый взгляд задача не простая, я бы даже сказал нереализуемая! Но давайте не делать поспешных выводов и посмотрим на задачу под другим углом.
Что такое операционная система?
Операционная система — это комплекс взаимосвязанных программ, предназначенных для управления ресурсами компьютера и организации взаимодействия с пользователем.
Применим декомпозицию и разобьём нашу задачу на подзадачи (очень грубо):
1⃣ Создание файловой системы;
2⃣ Создание ядра ОС;
3⃣ Взаимодействие между процессами;
4⃣ Механизмы для работы с потоками;
5⃣ Реализовать мультизадачность;
6⃣ Создать графический интерфейс системы;
Подзадачи разбиваем на более мелкие блоки. Находим в интернете информацию по каждому направлению, изучаем, практикуем и реализуем. Последовательно закрывая каждую задачу, мы будем двигаться вперед и в конце концов, если не остановимся, мы достигнем своей цели.
Другой вопрос, что нашей жизни едва ли хватит, что бы в одиночку всё изучить и реализовать т.к. в создании Windows принимали участие большое количество программистов, но наша задача была не сделать быстро, а реализовать задачу в принципе.
Все мы можем, было бы желание и время! 😎
Хотите получить работу?
Если среди вас кто-то закончил курсы программирования на PHP или проходил обучение самостоятельно, но пока не знает, что делать дальше. Возможно, вы предпринимали попытки пройти собеседование и устроиться на работу в IT-компанию, однако потерпели фиаско!
Я предлагаю вам интересную услугу помощи в трудоустройстве. Нет, я не буду вам предлагать работу у своих друзей или знакомых и не стану обещать вам золотые горы. Я лишь хочу вам помочь.
У меня большой опыт в программировании в целом и на PHP в частности. За последние 5 лет я провел не один десяток интервью с кандидатами на вакансию PHP-программист. Перечитал более сотни резюме и могу отличить шаблонное от не шаблонного.
🔹 Что я предлагаю
Я провожу с вами предварительное online-интервью. Определяю ваши сильные и слабые стороны. Создаю для вас персональную программу подготовки к реальному собеседованию. Если у вас отсутствуют выполненные проекты, я предоставлю список интересных и не сложных проектов, один из которых нужно будет выполнить.
Вы изучаете материал, который я вам предоставлю. Это будут книги, статьи и практические задачи. Спустя определённое время, которое полностью зависит от вас, мы проводим повторное интервью. Если я считаю, что вы готовы, то мы с вами находим несколько вакансий PHP-Junior, составляем резюме и отправляем.
В случаи успешного прохождения интервью по одной из этих вакансий, я добавляю вас в специальный чат по поддержке Джуниоров на этапе испытательного срока. За вас никто выполнять задачи, конечно же, не будет. Однако вы всегда сможете получить совет, как справиться с той или иной задачей. Какие технологии лучше использовать и многое другое.
🔹 Сколько это стоит
Данная услуга стоит 35 тыс. рублей. Пять тысяч вы платите сразу, остальное выплачиваете с каждой полученной зарплаты. То есть вы оплачиваете только по факту получения результата! Если оплата не произведена, вы теряете доступ к чату и ко мне.
Интересно❓
Пишите в личку 👇
@fxdev
P.S. Услугу чата с поддержкой можно приобрести отдельно по подписке.
P.S.S. Это не курсы и не обучение. Это подготовка к собеседованию!
Если среди вас кто-то закончил курсы программирования на PHP или проходил обучение самостоятельно, но пока не знает, что делать дальше. Возможно, вы предпринимали попытки пройти собеседование и устроиться на работу в IT-компанию, однако потерпели фиаско!
Я предлагаю вам интересную услугу помощи в трудоустройстве. Нет, я не буду вам предлагать работу у своих друзей или знакомых и не стану обещать вам золотые горы. Я лишь хочу вам помочь.
У меня большой опыт в программировании в целом и на PHP в частности. За последние 5 лет я провел не один десяток интервью с кандидатами на вакансию PHP-программист. Перечитал более сотни резюме и могу отличить шаблонное от не шаблонного.
🔹 Что я предлагаю
Я провожу с вами предварительное online-интервью. Определяю ваши сильные и слабые стороны. Создаю для вас персональную программу подготовки к реальному собеседованию. Если у вас отсутствуют выполненные проекты, я предоставлю список интересных и не сложных проектов, один из которых нужно будет выполнить.
Вы изучаете материал, который я вам предоставлю. Это будут книги, статьи и практические задачи. Спустя определённое время, которое полностью зависит от вас, мы проводим повторное интервью. Если я считаю, что вы готовы, то мы с вами находим несколько вакансий PHP-Junior, составляем резюме и отправляем.
В случаи успешного прохождения интервью по одной из этих вакансий, я добавляю вас в специальный чат по поддержке Джуниоров на этапе испытательного срока. За вас никто выполнять задачи, конечно же, не будет. Однако вы всегда сможете получить совет, как справиться с той или иной задачей. Какие технологии лучше использовать и многое другое.
🔹 Сколько это стоит
Данная услуга стоит 35 тыс. рублей. Пять тысяч вы платите сразу, остальное выплачиваете с каждой полученной зарплаты. То есть вы оплачиваете только по факту получения результата! Если оплата не произведена, вы теряете доступ к чату и ко мне.
Интересно❓
Пишите в личку 👇
@fxdev
P.S. Услугу чата с поддержкой можно приобрести отдельно по подписке.
P.S.S. Это не курсы и не обучение. Это подготовка к собеседованию!
📗 Веб-программирование начинается с интернета, а интернет начинается с протоколов TCP/IP.
Мало кто знаком с этими протоколами, которые играют жизненно важную роль в доставке информации по сетям Интернета.
Книга "TCP/IP — Сетевое администрирование" как раз об этом! Не обязательно читать её до конца, достаточно внимательно прочитать первые главы, в которых описывается основные принципы работы и взаимодействия компьютеров внутри сети.
Так же будет очень полезно почитать о таком понятии как RFC (Request for Comments).
👉 https://ru.wikipedia.org/wiki/RFC
Мало кто знаком с этими протоколами, которые играют жизненно важную роль в доставке информации по сетям Интернета.
Книга "TCP/IP — Сетевое администрирование" как раз об этом! Не обязательно читать её до конца, достаточно внимательно прочитать первые главы, в которых описывается основные принципы работы и взаимодействия компьютеров внутри сети.
Так же будет очень полезно почитать о таком понятии как RFC (Request for Comments).
👉 https://ru.wikipedia.org/wiki/RFC
PHP Интервью pinned «Хотите получить работу? Если среди вас кто-то закончил курсы программирования на PHP или проходил обучение самостоятельно, но пока не знает, что делать дальше. Возможно, вы предпринимали попытки пройти собеседование и устроиться на работу в IT-компанию, однако…»
Губительная сила CMS 😈
CMS губит программистов, может не всех, но многих. Вы работаете с CMS и делаете сайты один за другим, не замечая, что вы стоите на месте. Программированием тут и не пахнет, а большинство проектов типовые. По сути, вы становитесь не программистом, а «конфигурастом», который выполняет настройку уже готовой системы. И даже если вы временами пишете какой-то код, этого мало, чтобы поддерживать навык программирования и быть в рынке.
Я лично столкнулся с этой проблемой много лет назад работая в одной крупной Web-Студии и выполняя проекты различной сложности. Так продолжалось много лет, пока я не решил уйти из веб-студии и найти другое место работы, такое место, где можно по-настоящему программировать.
Когда я начал ходить по собеседованиям, я часто слышал что-то типа «ну, cms это хорошо, а программировать то вы умеете?». По началу я не понимал, на что они намекают и лишь позже понял, что те, кто работает постоянно с CMS практически полностью лишены настоящего программирования. Готовые модули, компоненты и плагины делают за нас всю работу и нам остается лишь всё это соединить и залить на сервер.
Я до сих пор встречаю эту проблему собеседуя кандидатов в нашу компанию. Приходят люди, которые последние несколько лет работали исключительно с CMS системами и когда начинаешься задавать им наводящие вопросы о паттернах, о более глубоком понимании ООП или о том, как и чем можно расширить стек в случаи необходимости, они пожимают плечами, мол не сталкивались, но, если надо разберемся. Может и разберутся, но сколько уйдет на это время?
--
Тренажер для программистов
👉 https://app.justcoding.ru/
CMS губит программистов, может не всех, но многих. Вы работаете с CMS и делаете сайты один за другим, не замечая, что вы стоите на месте. Программированием тут и не пахнет, а большинство проектов типовые. По сути, вы становитесь не программистом, а «конфигурастом», который выполняет настройку уже готовой системы. И даже если вы временами пишете какой-то код, этого мало, чтобы поддерживать навык программирования и быть в рынке.
Я лично столкнулся с этой проблемой много лет назад работая в одной крупной Web-Студии и выполняя проекты различной сложности. Так продолжалось много лет, пока я не решил уйти из веб-студии и найти другое место работы, такое место, где можно по-настоящему программировать.
Когда я начал ходить по собеседованиям, я часто слышал что-то типа «ну, cms это хорошо, а программировать то вы умеете?». По началу я не понимал, на что они намекают и лишь позже понял, что те, кто работает постоянно с CMS практически полностью лишены настоящего программирования. Готовые модули, компоненты и плагины делают за нас всю работу и нам остается лишь всё это соединить и залить на сервер.
Я до сих пор встречаю эту проблему собеседуя кандидатов в нашу компанию. Приходят люди, которые последние несколько лет работали исключительно с CMS системами и когда начинаешься задавать им наводящие вопросы о паттернах, о более глубоком понимании ООП или о том, как и чем можно расширить стек в случаи необходимости, они пожимают плечами, мол не сталкивались, но, если надо разберемся. Может и разберутся, но сколько уйдет на это время?
--
Тренажер для программистов
👉 https://app.justcoding.ru/
Губительная сила CMS. Продолжение. 😈😈
После публикации первой части данного поста я получил множество комментариев в личку. Кто-то пишет, что не согласен с данным выводом и что при работе с CMS так же приходится программировать, но большинство со мной согласны и задаются вопрос, что же делать?
Как минимум не унывать и не вздумать бежать увольняться. Ниже я привожу какие шаги можно предпринять, чтобы продолжать работать с CMS системами и при этом оставаться в рынке.
1. Участие в стартапах
Сейчас тема стартапов очень горячая и существует огромное количество команд, где требуется программист. Некоторые в команду ищут более опытного, а некоторые готовы взять и с меньшим опытом в расчете на экономию. Участвуйте в таких проектах безвозмездно или с хорошим дисконтом, так вы будете набираться опыта и развивать свои навыки.
2. Личные проекты
Придумывайте собственные проекты и доводите их до конца. Они не обязательно должны быть уникальные или супер технологичные. Можно создавать аналоги проектов, которые вам понравились. В качестве дизайна можно использовать готовые бесплатные шаблоны или работать с CSS фреймворками типа Bootstrap. Главное, что бы проект не использовал CMS. Как вариант, можно написать собственную CMS!
3. Изучение теории
Если нет времени на практику, то воспользуйтесь теорией. Ищите в интернете бестселлеры на тему программирования и читайте в свободное время. Почитайте про sqlite, redis, memcache, rabbitmq, docker и другие интересные технологии, которые помогают расширять стек.
4. Практические тренажеры
Если времени совсем нет, воспользуйтесь практическими тренажерами задач. Решайте по 1-2 задачи каждый день. Вот доступные ресурсы: codewars.com, app.justcoding.ru, leetcode.com.
После публикации первой части данного поста я получил множество комментариев в личку. Кто-то пишет, что не согласен с данным выводом и что при работе с CMS так же приходится программировать, но большинство со мной согласны и задаются вопрос, что же делать?
Как минимум не унывать и не вздумать бежать увольняться. Ниже я привожу какие шаги можно предпринять, чтобы продолжать работать с CMS системами и при этом оставаться в рынке.
1. Участие в стартапах
Сейчас тема стартапов очень горячая и существует огромное количество команд, где требуется программист. Некоторые в команду ищут более опытного, а некоторые готовы взять и с меньшим опытом в расчете на экономию. Участвуйте в таких проектах безвозмездно или с хорошим дисконтом, так вы будете набираться опыта и развивать свои навыки.
2. Личные проекты
Придумывайте собственные проекты и доводите их до конца. Они не обязательно должны быть уникальные или супер технологичные. Можно создавать аналоги проектов, которые вам понравились. В качестве дизайна можно использовать готовые бесплатные шаблоны или работать с CSS фреймворками типа Bootstrap. Главное, что бы проект не использовал CMS. Как вариант, можно написать собственную CMS!
3. Изучение теории
Если нет времени на практику, то воспользуйтесь теорией. Ищите в интернете бестселлеры на тему программирования и читайте в свободное время. Почитайте про sqlite, redis, memcache, rabbitmq, docker и другие интересные технологии, которые помогают расширять стек.
4. Практические тренажеры
Если времени совсем нет, воспользуйтесь практическими тренажерами задач. Решайте по 1-2 задачи каждый день. Вот доступные ресурсы: codewars.com, app.justcoding.ru, leetcode.com.
Сегодня полностью обновился тренажер для PHP-программистов JustCoding.
🔹 Мы обновили главный интерфейс рабочей области;
🔹 Добавили новые интересные задачи;
🔹 Подключили песочницу для эксперементов с PHP-кодом;
🔹 Добавили отдельную страницу для каждой задачи со списком решений от разных пользователей;
Тренажер JustCoding прекрасно подойдет если вы учитесь программировать на PHP, а если вы уже знакомы с PHP, то сможете прокачать свои навыки!
👉 https://app.justcoding.ru/
🔹 Мы обновили главный интерфейс рабочей области;
🔹 Добавили новые интересные задачи;
🔹 Подключили песочницу для эксперементов с PHP-кодом;
🔹 Добавили отдельную страницу для каждой задачи со списком решений от разных пользователей;
Тренажер JustCoding прекрасно подойдет если вы учитесь программировать на PHP, а если вы уже знакомы с PHP, то сможете прокачать свои навыки!
👉 https://app.justcoding.ru/
Ремесло программиста. Практика написания хорошего кода
Сегодня я расскажу об одной очень интересной книге. Я бы рекомендовал эту книгу к прочтению всем программистам без исключения. Она не про PHP или JavaScript, она про этикет и хорошие манеры оформления исходного кода ваших будущих программ.
В книге рассматриваются вопросы позиции и отношения программиста, но это не учебник психологии. В число обсуждаемых тем входят:
✅Представление исходного кода
✅Технологии защитного кодирования
✅Эффективная отладка программ
✅Особенности работы в группе
✅Управление исходным кодом
Если планируете работать в крупных IT компаниях на позиции программиста, если хотите связать свое будущее с любым видом программирования или вы уже работаете в команде, то вам обязательно стоит прочитать эту книгу. Без вариантов!
Сегодня я расскажу об одной очень интересной книге. Я бы рекомендовал эту книгу к прочтению всем программистам без исключения. Она не про PHP или JavaScript, она про этикет и хорошие манеры оформления исходного кода ваших будущих программ.
В книге рассматриваются вопросы позиции и отношения программиста, но это не учебник психологии. В число обсуждаемых тем входят:
✅Представление исходного кода
✅Технологии защитного кодирования
✅Эффективная отладка программ
✅Особенности работы в группе
✅Управление исходным кодом
Если планируете работать в крупных IT компаниях на позиции программиста, если хотите связать свое будущее с любым видом программирования или вы уже работаете в команде, то вам обязательно стоит прочитать эту книгу. Без вариантов!
Здоровье программиста 💔
Один мой друг, перед новым годом, решил себя побаловать и купил себе весьма удобное кресло для работы. Он программист. Это кресло марки «Aeron» средняя цена которого 150 000 рублей. Я не шучу, можете загуглить. Зачем же он это сделал?
Каждый программист после, примерно 25 лет, попадает в группу риска. Малоподвижная работа даёт о себе знать. Перечень недугов большой - от боли в сердце до проблем со спиной. Если вы связываете свое будущее с программированием, то вы должны быть осведомлены о возможных последствиях.
Всё дело в статике или, другими словами, в малоподвижном образе жизни. Мы постоянно сидим, уставившись в монитор и не двигаемся. И так на протяжении 8-12 часов — каждый день. После работы многие продолжают находиться за компьютером и играть в игры, либо смотреть сериалы / youtube. Всё это усугубляет и без того плачевное положение. Последствия, как правило, дают о себе знать после 25 лет. Боли в сердце, искривленный позвоночник, одышка при различных активностях, головокружение при резких подъёмах и многое другое.
Я и мои друзья не раз сталкивались с этой проблемой и решение всегда было одинаково — спорт или регулярные физические нагрузки. Даже дорогущее кресло не решит проблему. Любой фитнес тренер скажет вам, что как бы удобно вы не сидели, губит вас не то положение, в котором вы находитесь, хотя оно тоже имеет влияние, губит неподвижность. За 150 тыс. рублей можно было купить абонемент в фитнес клуб на ~5 лет.
Что можно предпринять, чтобы остановить или предупредить недуг?
🔹Самый лучший, на мой взгляд, вариант — это фитнес клуб. Ближайший фитнес в вашем районе подойдет. Посещайте его регулярно 2-3 раза в неделю.
🔹 Если ближайший фитнес клуб далеко от вас, то поищите просто бассейн. Плавание тоже отлично помогает держать свое тело в тонусе.
🔹 Регулярные пробежки утром или вечером. Начните бегать и ваше здоровье скажет вам спасибо! Главное не переусердствовать. Начинать надо с маленьких дистанций и постепенно наращивать их.
🔹 Если же рядом нет фитнеса или бассейна, а также возможности бегать из-за погодных условий или иных причин, то остается старый и проверенный метод — гантели и турник у вас дома. Регулярно занимайтесь дома и вы будете в форме!
🔹А еще, не сидите дома в выходные. Где бы вы не находились, всегда есть рядом места, где можно просто погулять и подышать свежим воздухом. Если же город маленький или проблемы с экологией, то вспомните, что вы можете работать удалённо и жить в любом городе Мира!
❗Я, к примеру, родился в Ташкентской области, а живу сейчас в Сочи 🌞
Один мой друг, перед новым годом, решил себя побаловать и купил себе весьма удобное кресло для работы. Он программист. Это кресло марки «Aeron» средняя цена которого 150 000 рублей. Я не шучу, можете загуглить. Зачем же он это сделал?
Каждый программист после, примерно 25 лет, попадает в группу риска. Малоподвижная работа даёт о себе знать. Перечень недугов большой - от боли в сердце до проблем со спиной. Если вы связываете свое будущее с программированием, то вы должны быть осведомлены о возможных последствиях.
Всё дело в статике или, другими словами, в малоподвижном образе жизни. Мы постоянно сидим, уставившись в монитор и не двигаемся. И так на протяжении 8-12 часов — каждый день. После работы многие продолжают находиться за компьютером и играть в игры, либо смотреть сериалы / youtube. Всё это усугубляет и без того плачевное положение. Последствия, как правило, дают о себе знать после 25 лет. Боли в сердце, искривленный позвоночник, одышка при различных активностях, головокружение при резких подъёмах и многое другое.
Я и мои друзья не раз сталкивались с этой проблемой и решение всегда было одинаково — спорт или регулярные физические нагрузки. Даже дорогущее кресло не решит проблему. Любой фитнес тренер скажет вам, что как бы удобно вы не сидели, губит вас не то положение, в котором вы находитесь, хотя оно тоже имеет влияние, губит неподвижность. За 150 тыс. рублей можно было купить абонемент в фитнес клуб на ~5 лет.
Что можно предпринять, чтобы остановить или предупредить недуг?
🔹Самый лучший, на мой взгляд, вариант — это фитнес клуб. Ближайший фитнес в вашем районе подойдет. Посещайте его регулярно 2-3 раза в неделю.
🔹 Если ближайший фитнес клуб далеко от вас, то поищите просто бассейн. Плавание тоже отлично помогает держать свое тело в тонусе.
🔹 Регулярные пробежки утром или вечером. Начните бегать и ваше здоровье скажет вам спасибо! Главное не переусердствовать. Начинать надо с маленьких дистанций и постепенно наращивать их.
🔹 Если же рядом нет фитнеса или бассейна, а также возможности бегать из-за погодных условий или иных причин, то остается старый и проверенный метод — гантели и турник у вас дома. Регулярно занимайтесь дома и вы будете в форме!
🔹А еще, не сидите дома в выходные. Где бы вы не находились, всегда есть рядом места, где можно просто погулять и подышать свежим воздухом. Если же город маленький или проблемы с экологией, то вспомните, что вы можете работать удалённо и жить в любом городе Мира!
❗Я, к примеру, родился в Ташкентской области, а живу сейчас в Сочи 🌞
🧨 Требования к кандидатам на позицию "PHP-Джуниор" по версии hh.ru
(было изучено более 50 вакансий)
Основное:
— Уверенное владение синтаксисом php 5.x и 7.x
— ООП и паттерны. Singleton, MVC, Facade и т.д.
— MySQL и сам SQL. Сложная выборка, джойны, подзапросы, отладка, оптимизация запросов, агрегирующие функции.
— Уверенное владение одним из фреймворков Yii2 / Symfony / Laravel
— Чтение чужого кода (Legacy Code).
А так же:
— Собственные проекты на github/bitbucket
— Уверенное владение GIT из командной строки
— Менеджер пакетов Composer
— Понимание html/css/js/jquery
— Различные протоколы: tcp/ip, http, dns, ssh, dns, sftp, RESTful API
— Сопутствующие сервисы и программы: Docker, RabbitMQ, Redis, Memcache, Sphinx или Elastic, x-Debug и другие.
— Модные слова: DRY, KISS, YAGNI
— Принципы SOLID
(было изучено более 50 вакансий)
Основное:
— Уверенное владение синтаксисом php 5.x и 7.x
— ООП и паттерны. Singleton, MVC, Facade и т.д.
— MySQL и сам SQL. Сложная выборка, джойны, подзапросы, отладка, оптимизация запросов, агрегирующие функции.
— Уверенное владение одним из фреймворков Yii2 / Symfony / Laravel
— Чтение чужого кода (Legacy Code).
А так же:
— Собственные проекты на github/bitbucket
— Уверенное владение GIT из командной строки
— Менеджер пакетов Composer
— Понимание html/css/js/jquery
— Различные протоколы: tcp/ip, http, dns, ssh, dns, sftp, RESTful API
— Сопутствующие сервисы и программы: Docker, RabbitMQ, Redis, Memcache, Sphinx или Elastic, x-Debug и другие.
— Модные слова: DRY, KISS, YAGNI
— Принципы SOLID
Планировщик задач — cron 🤔
Среди начинающих программистов мало кто знаком с Linux системами, а тех, кто слышал про cron и того меньше. Однако потребность в регулярном и автоматическом запуске определённых скриптов возникает крайне часто.
Вот далеко не полный перечень действий, которые обычно выполняет cron:
— Создание резервной копии сайта;
— Отправка e-mail с отчетом о работе сайта за сутки;
— Генерация обновлённой карты сайта;
— Генератор XML / YML файлов с товарами, к примеру, для Яндекс.Маркет’а;
— Регулярные уведомления или рассылки пользователям сайта;
— И многое другое;
Настройка задач Cron через панели управления хостингом.
Если вы пользуетесь обычным хостингом, то выполнить настройку задания можно через специальный web-интерфейс. Вам необходимо указать команду или скрипт для выполнения и обязательно указать периодичность.
Настройка задач Cron через ssh.
Если у вас не простой хостинг, а VPS/VDS или выделенный сервер то настройку планировщика придется делать средствами командной строки. Для работы с cron в Linux системах есть специальная утилита
Просмотр текущих заданий:
Редактирование заданий:
--
Продолжение в следующем посте
Среди начинающих программистов мало кто знаком с Linux системами, а тех, кто слышал про cron и того меньше. Однако потребность в регулярном и автоматическом запуске определённых скриптов возникает крайне часто.
Вот далеко не полный перечень действий, которые обычно выполняет cron:
— Создание резервной копии сайта;
— Отправка e-mail с отчетом о работе сайта за сутки;
— Генерация обновлённой карты сайта;
— Генератор XML / YML файлов с товарами, к примеру, для Яндекс.Маркет’а;
— Регулярные уведомления или рассылки пользователям сайта;
— И многое другое;
Настройка задач Cron через панели управления хостингом.
Если вы пользуетесь обычным хостингом, то выполнить настройку задания можно через специальный web-интерфейс. Вам необходимо указать команду или скрипт для выполнения и обязательно указать периодичность.
Настройка задач Cron через ssh.
Если у вас не простой хостинг, а VPS/VDS или выделенный сервер то настройку планировщика придется делать средствами командной строки. Для работы с cron в Linux системах есть специальная утилита
crontab. Она используется для просмотра текущих заданий, а также для добавления новых.
Просмотр текущих заданий:
crontab -l
Редактирование заданий:
crontab -e
--
Продолжение в следующем посте
Планировщик задач — cron. Продолжение 🤔
Для настройки задачи в cron нужно указать две вещи — команду и периодичность.
Формат следующий:
m — Минуты
h — Часы
dom — День месяца
mon — Месяц
dow — День недели
Описание параметров
минута
число от 0 до 59
час
число от 0 до 23
день месца
число от 1 до 31
месяц
число от 1 до 12 (можно 3 буквы из названия месяца: от jan до dec)
день недели
число от 0 до 6 (имейте ввиду, что 0 - это воскресение; можно также писать буквенное значение: от sun до sat)
--
Каждое из полей даты и времени может быть обозначено символом *, будет соответствовать любому возможному значению.
Помните, что список заданий для крона у каждого пользователя свой, однако root имеет возможность редактировать задачи любого пользователя.
Для настройки задачи в cron нужно указать две вещи — команду и периодичность.
Формат следующий:
m h dom mon dow command
m — Минуты
h — Часы
dom — День месяца
mon — Месяц
dow — День недели
Описание параметров
минута
число от 0 до 59
час
число от 0 до 23
день месца
число от 1 до 31
месяц
число от 1 до 12 (можно 3 буквы из названия месяца: от jan до dec)
день недели
число от 0 до 6 (имейте ввиду, что 0 - это воскресение; можно также писать буквенное значение: от sun до sat)
--
Каждое из полей даты и времени может быть обозначено символом *, будет соответствовать любому возможному значению.
Помните, что список заданий для крона у каждого пользователя свой, однако root имеет возможность редактировать задачи любого пользователя.
Несколько примеров из реальных проектов
Каждую 45-ю минуту каждого часа в период с 5 утра до 9 вечера, каждый день
Один раз в минуту
Каждый 30 минут в период с 5 утра до 9 вечера, каждый день
Каждый день в 23:45
Каждую 45-ю минуту каждого часа в период с 5 утра до 9 вечера, каждый день
45 5-21 * * * /usr/bin/php -f ~/local/cron/create_modification.php
Один раз в минуту
*/1 * * * * /usr/bin/php -f ~/bitrix/modules/main/tools/cron_events.php
Каждый 30 минут в период с 5 утра до 9 вечера, каждый день
*/30 5-21 * * * /usr/bin/php -f ~/local/cron/create_yml.php > ~/upload/yandex.yml
Каждый день в 23:45
45 23 * * * /local/cron/create_backup.sh
PHP7 в Подлиннике 📗
Если вы решили программировать на PHP и настроены очень серьёзно. Если вы планируете досконально изучить PHP в доль и поперёк то советую начать вот с этой книги.
Ссылка на скачивание 👇
https://justcoding.ru/pdf/php_7_podlinnik.pdf
Если вы решили программировать на PHP и настроены очень серьёзно. Если вы планируете досконально изучить PHP в доль и поперёк то советую начать вот с этой книги.
Ссылка на скачивание 👇
https://justcoding.ru/pdf/php_7_podlinnik.pdf