Как стать автором
Обновить
24
0
Berezhnev Vladimir @Tell997

Странный фуллстек-тинейджер

Отправить сообщение

Светим лазером сквозь стену, чтобы поймать темную материю

Время на прочтение12 мин
Количество просмотров21K

Я беру лазер и свечу им на толстую непрозрачную стену. Фотодиод с другой стороны вдруг начинает принимать фотоны. “Чтооооааа?! Что за колдунство?!“ - спросите вы. "Наука!" - отвечу вам я. “Но зачем?” - спросите вы. “Потому что можем!” - скажу я.

Звучит фантастично, но именно такой эксперимент (light-through-the-wall) под названием ALPS делают в Гамбурге. Цель его - поймать аксионы, частицы темной материи. В этом посте я напомню, почему темную материю надо ловить, какой эксперимент строят в Гамбурге и какие сложности приходится преодолевать.

Читать далее
Всего голосов 116: ↑114 и ↓2+145
Комментарии142

FizzBuzz по-сениорски

Время на прочтение7 мин
Количество просмотров117K

- Добрый день, я на интервью на позицию старшего разработчика.

- Здравствуйте, давайте начнем с небольшого теста, пока я ваше CV смотрю. Напишите программу, которая выводила бы числа от 1 до, скажем, миллиарда, притом если число кратно трем, то вместо числа выводится Fizz, если кратно пяти, то Buzz, а если и трем, и пяти, то FizzBuzz.

Серьезно, FizzBuzz? Задачка для начальной школы, на сениорскую позицию? Ну ладно.

Читать далее
Всего голосов 295: ↑288 и ↓7+369
Комментарии306

Краткая история физической теории великого объединения

Время на прочтение17 мин
Количество просмотров19K
Лоуренс Краус – физик-теоретик, космолог, директор проекта Origins, основатель Школы исследования Земли и космоса в Аризонском государственном университете. Автор таких бестселлеров, как «Вселенная из ничего» [A Universe from Nothing] и «Физика Звёздного пути» [The Physics of Star Trek]. Перевод отрывка из его будущей книги «Величайшая история из рассказанных пока что: зачем мы здесь?» [The Greatest Story Ever Told—So Far: Why Are We Here?].

image

Специалистам по физике частиц до открытия частицы Хиггса в 2012 году снились два типа кошмаров. Первый – что на Большом адронном коллайдере (БАК) ничего не найдут. В таком случае это был бы последний крупный ускоритель, построенный для зондирования фундаментального устройства мироздания. Второй – что на БАК найдут частицу Хиггса, предсказанную физиком-теоретиком Питером Хиггсом в 1964 году… и больше ничего.

Каждое открытие одного уровня реальности показывает нам следующие уровни. Поэтому каждое важное открытие в науке обычно оставляет нам больше вопросов, чем ответов. Но зато оно обычно даёт нам хотя бы схему дальнейшего пути, помогая нам искать ответы на новые вопросы. Успешное открытие частицы Хиггса и подтверждение существования в пространстве невидимого фона хиггсовского поля (в квантовом мире каждая частица, такая, как частица Хиггса, ассоциируется с полем), стало весомым подтверждением смелых научных открытий XX столетия.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии7

Реальная инженерная трансформация: от команд и метрик до культуры, конвейеров и инфраструктуры

Уровень сложностиСложный
Время на прочтение25 мин
Количество просмотров5K

Привет, Хабр! На этапе выбора темы статьи было много идей: написать про DevOps или про платформы, а может про продуктовые команды или про практики SRE? Но пришли к выводу, что нет ничего интереснее, чем реальная увлекательная история трансформации. Мы, команды платформы разработки MOEX и экосистемы Финуслуги.ру, в лице Карапета Манасяна, Александра Барыкова, Антона Квашёнкина и Юлии Лутковской, расскажем практически про весь путь изменений и про их подводные камни. Важно отметить, что в статье затрагивается довольно много тем, местами даже будут блоки со скриптами ?. Поехалиии!

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии2

Сколько стоит жизнь в Канаде. Расходы за год

Время на прочтение10 мин
Количество просмотров58K

За 2022 год в Торонто мы потратили более 100 тысяч канадских долларов (или более 80 000 USD). Далее все суммы в статье указаны в канадских долларах (CAD), чтобы перевести их в американские - достаточно просто умножить число на 0.8. Курс этих двух валют достаточно стабилен и на протяжении многих лет меняется незначительно в ту или иную сторону.

