#Где_то_за_кадром
Вот как-то так выглядела карта Интернета в далеком 2006 году. Составители ориентировались на адресное пространство IPv4, о котором можно почитать тут. Зеленым отмечены свободные блоки, но сейчас их уже нет - последний был занят в 2011.
О чем рубрика
Вот как-то так выглядела карта Интернета в далеком 2006 году. Составители ориентировались на адресное пространство IPv4, о котором можно почитать тут. Зеленым отмечены свободные блоки, но сейчас их уже нет - последний был занят в 2011.
О чем рубрика
#Do_you_understand
Айтишники достаточно креативные ребята, поэтому помимо луковой маршрутизации, они придумали еще и чесночную. И нет, я не шучу.
Чесноком называется сообщение, которое содержит в себе много других сообщений с инструкциями по доставке. Они еще называются зубчиками.
Между собой эти сообщения не связаны и набираются они случайным образом от разных отправителей в момент формирования "чеснока". Весь набор проходит единым целым по сети, после чего "зубчики" отваливаются и уходят своим получателям.
О чем рубрика
Айтишники достаточно креативные ребята, поэтому помимо луковой маршрутизации, они придумали еще и чесночную. И нет, я не шучу.
Чесноком называется сообщение, которое содержит в себе много других сообщений с инструкциями по доставке. Они еще называются зубчиками.
Между собой эти сообщения не связаны и набираются они случайным образом от разных отправителей в момент формирования "чеснока". Весь набор проходит единым целым по сети, после чего "зубчики" отваливаются и уходят своим получателям.
О чем рубрика
#Do_you_understand
Итак, вчера на канале вышел пост с провокационным вопросом про автомобиль и коз. Если ты не в курсе, о чем речь, сначала тыкни сюда.
А теперь я расскажу, как все обстоит на самом деле. Давай немного изменим изначальные условия - пусть будет тысяча дверей, 999 рогатых и 1 BMW. Ты выбираешь любую дверь, затем ведущий открывает 998 других дверей, за которыми находятся козы, и предлагает тебе поменять свой выбор.
Если изначально дверь была правильная (вероятность чего 1/1000), ты проиграешь. Если дверь была изначально неправильная (вероятность чего 999/1000), то ты выиграешь. Поэтому правильный ответ - сказать "да".
P.S. При первоначальных условиях это работает так же, но чуть менее наглядно. Загадка носит название "парадокс Монти Холла", так как ее решение противоречит интуиции и на первый взгляд выглядит абсурдно.
О чем рубрика
Итак, вчера на канале вышел пост с провокационным вопросом про автомобиль и коз. Если ты не в курсе, о чем речь, сначала тыкни сюда.
А теперь я расскажу, как все обстоит на самом деле. Давай немного изменим изначальные условия - пусть будет тысяча дверей, 999 рогатых и 1 BMW. Ты выбираешь любую дверь, затем ведущий открывает 998 других дверей, за которыми находятся козы, и предлагает тебе поменять свой выбор.
Если изначально дверь была правильная (вероятность чего 1/1000), ты проиграешь. Если дверь была изначально неправильная (вероятность чего 999/1000), то ты выиграешь. Поэтому правильный ответ - сказать "да".
P.S. При первоначальных условиях это работает так же, но чуть менее наглядно. Загадка носит название "парадокс Монти Холла", так как ее решение противоречит интуиции и на первый взгляд выглядит абсурдно.
О чем рубрика
#Будни_IT
Что еще обсуждать в пятницу вечером, как не вино? Пик Балмера - забавная теория, согласно которой при определенной концентрации алкоголя в крови человек начинает лучше программировать.
О чем рубрика
Что еще обсуждать в пятницу вечером, как не вино? Пик Балмера - забавная теория, согласно которой при определенной концентрации алкоголя в крови человек начинает лучше программировать.
О чем рубрика
#Будь_как_все
Правило наименьшего удивления гласит, что если назначение элемента непонятно, то его поведение должно быть наиболее ожидаемым.
Скажем, если ты видишь красную кнопку с крестиком, то с большей долей вероятности подумаешь, что при нажатии на нее программа закроется. Следовательно, со стороны разработчика крайне недальновидно вешать на эту кнопку, например, включение камеры.
О чем рубрика
Правило наименьшего удивления гласит, что если назначение элемента непонятно, то его поведение должно быть наиболее ожидаемым.
Скажем, если ты видишь красную кнопку с крестиком, то с большей долей вероятности подумаешь, что при нажатии на нее программа закроется. Следовательно, со стороны разработчика крайне недальновидно вешать на эту кнопку, например, включение камеры.
О чем рубрика
#Do_you_understand
Компания Гиннесс известна не только пивом, но и тем, что в конце 19-столетия в ней работал Уильям Госсет.
Этот скромный трудяга применял знания статистики для выведения самого урожайного ячменя на полях, а в результате вывел распределение Стьюдента. Полное определение я приводить не буду, так как даже в коротком варианте оно занимает целый абзац и состоит из крайне специфичных терминов, но скажу, что оно занимает крайне важное место в математической статистике.
О чем рубрика
Компания Гиннесс известна не только пивом, но и тем, что в конце 19-столетия в ней работал Уильям Госсет.
Этот скромный трудяга применял знания статистики для выведения самого урожайного ячменя на полях, а в результате вывел распределение Стьюдента. Полное определение я приводить не буду, так как даже в коротком варианте оно занимает целый абзац и состоит из крайне специфичных терминов, но скажу, что оно занимает крайне важное место в математической статистике.
О чем рубрика
#Do_you_understand
Двумерный массив - это как коробка конфет, только полезнее.
Помнишь, я рассказывала про одномерный массив? Если кратко, то это такой классный способ хранить и обрабатывать данные. Так вот, одно измерение хорошо, а два лучше, поэтому разработчики придумали двумерные массивы.
Представь среднестатистическую коробку конфет. Она, наверняка, состоит из отдельных ячеек, т.е. ты можешь попросить передать тебе пятую конфету справа в третьем ряду сверху. Примерно также происходит работа с двумерным массивом - каждый объект лежит в своей ячейке с уникальным адресом из номеров строки и столбца.
О чем рубрика
Двумерный массив - это как коробка конфет, только полезнее.
Помнишь, я рассказывала про одномерный массив? Если кратко, то это такой классный способ хранить и обрабатывать данные. Так вот, одно измерение хорошо, а два лучше, поэтому разработчики придумали двумерные массивы.
Представь среднестатистическую коробку конфет. Она, наверняка, состоит из отдельных ячеек, т.е. ты можешь попросить передать тебе пятую конфету справа в третьем ряду сверху. Примерно также происходит работа с двумерным массивом - каждый объект лежит в своей ячейке с уникальным адресом из номеров строки и столбца.
О чем рубрика
#Будь_как_все
Бритва Оккама - это важный методологический принцип, который гласит: "не стоит множить сущее без необходимости". Или "не усложняй".
О чем рубрика
Бритва Оккама - это важный методологический принцип, который гласит: "не стоит множить сущее без необходимости". Или "не усложняй".
О чем рубрика
Media is too big
VIEW IN TELEGRAM
#Do_you_understand
Думаешь, поле - это цветы, рожь, русские поэты? Неа. Поле - это множество, для которого есть нулевой элемент, единичный элемент, операция сложения, умножения и взятия противоположного значения.
К примеру, возьмем обычные целые числа. Те самые, которые все усердно учили в течение как минимум 9 классов. С операциями сложения и умножения этих чисел я думаю все понятно. Нулевой элемент само собой 0, а единичный - 1. Операция взятия противоположного значения - это найти число, при сложении с которым получится 0. Ну, скажем, 5 и -5.
А теперь вопрос: зачем это нужно? Как минимум, вся криптография построена на теории полей.
О чем рубрика
Думаешь, поле - это цветы, рожь, русские поэты? Неа. Поле - это множество, для которого есть нулевой элемент, единичный элемент, операция сложения, умножения и взятия противоположного значения.
К примеру, возьмем обычные целые числа. Те самые, которые все усердно учили в течение как минимум 9 классов. С операциями сложения и умножения этих чисел я думаю все понятно. Нулевой элемент само собой 0, а единичный - 1. Операция взятия противоположного значения - это найти число, при сложении с которым получится 0. Ну, скажем, 5 и -5.
А теперь вопрос: зачем это нужно? Как минимум, вся криптография построена на теории полей.
О чем рубрика
#Вавилон_нашей_эры
Есть ли алфавит у языков программирования?
Смотри, здесь примерно все как у "нормальных" языков типа русского, английского и прочих. База - это алфавит. Только в IT он может любым: из букв, из цифр, из специальных символов, из чего угодно. Единственное, в нем не может быть повторений. Скажем, две буквы "а" было бы странно.
Обычно алфавит конечный, однако особо изощренные разработчики-теоретики умудряются обращаться и с языками, где алфавит состоит из бесконечного числа символов. Как - лучше не спрашивай. Да, и порядок символов здесь не имеет никакого смысла.
О чем рубрика?
Есть ли алфавит у языков программирования?
Смотри, здесь примерно все как у "нормальных" языков типа русского, английского и прочих. База - это алфавит. Только в IT он может любым: из букв, из цифр, из специальных символов, из чего угодно. Единственное, в нем не может быть повторений. Скажем, две буквы "а" было бы странно.
Обычно алфавит конечный, однако особо изощренные разработчики-теоретики умудряются обращаться и с языками, где алфавит состоит из бесконечного числа символов. Как - лучше не спрашивай. Да, и порядок символов здесь не имеет никакого смысла.
О чем рубрика?
#Do_you_understand
Некоторые языки программирования позволяют разработчику в явном виде указать участок памяти, куда он хочет положить данные. Проблема в том, что не все умеют правильно работать с этой возможностью. В результате программа пытается получить данные оттуда, где их нет и никогда не было. Либо этот участок памяти защищен от чтения. Так и появляется ошибка сегментации или сегфолт.
О чем рубрика
Некоторые языки программирования позволяют разработчику в явном виде указать участок памяти, куда он хочет положить данные. Проблема в том, что не все умеют правильно работать с этой возможностью. В результате программа пытается получить данные оттуда, где их нет и никогда не было. Либо этот участок памяти защищен от чтения. Так и появляется ошибка сегментации или сегфолт.
О чем рубрика
#Будни_IT
Осторожно! Особо впечатлительным читать дальше не рекомендуется.
Представь, что ты летишь на самолете над океаном. Умиротворяющий пейзаж, красивая бортпроводница, бесплатное шампанское. Все круто, но проблема в том, что ты знаешь как конструировался этот самолет. И ты знаешь, что шасси обмотаны изолентой, а теплопровод держит вешалка, которая старше чем Советский Союз.
К чему это я? В моем опыте разработчика были очень крупные проекты известных банков, страховых компаний с мировым брендом, наконец национальных проектов, оборот которых исчисляется миллиардами. И все эти приложения с громким именем и красивым дизайном скрывают столько уязвимостей, ошибок, устаревших решений, что я откровенно боюсь ими пользоваться.
Проблема в том, что практически любой IT продукт такой - даже телеграм, увы, не идеален.
О чем рубрика
Осторожно! Особо впечатлительным читать дальше не рекомендуется.
Представь, что ты летишь на самолете над океаном. Умиротворяющий пейзаж, красивая бортпроводница, бесплатное шампанское. Все круто, но проблема в том, что ты знаешь как конструировался этот самолет. И ты знаешь, что шасси обмотаны изолентой, а теплопровод держит вешалка, которая старше чем Советский Союз.
К чему это я? В моем опыте разработчика были очень крупные проекты известных банков, страховых компаний с мировым брендом, наконец национальных проектов, оборот которых исчисляется миллиардами. И все эти приложения с громким именем и красивым дизайном скрывают столько уязвимостей, ошибок, устаревших решений, что я откровенно боюсь ими пользоваться.
Проблема в том, что практически любой IT продукт такой - даже телеграм, увы, не идеален.
О чем рубрика
#Где_то_за_кадром
Уравнение Дрейка - это формула для нахождения числа внеземных цивилизаций, с которыми у человечества есть шанс на контакт. И нет, это не очередной бред фанатика, который верит в инопланетян, а работа известного астронома и астрофизика, представленная на научной конференции в середине прошлого столетия.
Формула состоит из 7 параметров, таких как количество звезд, вероятность зарождения жизни, потенциальное время жизни цивилизаций и т.д. Но на мой взгляд в ней не хватает еще одного важного параметра - вероятности того, что другие цивилизации вообще выберут радиосигнал в качестве способа общения.
О чем рубрика
Уравнение Дрейка - это формула для нахождения числа внеземных цивилизаций, с которыми у человечества есть шанс на контакт. И нет, это не очередной бред фанатика, который верит в инопланетян, а работа известного астронома и астрофизика, представленная на научной конференции в середине прошлого столетия.
Формула состоит из 7 параметров, таких как количество звезд, вероятность зарождения жизни, потенциальное время жизни цивилизаций и т.д. Но на мой взгляд в ней не хватает еще одного важного параметра - вероятности того, что другие цивилизации вообще выберут радиосигнал в качестве способа общения.
О чем рубрика
#Будь_как_все
Представь, что тебе надо повысить безопасность перекрестка. Типичная проблема в общем-то для российских дорог, ну да ладно. Как это сделать? Можно поставить светофор, а можно снести перекресток и выстроить автомобильную развязку с подземными переходами.
В разработке первый вариант характерен для паттернов-идиом. Это такие шаблоны решения, которые подойдут только для конкретной ситуации и конкретного языка. Универсальными назвать их сложно, зато легко реализовать.
А вот второй вариант как раз описывает архитектурные паттерны. Их используют для проектирования всей системы, они требуют огромного количества ресурсов, но взамен предлагают универсальные решения и обеспечивают максимальную эффективность.
О чем рубрика
Представь, что тебе надо повысить безопасность перекрестка. Типичная проблема в общем-то для российских дорог, ну да ладно. Как это сделать? Можно поставить светофор, а можно снести перекресток и выстроить автомобильную развязку с подземными переходами.
В разработке первый вариант характерен для паттернов-идиом. Это такие шаблоны решения, которые подойдут только для конкретной ситуации и конкретного языка. Универсальными назвать их сложно, зато легко реализовать.
А вот второй вариант как раз описывает архитектурные паттерны. Их используют для проектирования всей системы, они требуют огромного количества ресурсов, но взамен предлагают универсальные решения и обеспечивают максимальную эффективность.
О чем рубрика
#Do_you_understand
Брейкпоинт или точка останова - это очень крутая функциональность для поиска ошибок в приложении. Работает примерно так: разработчик отмечает конкретную строчку кода и когда программа доходит до этого места, выполнение приостанавливается. В редакторе отображаются все текущие значения переменных, а программист знакомится с богатым внутренним миром своего творения. Самое главное - не забыть потом продолжить выполнение.
О чем рубрика
Брейкпоинт или точка останова - это очень крутая функциональность для поиска ошибок в приложении. Работает примерно так: разработчик отмечает конкретную строчку кода и когда программа доходит до этого места, выполнение приостанавливается. В редакторе отображаются все текущие значения переменных, а программист знакомится с богатым внутренним миром своего творения. Самое главное - не забыть потом продолжить выполнение.
О чем рубрика
#Будь_как_все
Предположим, что у тебя на выходные грандиозные планы на свежем воздухе и прогулки под дождем в них не входят. Нужно посмотреть прогноз погоды, но это, как известно, вещь не слишком точная. Что если два сайта выдали абсолютно разную информацию. Как ее обобщить, когда отменять планы очень не хочется? Применить логическое или.
P.S. Это одна из базовых операций алгебры логики, еще про одну можно почитать тут.
О чем рубрика
Предположим, что у тебя на выходные грандиозные планы на свежем воздухе и прогулки под дождем в них не входят. Нужно посмотреть прогноз погоды, но это, как известно, вещь не слишком точная. Что если два сайта выдали абсолютно разную информацию. Как ее обобщить, когда отменять планы очень не хочется? Применить логическое или.
P.S. Это одна из базовых операций алгебры логики, еще про одну можно почитать тут.
О чем рубрика
#Будни_IT
Не так сложно написать программу, как впервые развернуть ее и заставить делать хоть что-то.
О чем рубрика
Не так сложно написать программу, как впервые развернуть ее и заставить делать хоть что-то.
О чем рубрика
#Респонс_на_реквест
Помните Джарвиса из фильма «Железный человек»? Один из подписчиков меня недавно спросил, существуют ли подобные системы в реальности. И если нет, возможно ли их создать в принципе?
Ответить сразу я не смогла хотя бы по той простой причине, что не смотрела этот фильм. Пришлось пообещать, что напишу статью на канал и гуглить. Для тех, кто тоже не следит за новинками Марвел краткое пояснение: Джарвис – это искусственный интеллект, который управлял охраной дома и костюмом главного героя. Кстати, расшифровывается имя как «Just A Rather Very Intelligent Schedule» или в патриотичном варианте «Просто довольно очень умный планировщик».
Итак, в статье мы поговорим об искусственном интеллекте, голосовых помощниках, ну и Джарвисе, конечно.
О чем рубрика
Помните Джарвиса из фильма «Железный человек»? Один из подписчиков меня недавно спросил, существуют ли подобные системы в реальности. И если нет, возможно ли их создать в принципе?
Ответить сразу я не смогла хотя бы по той простой причине, что не смотрела этот фильм. Пришлось пообещать, что напишу статью на канал и гуглить. Для тех, кто тоже не следит за новинками Марвел краткое пояснение: Джарвис – это искусственный интеллект, который управлял охраной дома и костюмом главного героя. Кстати, расшифровывается имя как «Just A Rather Very Intelligent Schedule» или в патриотичном варианте «Просто довольно очень умный планировщик».
Итак, в статье мы поговорим об искусственном интеллекте, голосовых помощниках, ну и Джарвисе, конечно.
О чем рубрика
Telegraph
Джарвис в реальности или как устроен голосовой помощник
Начну с ответа на вопрос – существует ли Джарвис в реальности? Да, существует. Правда, как это всегда бывает, сильно отличается от своего экранного воплощения. В жизни Джарвис – это один из компонентов голосового помощника Siri. Так что счастливые обладатели…
#Будь_как_все
Давай поговорим о стандартах? В далеком 1988 году лучшие умы того времени приняли ISO 8601, который должен был сделать будущее Интернета безоблачным. И избавить программистов от утомительной работы. Этот документ регламентировал единый формат, в котором должны быть представлены все даты в мировой сети.
Теперь посмотри вокруг - все пишут, как хотят, в каком угодном порядке. А программистам потом разбирать, что вы там имели ввиду. Серьезно, библиотеки, которые преобразуют дату в адекватное представление, просто огромные. По крайней мере для такой, казалось бы, небольшой функциональности. Собственно, это все, что нужно знать о мировых стандартах.
О чем рубрика
Давай поговорим о стандартах? В далеком 1988 году лучшие умы того времени приняли ISO 8601, который должен был сделать будущее Интернета безоблачным. И избавить программистов от утомительной работы. Этот документ регламентировал единый формат, в котором должны быть представлены все даты в мировой сети.
Теперь посмотри вокруг - все пишут, как хотят, в каком угодном порядке. А программистам потом разбирать, что вы там имели ввиду. Серьезно, библиотеки, которые преобразуют дату в адекватное представление, просто огромные. По крайней мере для такой, казалось бы, небольшой функциональности. Собственно, это все, что нужно знать о мировых стандартах.
О чем рубрика
#Do_you_understand
Пессимисты говорят, что не меняются люди. Программисты - что не меняются данные. Точнее не только лишь все.
Immutable structure - это неизменяемая структура. Или, в адаптации на русский язык, ее называют просто иммутабл. В чем суть? Некоторые объекты не меняются после своего создания. Вообще никогда. Т.е. они возникли, приобрели какой-то набор характеристик и в таком виде существуют до конца программы. В разработке такие структуры используются для многопоточных приложений, о которых я расскажу чуть попозже. Пока что запомни, что изменить иммутабл объект снаружи или насильно невозможно (как и некоторых людей, кстати).
О чем рубрика
Пессимисты говорят, что не меняются люди. Программисты - что не меняются данные. Точнее не только лишь все.
Immutable structure - это неизменяемая структура. Или, в адаптации на русский язык, ее называют просто иммутабл. В чем суть? Некоторые объекты не меняются после своего создания. Вообще никогда. Т.е. они возникли, приобрели какой-то набор характеристик и в таком виде существуют до конца программы. В разработке такие структуры используются для многопоточных приложений, о которых я расскажу чуть попозже. Пока что запомни, что изменить иммутабл объект снаружи или насильно невозможно (как и некоторых людей, кстати).
О чем рубрика
#Вавилон_нашей_эры
Псс... Поговорим о латентной типизации? Иногда ее еще называют утиной. В общем, одно название лучше другого.
Итак, что это такое? Это когда тип объекта определяют через его свойства. Ну, например, у тебя есть то, не знаю что, которое пришло оттуда, не знаю откуда. И тебе надо понять что это вообще, а главное как с ним работать. Отталкиваемся от того, что объект умеет делать. Ага, это нечто можно умножить и прибавить - значит это число. Или, это нечто можно разбить на буквы - значит это строка. И т.д.
А каким боком тут утки? Есть так называемый "duck test", который звучит следующим образом: если это выглядит как утка, плавает как утка и крякает как утка, то это, вероятно, и есть утка.
О чем рубрика?
Псс... Поговорим о латентной типизации? Иногда ее еще называют утиной. В общем, одно название лучше другого.
Итак, что это такое? Это когда тип объекта определяют через его свойства. Ну, например, у тебя есть то, не знаю что, которое пришло оттуда, не знаю откуда. И тебе надо понять что это вообще, а главное как с ним работать. Отталкиваемся от того, что объект умеет делать. Ага, это нечто можно умножить и прибавить - значит это число. Или, это нечто можно разбить на буквы - значит это строка. И т.д.
А каким боком тут утки? Есть так называемый "duck test", который звучит следующим образом: если это выглядит как утка, плавает как утка и крякает как утка, то это, вероятно, и есть утка.
О чем рубрика?