Я решил назвать эту главу Данные, потому что не смог придумать более интересное название. Мы здесь рассмотрим две темы – формат JSON и локальное хранилище.
Пора познакомится с тем, как хранить JS во внешних файлах и подключать их. Для хранения JavaScript лучше использовать отдельные файлы с расширением .js, хотя и не обязательно именно это. Расширение можно использовать абсолютно любое, просто если вы используете именно .js, то редакторы кода будут красиво подсвечивать код.
В прошлый раз мы научились работать с элементами HTML и следующим этапом будут события, с помощью которых можно писать код, который будет реагировать на определенные изменения или действия пользователя.
С основами языка мы познакомились и теперь пора переходить к более интересным вещам. JavaScript чаще всего используется с Web и именно благодаря ему этот язык получил популярность и теперь мы переходим к Web и для этого нам нужно познакомится с DOM.
Объекты – это удобно для хранения данных, в определённых случаях на много лучше, чем просто массивы. Но мы всё же не можем гарантировать, что два объекта будут созданы идентичным образом. Классы – это как чертёж, по которому строятся объекты. Можно даже сказать, что это шаблон.
Когда мы познакомились с массивами, то там мы пробовали описывать людей просто в видео последовательности данных, но это не очень надёжно. Подобные вещи на много лучше описывать с помощью объектов.
Мы уже можем написать простой код с какой-то логикой и циклами, но он будет идти последовательно, как одна большая простыня, если не познакомится с функциями, которые позволяют сделать код более красивым и эффективным.
Вы ходите в спорт зал? Если да, то скорей всего делали какие-то упражнение 10 раз и при этом несколько подходов. Я давно не был, но когда хожу, то делаю повторяющие упражнения и в программировании тоже приходиться писать код, который может выполняться несколько раз.
В программах регулярно нужно писать логику, когда действия нужно выполнять только при определенных условиях. Например, если на часах уже время больше 11 вечера, то пора спать – это классическая логика.
Прошлую часть видеоверсию моей работы по JS я закончил тем, что пообещал начать говорить про условия и циклы. Я обманул. Прежде чем говорить о циклах всё же нужно поговорить о массивах.
Среди первых программистов очень много было математиков и до сих пор очень часто можно услышать вопросы типа – на сколько хорошо нужно знать математику, чтобы быть программистом. Всё зависит от сферы деятельности, но очень часто достаточно только базового курса математики.
Я долго решался на этот шаг, но всё же решился рассказать про JavaScript или просто JS. В ИТ сфере бывает токсичность и из моего многолетнего опыта наиболее токсичными были Linux и JavaScript сообщества. Нет, это не значит, что там живут только токсики, просто на это есть несколько причин:
Bootstrap – это свободный набор инструментов для создания Web сайтов. Изначально он разрабатывался в компании Twitter, но со временем стал свободным и открытым. Со временем Bootstrap набрал огромную популярность, потому что с его помощью очень просто верстать сайты и при этом делать их адаптивными под любые размеры экранов устройств.
Возможно, что для такой простой темы эта работа будет слишком длиной, но я посмотрел сейчас в интернете и нашел книгу Фаулера на эту же тему аж на 455 страниц. Не думаю, что у меня получиться написать также много, но все равно, работа может оказаться достаточно большой, потому что я не буду торопиться.
Я как-то говорил про Dependency Inversion и в этот момент затронул тему Dependency Injection. Оба термина сокращаются до DI и они разные, хотя отчасти и связанные. Давайте разберёмся, что к чему.
Десять лет назад компании выбрали в качестве основы для своих приложений великолепный язык программирования C# и не менее великолепную платформу .NET. Компании написали много кода, развивались, и что теперь? Теперь Microsoft переходит на .NET 5, который основан на Core, а не на Framework. И не смотря на то, что C# все ещё жив и Framework поддерживается Microsoft, монолиты застряли в легаси и в случае с большими монолитами никто переписывать код не будет.
Не нужно делать что-то только потому, что это модно, потому что мода не всегда универсальное решение. Прежде чем что-то делать нужно посмотреть на преимущества и недостатки, и понять – дадут ли преимущества вам реальную выгоду, или недостатки добавят больше проблем, чем выгоды.
Windows — это графическая операционная система. В ней, конечно, существует возможность запустить командную строку, которая обладает скудными возможностями, хотя, благодаря PowerShell, командная строка может превратиться в мощный инструмент. И все же основной интерфейс ОС — графический, и большинство разрабатываемых программ тоже являются графическими. Каждый элемент управления в системе — это не что-то сверхъестественное, а просто изображение, нарисованное системой.
В 5-м издании я переписал все примеры в Библии C# под Web и теперь эта книга больше направлена на Web программирование. Но UWP все еще имеет свою ценность и популярность, поэтому информацию не хотелось убивать бесследно и я выложил ее на свой сайт. 40 книжных страниц теперь доступны вам в этом разделе.
В 5-м издании я переписал все примеры в Библии C# под Web и теперь эта книга больше направлена на Web программирование. Но UWP все еще имеет свою ценность и популярность, поэтому информацию не хотелось убивать бесследно и я выложил ее на свой сайт. 40 книжных страниц теперь доступны вам в этом разделе.
Я очень сильно разочаровался в камере GoPro 9 black. До этого я пользовался Action камерой от Sony, но она простая HD и сильно устарела. Я задумался о покупке новой Action камеры с 4к, чтобы она лучше давала картинку, в том числе и в вечернее время суток или рано утром.
На это размышление меня натолкнули последние события, хотя все началось уже очень давно и наверно стоит начать с начала.
Сегодня я решил поговорить о различных способах разместить свой сайт в интернете. В большинстве случаем для этого не нужен специальный сервер или какое-то промышленное оборудование, достаточно простого компьютера, который стоит у тебя дома, а если сайт написан на PHP или Python и его посещает не так много пользователей, то достаточно компьютера и 10-летней давности, если на него накатить Linux.
У меня не такой уж и супер большой опыт прохождения интервью, потому что не очень часто меняю работу и не очень люблю это делать, но попытаюсь рассказать тот опыт, который есть.
Мне иногда прилетают вопросы о том, как я так много успеваю, но в реальности я не считаю, что мне удаётся делать что-то сверхъестественное. Планирую ли я свой день? Нет. У меня нет планировщика, который бы говорил, что именно я должен сделать сегодня, если говорить о личных проектах.
У меня есть видео, в котором я рассказываю про мои самые провальные интервью, и это были самые глупые вопросы, которые можно было спросить. Эти вопросы совершенно ничего не могут сказать о том, какой я программист, зато мне говорили о том, с кем бы пришлось работать.
Из моего опыта могу сказать, что программисты чаще любят работать в одиночку и только рекрутерам или работодателям говорят, что они командные игроки. Только дело в том, что работать в команде действительно нужно уметь, а не говорить об этом. Но люди на словах говорят многое, а в реальности начинаешь общаться, а выясняется, что человек не программист, а критик или хейтер. А хейтеров в наше время очень много
У нас на работе процесс сборки и обновления занимает очень много и это реально серьезная проблема для такого большого сайта, потому что это может заканчиваться простоями для всех. Программисты долго сидят в ожидании окончания компиляции, клиенты не могут пользоваться сайтом во время обновлений, тестеры вынуждены по пол часа ждать, пока произойдет новый деплой.
Я удалил статью, потому что она устарела
Не стоит ожидать от этой истории чего-то сверхъестественного, но надеюсь, что она все же будет интересна.
Работая со старым унаследованным кодом, порой встречаются достаточно проблемные участки, которые есть желание переписать\исправить\переделать, но нет такой возможности. Этот код может быть с ошибками, которые не исправляются годами и с ними приходится мириться. Что делать с таким кодом?