Читать далее
Всего голосов 102: ↑99 и ↓3+125
Комментарии790

План алгоритмического собеседования: как впечатлить интервьюера и получить работу мечты

Время на прочтение13 мин
Количество просмотров17K

При поиске работы программистам часто приходится сталкиваться с алгоритмическим интервью. По моему опыту общения с людьми из индустрии ИТ я заметил, что многие считают, что алгоритмическая секция бинарна: либо алгоритм написан корректно за отведенное время, либо нет. На самом деле всё немного сложнее и во время интервью собеседующий обращает внимание на многие другие аспекты.

Я за свою карьеру имел возможность быть по обе стороны баррикад. С одной стороны я провёл сотни алгоритмических интервью в компаниях, где работал. С другой стороны сам успешно проходил такие интервью и получал оффер в Google, Facebook, Amazon, Uber, Yandex и Mail.Ru.

В этой статье я хочу поделиться с вами как можно структурировать эту секцию, расскажу на что стоит обратить внимание на каждом шаге, как получить дополнительные очки в глазах интервьюера и в целом просто не провалить всё собеседование на ровном месте.

Читать далее
Всего голосов 26: ↑24 и ↓2+26
Комментарии17

Почему массивы начинаются с нуля

Время на прочтение7 мин
Количество просмотров59K
Самое очевидное объяснение: индекс — это смещение относительно начала массива. Так элементы массива легче адресовать в памяти.

Проверим это на C.

#include <stdio.h>
int main()
{
    int data[3] = {1, 2, 3};
    int i = 0;
    printf("Array address: %p\n", data);
    do {
        printf("Array[%u] = %p\n", i, (void *)(&data[i]));
        i++;
    } while(i < 3);
}

Получим результат:

Array address: 0x7ffd7c514a6c
Array[0] = 0x7ffd7c514a6c
Array[1] = 0x7ffd7c514a70
Array[2] = 0x7ffd7c514a74


Как первый (нулевой) элемент, так и сам массив находятся по одному и тому же адресу, поскольку 0-й элемент удалён на 0 элементов от начала. Эта связь между указателями и массивами в C настолько тесная, что их даже можно рассматривать вместе.

Однако это ответ на вопрос «зачем», а не «почему». Нумеровать массивы с нуля стали не сразу. Удивительно, но развитие такого простого вопроса не умещается в предложении или абзаце.
Читать дальше →
Всего голосов 93: ↑92 и ↓1+120
Комментарии204

PostgreSQL для звездочетов

Время на прочтение5 мин
Количество просмотров5.3K

Свободная СУБД PostgreSQL известна не только как высокопроизводительное решение для выполнения запросов и хранения данных в реляционной модели, но также своим механизмом расширения, который позволяет создавать дополнительные функции, типы данных, индексы и иные структуры данных для разных предметных областей. В этой статье мы рассмотрим некоторые подходы к сохранению и обработки данных астрономических каталогов (альманахов) с использованием возможностей PostgreSQL.

Читать далее
Всего голосов 7: ↑6 и ↓1+6
Комментарии2

Дженерики в Go: когда нужны и когда можно без них

Время на прочтение14 мин
Количество просмотров14K

Много раз при обсуждении преимуществ и прелестей Go, как языка разработки, мне приходилось слышать что-то вроде «у вас даже нет дженериков» или «вот завезут дженерики, тогда и поговорим». Так вот, дженерики завезли, давайте посмотрим что из этого вышло. 

Меня зовут Павел Грязнов. Я уже несколько лет пишу на Go в прод, хотя знакомство с языком начал с самых ранних версий. Видел как Garbage Collector мог сделать stop the world на пару секунд, страдал от отсутствия системы зависимостей и других проблем. В этой статье я расскажу о дженериках в Go. Начнём с самых основ, продолжим более продвинутыми примерами и закончим бенчмарками.

Чтобы лучше показать работу дженериков на контрасте, я сравню примеры их использования на двух языках — Python и Go. C Python последний раз работал слишком давно, поэтому вторую часть доклада мне помогли сделать коллеги из Evrone. Пойдем по порядку: разберем, для чего нужны дженерики и какие задачи они решают. Посмотрим, как выглядит мир без дженериков, на их синтаксис, ограничения, бенчмарки и немного затронем функциональное программирование.

Читать далее
Всего голосов 22: ↑21 и ↓1+26
Комментарии13

React, я люблю тебя, но ты сводишь меня с ума

Время на прочтение13 мин
Количество просмотров19K


Привет, друзья!


