Всем привет! На выходных возможно не будет постов. Сегодня я праздную свадьбу, приехали родственники, друзья.
Сегодня крайний день всей этой суеты😅 дальше до нового года уже буду заниматься делами. Все Цели на год нужно выполнить, осталось пару пунктов🤞
Сегодня крайний день всей этой суеты😅 дальше до нового года уже буду заниматься делами. Все Цели на год нужно выполнить, осталось пару пунктов🤞
🔥14🎉4👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Помимо создания видео, буду дополнительно создавать БЕСПЛАТНЫЕ обучающие курсы на своей платформе. Здесь будет структурированная база знаний с конспектами, видео, тестами, заданиями, кодингом и проверкой знаний.
Отпуск у меня неделя. Буду отдыхать в замечательном отеле и создавать платформу в свободное от отдыха время😂
Дата запуска - неизвестно🙃 Но я полон идей и энтузиазма! Главное - начать, и я начал!
Постараюсь сделать обучение удобным, интересным, эффективным!
Отпуск у меня неделя. Буду отдыхать в замечательном отеле и создавать платформу в свободное от отдыха время😂
Дата запуска - неизвестно🙃 Но я полон идей и энтузиазма! Главное - начать, и я начал!
Постараюсь сделать обучение удобным, интересным, эффективным!
❤25👍5
Что такое DNS
Каждое устройство, подключенное к интернету, имеет уникальный IP-адрес, который используется для обмена данными с другими устройствами в сети. Однако запоминать числовые IP-адреса для всех сайтов было бы очень сложно для людей. DNS позволяет нам использовать запоминающиеся имена доменов (например, "google.com") вместо сложных наборов чисел.
Когда вы вводите имя домена в адресной строке браузера, ваш компьютер отправляет запрос на DNS-сервер. DNS-сервер смотрит в своей базе данных и находит соответствующий IP-адрес для этого имени домена. Затем он сообщает IP-адрес вашему компьютеру, и ваш браузер может подключиться к серверу, на котором находится запрашиваемый вами сайт.
Система DNS организована иерархически. В самом верху иерархии находятся корневые сервера, которые управляют базами данных, содержащими информацию о доменных зонах верхнего уровня (например, .com, .org, .net и т.д.). Если локальный DNS-сервер не знает, как перевести доменное имя в IP-адрес, он спрашивает об этом серверы выше уровнем.
#dns #domain #обучающийПост
Каждое устройство, подключенное к интернету, имеет уникальный IP-адрес, который используется для обмена данными с другими устройствами в сети. Однако запоминать числовые IP-адреса для всех сайтов было бы очень сложно для людей. DNS позволяет нам использовать запоминающиеся имена доменов (например, "google.com") вместо сложных наборов чисел.
Когда вы вводите имя домена в адресной строке браузера, ваш компьютер отправляет запрос на DNS-сервер. DNS-сервер смотрит в своей базе данных и находит соответствующий IP-адрес для этого имени домена. Затем он сообщает IP-адрес вашему компьютеру, и ваш браузер может подключиться к серверу, на котором находится запрашиваемый вами сайт.
Система DNS организована иерархически. В самом верху иерархии находятся корневые сервера, которые управляют базами данных, содержащими информацию о доменных зонах верхнего уровня (например, .com, .org, .net и т.д.). Если локальный DNS-сервер не знает, как перевести доменное имя в IP-адрес, он спрашивает об этом серверы выше уровнем.
#dns #domain #обучающийПост
👍5😱1
Временная мёртвая зона в ES6
Временная мёртвая зона в JavaScript (TDZ) — это период, когда переменная уже "создана", но еще не "готова к использованию". Это происходит, когда вы используете let или const для создания переменных.
Если вы попытаетесь использовать такую переменную до того, как ей будет присвоено значение, JavaScript выдаст ошибку, потому что в это время переменная находится в "временной мёртвой зоне".
Переменные, объявленные через var, не имеют TDZ. Они поднимаются (hoisted) и получают значение undefined в начале исполнения блока.
Временная мёртвая зона — это механизм, который помогает избежать ошибок, связанных с порядком инициализации переменных, и делает код более предсказуемым и безопасным.
#JavaScript #обучающийПост #tdz
Временная мёртвая зона в JavaScript (TDZ) — это период, когда переменная уже "создана", но еще не "готова к использованию". Это происходит, когда вы используете let или const для создания переменных.
Если вы попытаетесь использовать такую переменную до того, как ей будет присвоено значение, JavaScript выдаст ошибку, потому что в это время переменная находится в "временной мёртвой зоне".
Переменные, объявленные через var, не имеют TDZ. Они поднимаются (hoisted) и получают значение undefined в начале исполнения блока.
Временная мёртвая зона — это механизм, который помогает избежать ошибок, связанных с порядком инициализации переменных, и делает код более предсказуемым и безопасным.
#JavaScript #обучающийПост #tdz
👍5
Все больше компаний открывают различные стажировки и бесплатные курсы, после прохождения которых есть шанс попасть на работу в эту же компанию.
Мне кажется формат курсов, в которых вам даются материалы и вы по ним учитесь, себя исчерпал, платить за такие курсы деньги - точно не нужно!
Огромное количество бесплатных курсов, причём в разы лучше чем большинство платных, существует на просторах интернета.
Как пример Тинькоф. Они вообще джунов не берут с биржи труда. Только со своих стажировок и курсов. В целом такая тенденция мне нравится. Пожал заявку - прошёл экзамен - взяли.
Лучше 3 месяца подготовится к экзаменам и пройти на стажировку, а потом на работу, чем 6 месяцев надеяться хоть на одно приглашение на собес. Тут точно отсеваются ребята которые ничего не знают, приписали опыт, наврали на собесе.
Мне кажется формат курсов, в которых вам даются материалы и вы по ним учитесь, себя исчерпал, платить за такие курсы деньги - точно не нужно!
Огромное количество бесплатных курсов, причём в разы лучше чем большинство платных, существует на просторах интернета.
Как пример Тинькоф. Они вообще джунов не берут с биржи труда. Только со своих стажировок и курсов. В целом такая тенденция мне нравится. Пожал заявку - прошёл экзамен - взяли.
Лучше 3 месяца подготовится к экзаменам и пройти на стажировку, а потом на работу, чем 6 месяцев надеяться хоть на одно приглашение на собес. Тут точно отсеваются ребята которые ничего не знают, приписали опыт, наврали на собесе.
👍6
Код. Тайный язык информатики
Давно хотел прочитать эту книгу. Знаете, эта книга как преподаватель в универе, которого все любят и который умеет интересно и понятно доносить свой предмет. Которого все слушают в захлеб.
Здесь основы основ, читается легко, после прочтения темы идёт выброс эндорфинов, ты действительно получаешь удовольствие, ведь в голове звучит "Эврика! Вот что это значит! Теперь всё понятно!".
Все те темы из школы, университета по информатике, приобретают новый смысл! Всё становится более очевидным и понятным.
Как работает электричество? Что такое двоичная система? Как работает телеграф? Как появился первый компьютер?
Книга посвящена основам информатики, таким как кодирование информации, двоичная система, логические вентили, компьютерные архитектуры и языки программирования. Автор объясняет эти сложные понятия простым и понятным языком, используя аналогии и наглядные примеры.
Автор книги знакомит читателя с принципами работы электричества, электронных устройств и микросхем.
Также в книге рассматриваются математические основы информатики, такие как теория чисел, алгебра и логика.
Кроме того, книга рассказывает об истории развития информатики, начиная с первых механических устройств и заканчивая современными суперкомпьютерами.
Супер, ребята! Обязательно к прочтению!
#review #book
Давно хотел прочитать эту книгу. Знаете, эта книга как преподаватель в универе, которого все любят и который умеет интересно и понятно доносить свой предмет. Которого все слушают в захлеб.
Здесь основы основ, читается легко, после прочтения темы идёт выброс эндорфинов, ты действительно получаешь удовольствие, ведь в голове звучит "Эврика! Вот что это значит! Теперь всё понятно!".
Все те темы из школы, университета по информатике, приобретают новый смысл! Всё становится более очевидным и понятным.
Как работает электричество? Что такое двоичная система? Как работает телеграф? Как появился первый компьютер?
Книга посвящена основам информатики, таким как кодирование информации, двоичная система, логические вентили, компьютерные архитектуры и языки программирования. Автор объясняет эти сложные понятия простым и понятным языком, используя аналогии и наглядные примеры.
Автор книги знакомит читателя с принципами работы электричества, электронных устройств и микросхем.
Также в книге рассматриваются математические основы информатики, такие как теория чисел, алгебра и логика.
Кроме того, книга рассказывает об истории развития информатики, начиная с первых механических устройств и заканчивая современными суперкомпьютерами.
Супер, ребята! Обязательно к прочтению!
#review #book
👍7👌1
Мутабельность (mutability) и иммутабельность (immutability)
В JavaScript у нас есть примитивные типы и ссылочные типы. Примитивные типы включают числа, строки, boolean, null, undefined. И ссылочные типы включают объекты, массивы и функции.
Разница между этими типами заключается в том, что примитивные типы неизменяемы (immutable), а ссылочные типы изменяемы (mutable). Например, тип string неизменяем
Мутабельные типы данных - это те, чьё содержимое можно изменять после их создания. К мутабельным типам относятся объекты и массивы. Например, вы можете изменить значение свойства объекта или элемент массива после их инициализации.
Иммутабельные типы данных - это те, которые не могут быть изменены после создания. К ним относятся примитивы, такие как числа, строки, логические значения (boolean), null и undefined. Когда вы пытаетесь изменить иммутабельный тип, на самом деле создается новый экземпляр данных.
#обучающийПост #JavaScript #immutable #mutable
В JavaScript у нас есть примитивные типы и ссылочные типы. Примитивные типы включают числа, строки, boolean, null, undefined. И ссылочные типы включают объекты, массивы и функции.
Разница между этими типами заключается в том, что примитивные типы неизменяемы (immutable), а ссылочные типы изменяемы (mutable). Например, тип string неизменяем
Мутабельные типы данных - это те, чьё содержимое можно изменять после их создания. К мутабельным типам относятся объекты и массивы. Например, вы можете изменить значение свойства объекта или элемент массива после их инициализации.
const myArray = [1, 2, 3];
myArray[0] = 100; // Изменяем первый элемент массива
const myObject = { key: 'value' };
myObject.key = 'newValue'; // Изменяем значение свойства объекта
Иммутабельные типы данных - это те, которые не могут быть изменены после создания. К ним относятся примитивы, такие как числа, строки, логические значения (boolean), null и undefined. Когда вы пытаетесь изменить иммутабельный тип, на самом деле создается новый экземпляр данных.
let myNumber = 10;
myNumber = 20; // Создается новое число, а не изменяется существующее
let myString = "hello";
myString = "world"; // Создается новая строка
#обучающийПост #JavaScript #immutable #mutable
👍7
Это массив?
В JavaScript вы можете проверить, является ли объект массивом, используя несколько различных методов. Самый надежный из них — это статический метод
Другие способы:
1. Этот метод может быть ненадежным, если контекст выполнения содержит несколько глобальных сред, как, например, в случае с фреймами на веб-странице.
2. Это более надежный метод до появления Array.isArray, но сейчас он считается избыточным и менее читаемым. Так что лучше всего использовать Array.isArray()
#обучающийПост #JavaScript #array #isArray
В JavaScript вы можете проверить, является ли объект массивом, используя несколько различных методов. Самый надежный из них — это статический метод
Array.isArray()
const myArray = [1, 2, 3];
const notArray = {key: "value"};
Array.isArray(myArray)); // true
Array.isArray(notArray)); // falseДругие способы:
1. Этот метод может быть ненадежным, если контекст выполнения содержит несколько глобальных сред, как, например, в случае с фреймами на веб-странице.
constmyArray = [1, 2, 3];
myArray.constructor === Array; // true
2. Это более надежный метод до появления Array.isArray, но сейчас он считается избыточным и менее читаемым. Так что лучше всего использовать Array.isArray()
constmyArray = [1, 2, 3];
Object.prototype.toString.call(myArray) === '[object Array]'; // true
#обучающийПост #JavaScript #array #isArray
👍7
Как проверить, является ли число конечным?
В JavaScript для проверки того, является ли число конечным, можно использовать встроенную функцию
#обучающийПост #JavaScript #number
В JavaScript для проверки того, является ли число конечным, можно использовать встроенную функцию
Number.isFinite(). Эта функция возвращает true, если переданное ей значение является конечным числом, и false в противном случае.const num1 = 100;
console.log(Number.isFinite(num1));
// Выведет true, потому что 100 - это конечное число
const num2 = Infinity;
console.log(Number.isFinite(num2));
// Выведет false, потому что Infinity - это не конечное число
const num3 = NaN;
console.log(Number.isFinite(num3));
// Выведет false, потому что NaN - это не число
const num4 = "100";
console.log(Number.isFinite(num4));
// Выведет false, потому что "100" - это строка
#обучающийПост #JavaScript #number
👍6
Недавно посмотрел видео Димыча. Он очень понятно объясняет технические темы. Видео про архитектуру бэкенд приложений. В целом дает базовое понимание как все устроенно. Полезно знать даже если вы не бэкендер
https://www.youtube.com/live/B5ha6ips8hE?si=BEDUlQTBVlSZYG9l
https://www.youtube.com/live/B5ha6ips8hE?si=BEDUlQTBVlSZYG9l
🔥5
Блочная модель CSS
Это основной принцип компоновки веб-страниц, который определяет, как элементы веб-страницы размещаются и взаимодействуют друг с другом. Каждый элемент на веб-странице рассматривается как прямоугольный блок.
1. Содержимое (Content): Это основная часть блока, где располагается текст, изображения или другие элементы.
2. Внутренние отступы (Padding): Расстояние между содержимым и границей элемента. Padding увеличивает размер элемента, но остается частью элемента, что означает, что фоновый цвет или изображение элемента будет распространяться на область внутренних отступов.
3. Граница (Border): Обрамляет содержимое и внутренние отступы. Граница является важной частью визуального представления элемента и может быть стилизована различными способами.
4. Внешние отступы (Margin): Пространство вокруг элемента, отделяющее его от других элементов. Внешние отступы не влияют на размер самого элемента, но определяют расстояние между элементами.
Все части блока, кроме внешних отступов (margin), включаются в общую ширину и высоту элемента в CSS.
#обучающийПост #css #block
Это основной принцип компоновки веб-страниц, который определяет, как элементы веб-страницы размещаются и взаимодействуют друг с другом. Каждый элемент на веб-странице рассматривается как прямоугольный блок.
1. Содержимое (Content): Это основная часть блока, где располагается текст, изображения или другие элементы.
2. Внутренние отступы (Padding): Расстояние между содержимым и границей элемента. Padding увеличивает размер элемента, но остается частью элемента, что означает, что фоновый цвет или изображение элемента будет распространяться на область внутренних отступов.
3. Граница (Border): Обрамляет содержимое и внутренние отступы. Граница является важной частью визуального представления элемента и может быть стилизована различными способами.
4. Внешние отступы (Margin): Пространство вокруг элемента, отделяющее его от других элементов. Внешние отступы не влияют на размер самого элемента, но определяют расстояние между элементами.
Все части блока, кроме внешних отступов (margin), включаются в общую ширину и высоту элемента в CSS.
#обучающийПост #css #block
👍5
Изучаем CSS
На сегодняшний день существует огромное количество интересных ресурсов для изучения технологий, ЯП и инструментов.
Вот пример для изучения отдельных тем в CSS:
1. Flexbox
https://flexboxfroggy.com/#ru
2. Grid
https://cssgridgarden.com/
#css #flexbox #grid #study #free #game
На сегодняшний день существует огромное количество интересных ресурсов для изучения технологий, ЯП и инструментов.
Вот пример для изучения отдельных тем в CSS:
1. Flexbox
https://flexboxfroggy.com/#ru
2. Grid
https://cssgridgarden.com/
#css #flexbox #grid #study #free #game
👍5🔥5
Задачи по JavaScript
Это примеры задач на проверку базовых знаний ЯП. Решая задачи, даже самые легкие, вы набиваете руку и запоминаете различные механизмы ЯП.
1. Написать функцию, которая принимает два числа и возращает результат их умножения.
Основы арифметических операций, создание функций, возврат значений.
2. Написать функцию, которой передаем, имя, фамилия и возраст, и получаем строку "Привет Иван Петров с возрастом 17 лет".
Работа со строками, конкатенация строк, использование параметров в функциях.
3. Написать функцию, которая принимает пол человека ('M','F') в виде строки, результат функции возвращает строку "Ваш пол мужской" (или женский) или же "Ваш пол не опеределен".
Условные операторы, сравнение строк.
4. Сделайте функцию, которая принимает параметром число от 1 до 7, а возвращает день недели на русском языке.
Массивы, условные операторы, работа с индексами массивов.
5. Написать функцию, которая принимает строку (в этом тексте 3-5 предложений), верните каждое первое слово в каждом предложении, через запятую.
Работа со строками, методы split и join, циклы, массивы.
6. Написать функцию, которой передаем имя, и она возраващает приветствие в зависимости от времени суток (Доброе утро\день\вечер\ночи Иван).
Работа с датами и временем, условные операторы, динамическое формирование строк.
7. Создай новую функцию, в которую передаешь имя и возраст человека и получаешь сообщение (Иван имеет возраст 44 и он зрелый). А также вызови внутри своей функции, функцию из прошлого задания.
Комбинирование функций, вложенные вызовы функций, повторное использование кода, параметризация функций.
#JavaScript
Это примеры задач на проверку базовых знаний ЯП. Решая задачи, даже самые легкие, вы набиваете руку и запоминаете различные механизмы ЯП.
1. Написать функцию, которая принимает два числа и возращает результат их умножения.
Основы арифметических операций, создание функций, возврат значений.
2. Написать функцию, которой передаем, имя, фамилия и возраст, и получаем строку "Привет Иван Петров с возрастом 17 лет".
Работа со строками, конкатенация строк, использование параметров в функциях.
3. Написать функцию, которая принимает пол человека ('M','F') в виде строки, результат функции возвращает строку "Ваш пол мужской" (или женский) или же "Ваш пол не опеределен".
Условные операторы, сравнение строк.
4. Сделайте функцию, которая принимает параметром число от 1 до 7, а возвращает день недели на русском языке.
Массивы, условные операторы, работа с индексами массивов.
5. Написать функцию, которая принимает строку (в этом тексте 3-5 предложений), верните каждое первое слово в каждом предложении, через запятую.
Работа со строками, методы split и join, циклы, массивы.
6. Написать функцию, которой передаем имя, и она возраващает приветствие в зависимости от времени суток (Доброе утро\день\вечер\ночи Иван).
Работа с датами и временем, условные операторы, динамическое формирование строк.
7. Создай новую функцию, в которую передаешь имя и возраст человека и получаешь сообщение (Иван имеет возраст 44 и он зрелый). А также вызови внутри своей функции, функцию из прошлого задания.
Комбинирование функций, вложенные вызовы функций, повторное использование кода, параметризация функций.
#JavaScript
👍8✍1
Существует множество сайтов с огромным количеством задач, разбитых по группам, сложности. На этих сайтах можно решать задачи онлайн в удобном редакторе кода и сразу же проверять решение.
Вот два достаточно популярных:
https://www.codewars.com/
https://leetcode.com/
Мне больше нравится codewars 👍
Вот два достаточно популярных:
https://www.codewars.com/
https://leetcode.com/
Мне больше нравится codewars 👍
🔥6
Смысл легких задач - закрепление основ языка программирования. Ведь решая их мы используем различные методы строк, массивов, работаем с условными операторами и циклами.
Сложные задачи - развивают мышление, ведь нам приходится писать собственные алгоритмы, находить оптимальное решение, оптимизировать их. Учитесь писать более чистый и эффективный код.
Нет необходимости сразу бросаться на решение сложных задач. Важно строить свои знания и навыки постепенно. Не расстраивайтесь, если вы столкнулись с трудностями при решении сложных задач. Это нормально. Вместо того чтобы насиловать себя и пытаться решить что-то, что кажется непреодолимым, лучше вернитесь к более простым задачам. Это поможет закрепить основы и постепенно улучшить ваше понимание языка.
Сложные задачи - развивают мышление, ведь нам приходится писать собственные алгоритмы, находить оптимальное решение, оптимизировать их. Учитесь писать более чистый и эффективный код.
Нет необходимости сразу бросаться на решение сложных задач. Важно строить свои знания и навыки постепенно. Не расстраивайтесь, если вы столкнулись с трудностями при решении сложных задач. Это нормально. Вместо того чтобы насиловать себя и пытаться решить что-то, что кажется непреодолимым, лучше вернитесь к более простым задачам. Это поможет закрепить основы и постепенно улучшить ваше понимание языка.
"Программирование – это марафон, а не спринт, и каждый шаг вперед, даже самый маленький, ведет к прогрессу." - Конфуций
😁7