Рубрика «Программирование» - 127

Чтение исходного кода известных фреймворков может хорошо помочь программисту в улучшении его профессиональных навыков. Автор статьи, перевод которой мы сегодня публикуем, недавно анализировал код vue2.x. Он нашёл в этом коде некоторые интересные JavaScript-идеи, которыми решил поделиться со всеми желающими.

5 интересных JavaScript-находок, сделанных в исходном коде Vue - 1
Читать полностью »

«Программирование лучше секса» - 1

Эту фразу на заре своей трудовой деятельности я услышал от начальника отдела АСУ одного из Советских заводов, когда он предлагал идти работать к нему в отдел.

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

Однако, эмоции это одно, а человек инженер разумный, это другое. И меня давно занимал вопрос, а в чем же реальная причина по которой хочется делать код красивым?

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

Цитата из документации GCC [1]:
Атрибут cleanup предназначен для запуска функции, когда переменная выходит из области видимости. Этот атрибут может быть применён только к auto-переменным, и не может быть использован с параметрами или с static-переменными. Функция должна принимать один параметр, указатель на тип, совместимый с переменной. Возвращаемое значение функции, если оно есть, игнорируется.

Если включена опция -fexceptions, то функция cleanup_function запускается при раскрутке стека, во время обработки исключения. Отметим, что атрибут cleanup не перехватывает исключения, он только выполняет действие. Если функция cleanup_function не выполняяет возврат нормальным образом, поведение не определено.

Атрибут cleanup - 1

Атрибут cleanup поддерживается компиляторами gcc и clang.

В этой статье я приведу описание различных вариантов практического использования атрибута cleanup и рассмотрю внутреннее устройство библиотеки, которая использует cleanup для реализации аналогов std::unique_ptr и std::shared_ptr на языке C.
Читать полностью »

Привет! Представляем вашему вниманию перевод статьи «Everything You Need to Know About std::any from C++17» автора Bartlomiej Filipek.

image

С помощью std::optional вы можете хранить один какой-то тип. С помощью std::variant вы можете хранить несколько типов в одном объекте. И С++17 предоставляет нам еще один такой оберточный тип — std::any, который может хранить что угодно, оставаясь при этом типобезопасным.
Читать полностью »

Производительность — это ключ к успеху веб-приложения. Поэтому разработчикам нужно знать о том, как возникают утечки памяти, и о том, как с ними бороться.

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

Как вызвать утечку памяти в Angular-приложении? - 1

Утечки памяти могут возникать по разным причинам. Однако я полагаю, что при использовании Angular можно столкнуться с паттерном, который соответствует самой распространённой причине возникновения утечек памяти. Существует и способ борьбы с такими утечками памяти. А лучше всего, конечно, не бороться с проблемами, а избегать их.
Читать полностью »

О себе

Здравствуй! Меня зовут Павел, я работаю техническим директором в компании, занимающейся производством IoT устройств. Производим много чего — начиная от контроллеров для умных домов, заканчивая умными приборами учёта на своём запатентованном протоколе сенсорных сетей.

Также исполняют обязанности генерального директора ит-компании. В прошлом полуфиналист ЧМ по программированию ACM ICPC.

Мотивация

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

Эмбеддинг – это отображение из дискретного вектора категориальных признаков в непрерывный вектор с заранее заданной размерностью.

Читать полностью »

image

Привет! Hello, World!

Меня зовут Андрей Евсюков, я заместитель технического директора в Delivery Club. А это первый пост в нашем блоге на Хабре. Сегодня расскажу о том, как и где можно узнать про разработку, процессы и команду Delivery Club. Спойлер: до сих пор никто так много не знал, как устроен DC Tech.
Читать полностью »

Автор материала, перевод которого мы публикуем сегодня, поддерживает идею Ральфа Уолдо Эмерсона о том, что мы становимся тем, о чём думаем. Здесь пойдёт речь об образе мыслей программистов-сеньоров.

Как думают программисты-сеньоры? - 1
Читать полностью »

Мы писали о фронтендерах и бэкендерах, о мобильной разработке и о тестировании, но это были частные случаи. Когда человек подходит к первой или очередной профессии, он редко говорит, что станет разработчиком под iOS или проктологом, как правило это звучит «программистом» и «врачом». Специализация приходит позже, с опытом. Но чтобы твёрдо заявить, что ты хочешь стать программистом, врачом, архитектором, геологом и т.д., нужно избавиться от романтизации профессии и подойти к ней здраво и осмысленно. Даже если вы вдруг решили стать программистом, чтобы «войти в айти после 35-ти». Если говорить о программистах с позиций романтики, то это люди, которые превращают наши замыслы в код и делают жизнь лучше, проще, удобнее. Если говорить прямо, то работа программиста — напряжённый, зачастую рутинный труд с множеством плюсов и минусов. Об этом и поговорим.

Профессия: программист. Не всё однозначно - 1

Читать полностью »

То, что я не вижу, стало ясно в первые месяцы после рождения. Сколько родители ни пытались, зрение восстановить не удалось. С четырёх лет я учился читать и писать по Брайлю.

Мне невероятно повезло с людьми вокруг. У меня были хорошие учителя, была музыкальная школа, где я нормально общался с обычными ребятами. Благодаря этому понял, что вариться только в слепецкой среде, — не лучший путь для развития. Начал идти в другую сторону, и в итоге реализовал мечту.

«Я — первый слепой разработчик в своей компании». Часть 1 - 1

Вот уже полгода я работаю настоящим software engineer. В самой обычной команде. До сих пор не верится)

Как я начал программировать

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js