Представляю вашему вниманию перевод этой статьи, вызывавшей определенный резонанс в сообществе React-разработчиков.


Дорогой React, мы встречаемся уже почти 10 лет. Мы прошли долгий путь вместе. Но ситуация вышла из-под контроля. Нам нужно поговорить.

Читать дальше →
Всего голосов 34: ↑31 и ↓3+34
Комментарии35

Rust vs. C++ на алгоритмических задачах

Время на прочтение9 мин
Количество просмотров53K
Не так давно я стал присматриваться к языку программирования Rust. Прочитав Rustbook, изучив код некоторых популярных проектов, я решил своими руками попробовать этот язык программирования и своими глазами оценить его преимущества и недостатки, его производительность и эко-систему.

Язык Rust позиционирует себя, как язык системного программирования, поэтому основным его vis-à-vis следует называть C/C++. Сравнивать же молодой и мультипарадигмальный Rust, который поддерживает множество современных конструкций программирования (таких, как итераторы, RAII и др.) с «голым» C я считаю не правильно. Поэтому в данной статье речь пойдет об сравнении с C++.

Чтобы сравнить код и производительность Rust и C++, я взял ряд алгоритмических задач, которые нашел в онлайн курсах по программированию и алгоритмам.

Статья построена следующим образом: в первой части я опишу основные плюсы и минусы, на которые я обратил внимание, работая с Rust. Во второй части я приведу краткое описание алгоритмических задач, которые были решены в Rust и C++, прокомментирую основные моменты реализации программ. В третьей части будет приведена таблица замера производительности программ на Rust и C++.
Читать дальше →
Всего голосов 79: ↑72 и ↓7+65
Комментарии216

Чем не является интеллект? Ошибки пытающихся создать ИИ с точки зрения философии (материалистической)

Время на прочтение11 мин
Количество просмотров12K

Частенько бывает такая ситуация, когда программист ругает менеджера из за рабочего конфликта. Суть критики сводится к тому что менеджер вообще не понимает как устроена “реальная реальность” и пытается везде выехать на “софт-скилах”. Занимается “нетворкингом” вместо изучения чего то хотя бы на начальном уровне, в общем балабольствует и манипулирует понятиями и шаблонами оторванными от реального понимания действительности. А потом этот же программист, в своё свободное время, мечтая о собственном успешном стартапе, пытается создать ИИ общего назначения на основе языковой модели, загружает в обучающий набор данных гигабайты текстов и картинок, ожидая при этом практичного рассудочного мышления от создаваемой нейросети.

Читать далее
Всего голосов 26: ↑22 и ↓4+28
Комментарии129

Цитаты о языках программирования

Время на прочтение3 мин
Количество просмотров41K
Что учёные, писатели и программисты думают о популярных языках программирования.

Все языки


«Есть два подхода к программированию. Первый — сделать программу настолько простой, чтобы в ней очевидно не было ошибок. А второй — сделать её настолько сложной, чтобы в ней не было очевидных ошибок.»
Tony Hoare. Профессор, занимался реализацией Алгол 60, сейчас исследователь в Microsoft Research.


Algol 60 (позже повлиявший на C)


«Я не мог устоять перед искушением добавить в язык нулевой указатель (null), просто потому, что его так легко было реализовать. Это привело к бессчётному множеству ошибок, уязвимостей и сбоев, которые нанесли ущерб, наверное, в миллиард долларов за последние сорок лет.»
Tony Hoare.
Читать дальше →
Всего голосов 256: ↑235 и ↓21+214
Комментарии103

Чем плохо быть full stack разработчиком

Время на прочтение7 мин
Количество просмотров201K

Введение


Прежде всего определимся с терминами. Есть много разных представлений о том, кто же такой full stack разработчик, кто-то даже вполне обоснованно считает, что такие разработчики — это миф, но в этой статье будет иметься в виду разработчик, который обладает знаниями и умениями, позволяющими с нуля написать некий софт и вывести его в продакшн. При этом софт может быть рассчитан на web платформу, мобильные приложения или десктопные. Идеальный full stack разработчик — это тот, кто владеет в какой-то мере всеми платформами и может разработать и установить на них свой софт. Но это действительно скорее миф.
Неплохое определение с quora.com
Когда люди ищут full stack разработчика, они ожидают увидеть поющего и танцующего техномага.
Ну или хотя бы кого-то, кто не будет слишком сильно жаловаться, когда его попросят поработать вне его зоны комфорта.

Возможно, по заголовку кому-то покажется, что это жалобный пост, который говорит о том, как плохо живётся неквалифицированному школьнику, который похватал всего из разных статей в интернете. Нет, пост не жалобный, мы говорим про full stack, а не full slack, и в конце будет так же рассмотрен список плюсов. И мы будем рассматривать не школьника, а разработчика с опытом работы в пять и более лет. Просто посмотрим, какие минусы есть в таком развитии.
Читать дальше →
Всего голосов 81: ↑68 и ↓13+55
Комментарии93

Почему оксфордский физик считает, что квантовые вычисления — это большой пузырь

Время на прочтение9 мин
Количество просмотров46K


Никита Гурьянов — физик из Оксфордского университета, занимающийся вычислительной квантовой физикой. В конце августа он ворвался на Financial Times со статьей, критикующий индустрию квантовых вычислений, сравнив «фанфары» вокруг этой технологии с раздувающимся финансовым пузырем. Он предупреждает, что люди, особенно в сфере высоких технологий, в последние годы стали чересчур оптимистично смотреть на перспективы квантовых вычислений. И что здесь сейчас куда больше дыма, чем огня.

Читать дальше →
Всего голосов 76: ↑71 и ↓5+89
Комментарии207

Квантовые флуктуации и их энергия

Время на прочтение10 мин
Количество просмотров38K
В этой статье я расскажу вам кое-что о том, как работает квантовая механика, в частности, об удивительном явлении под названием «квантовые флуктуации», и как оно применяется в квантовой теории поля, примером которой служит Стандартная Модель (уравнения, используемые нами для предсказания поведения известных элементарных частиц и взаимодействий). Глубокое понимание этого явления и связанной с ним энергии ведёт нас прямиком к одному из самых серьёзных и неразрешённых конфликтов в науке: проблеме космологической постоянной. Также оно ведёт нас к загадке естественности, или к проблеме иерархии.

В квантовой теории поля квантовые флуктуации иногда называют или описывают, как «появление и исчезновение двух или более виртуальных частиц». Этот технический жаргон оказывается очень неудачным, поскольку эти штуки (как бы мы их ни называли), однозначно не являются частицами – к примеру, у них нет определённой массы – а также, поскольку понятие «виртуальной частицы» точно определяется только в присутствии относительно слабых взаимодействий.


Рис. 1
Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии21

[В закладки] Как работает браузер

Время на прочтение17 мин
Количество просмотров32K

К старту курса по Fullstack-разработке на Python делимся лонгридом от ведущего программиста компании THG. Специалистам материал будет полезен в подготовке к собеседованиям, а новичкам поможет получить целостное представление о том, что происходит у браузера под капотом.

Читать далее
Всего голосов 16: ↑12 и ↓4+9
Комментарии1

НЕ VIM, а круче (xah fly keys) или XAH FLY KEYS. Большой выпуск

Время на прочтение7 мин
Количество просмотров5.8K

Насколько я знаю многие программисты используют VIM, а некоторые также используют VIM, но они это делают в EVIL (злом) режиме, это значит, что эти люди понимают все прелести VIM (быстрое редактирование текста без использования мыши, наличие нескольких режимов и т.д.). Но также я знаю, что VIM был сделан несколько миллионов лет назад, для программистов того времени, поэтому VIM использует не все возможности которые мог бы, например: Клавиша для входа в командный режим находится фиг знает где, в самой жопе самом углу клавиатуры (и. да я знаю что это можно легко поправить в .vimrc), также если я захочу поменять свой редактируемый файл, то мне нужно:

Мне это интересно!
Всего голосов 2: ↑2 и ↓0+2
Комментарии21

Загадочное дело о Raspberry Pi в шкафу для сетевого оборудования

Время на прочтение4 мин
Количество просмотров56K
Как-то я получил от своего отца (мы вместе с ним работаем на одного клиента) сообщение с приложенной фотографией.


Сообщение от отца

Я попросил его отключить устройство, положить в безопасное место, сфотографировать со всех сторон и сделать образ SD-карты (потому что в основном я работаю удалённо). Я работал над многими проектами с Raspberry Pi и был уверен, что разберусь в назначении этого устройства.

В тот момент ещё никто не думал, что оно может быть зловредным, скорее, все думали, что это экспериментирует кто-то из сотрудников клиента.
Читать дальше →
Всего голосов 120: ↑119 и ↓1+158
Комментарии51

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность

Специализация

Frontend Developer, Fullstack Developer
Junior
JavaScript
HTML
CSS
React
TypeScript
Node.js
NextJS
SCSS
Rust
Linux