Как стать автором
Обновить
34
0

Пользователь

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

Кто такой Thread Pool и как его написать своими руками на С++

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров39K

Thread Pool достаточно популярный паттерн в программировании, с которым рано или поздно сталкивается каждый первый программист. Если вы новичок и не хотите бездумно пользоваться пулом потоков, то эта статья поможет вам разобраться с его устройством и написать наивные реализации с использованием С++ 14 и С++ 17. Так же статья будет полезна всем, кто изучил теорию по многопоточности, но не знает как можно применить свои знания.

Читать далее
Всего голосов 7: ↑3 и ↓40
Комментарии9

Пора релоцироваться

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

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

Читать далее
Всего голосов 152: ↑80 и ↓72+45
Комментарии263

Готовимся к собеседованию по PHP: Что такое «DI», «Container», «Auto-wiring» за семь простых шагов

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

Статья написана для начинающих разработчиков на языке PHP, чтобы помочь им усвоить понятия, нужные для понимания того, как устроены и работают современные фреймворки на PHP: Dependency Injection, Container, Auto-wiring.

Автор надеется, что прочтение статьи поможет вам разобраться в этих вопросах и подготовиться к собеседованию или освоению нового фреймворка.

Статья продолжает цикл статей под условным названием "Готовимся к собеседованию".

Читать далее
Всего голосов 19: ↑16 и ↓3+15
Комментарии13

Работающие способы выехать за рубеж, или Спасение утопающих — дело рук самих утопающих

Время на прочтение10 мин
Количество просмотров93K
Привет, хабровчане! Надеемся, в эти сложные времена вы стараетесь держаться, хотя это и непросто. Впрочем, рефлексировать можно бесконечно долго, толку от этого не будет, сейчас нужно действовать. Как именно — решать только вам самим. Мы лишь можем рассказать об одном из вариантов. А именно о релокации. В этом посте мы решили собрать вакансии из нашего бота в других странах, а также снабдить их информацией, как туда попасть. Подробную информацию по вакансиям (стек и требования) можно найти в самом боте Get Me It, для этого нужно пройти начальную анкету бота и выбрать Европу или СНГ.

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


Гребите сильнее!
Всего голосов 82: ↑59 и ↓23+60
Комментарии321

Перехватываем цифровые радиопереговоры, или куда едут экипажи в 5 утра

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

Шел апрель 2020 года, ковидная пандемия набирала обороты. Местные власти объявили "карантин", и от скуки сидения дома в один из дней мне пришла в голову мысль разобрать завалы хлама в старой квартире. В одной из коробок мне попался ноунеймовый USB DVB-тюнер на чипе RTL2832U с Алиэкспресса, и тут я призадумался. Вспомнилось, что много-много лет назад я игрался с ним и в эфире можно было услышать много интересного. "А почему бы не поиграться еще раз?" — возникла в голове мысль, которая и положила начало этой истории.

Читать далее
Всего голосов 113: ↑111 и ↓2+142
Комментарии77

Собеседование по Javascript, мой опыт. Часть вторая

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

И есть еще белые, белые дни, белые горы и белый лед.
Но все, что мне нужно - это несколько слов и место для шага вперед.

(Виктор Цой)

Это вторая часть статьи, где будут вопросы, которые мне задавали и ответы на них. Я не берусь оценивать полезность вопросов и их смысл. Просто пишу все как есть, надо признать, что часть из них меня здорово обескуражили и мне пришлось уходить не солоно хлебавши, вспоминая один забавный анекдот:

"- Ну как на собеседование сходил? Успешно? - Да. Ручку у них спер" (ссылка)

Часть вопросов будет по typescript, часть по javascript, что-то будет из html, Node.js, настройки, библиотеки, концепции. В общем всё то, о чем говорят на собеседованиях.

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

9 интересных новшеств в Laravel 9

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

Я сразу как только вышла новость о релизе решил, что нужно посмотреть, пощупать и разобраться чего же изменилось. Да-да, на днях, а именно 8 февраля 2022 вышел официальный релиз Laravel 9, который включает довольно много новых улучшений. Для тех же из нас, кто не боится таких слов как alfa и beta девятая версия фреймворка давно не новость и уже в работе.

Теперь эта версия будет поддерживаться дольше (LTS) и разработчики фреймворка пришли к решению не выпускать новые выпуски каждые 6 месяцев, но делать это раз в год в феврале. Судя из расписания эта версия останется актуальной год, а обновления безопасности будут выпускаться вплоть до 2025 года.

Ниже я опишу девять нововведений, которые лично мне показались самыми интересными, конечно это не все и с более полным описанием релиза можно познакомиться на официальных ресурсах. Например, обвноление Flysystem до 3 версии я описывать не буду, думаю тут все и так понятно. Так же посоветую посмотреть группу видео от Джеффри Вея (Jeffrey Way) на эту тему.

Читать далее
Всего голосов 17: ↑16 и ↓1+19
Комментарии32

Как вырастить тупого ребёнка (научно обоснованные вредные советы)

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

Brain of someone described as an «idiot»

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

Попробуем разобрать эти верования с точки зрения доказательной медицины и пойдём от обратного.

Что мы подразумеваем под умственным развитием


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

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

Итак, начнём растить не очень умного ребёнка, пользуясь достижениями современной науки.
Читать дальше →
Всего голосов 166: ↑143 и ↓23+155
Комментарии480

Обработка критических ошибок в PHP

Время на прочтение6 мин
Количество просмотров32K
В статье описан функционал, который доступен в PHP (актуально для 5.3.х) для обработки ошибок всех типов, включая ошибки интерпретации кода (E_ERROR, E_PARSE, E_WARNING, etc). Эта обработка поможет вам для управляемого отображения страницы в случае возникновения таких проблем. В статье присутствует множество описаний и рабочих примеров(архитектуры) для того, что бы сразу воспользоваться в своем программном продукте. В конце концов, ну немного сломали сайт, ну надо же, об этом сообщить поисковику с заголовком 4хх или 5хх и повеселить пользователя, вместо возврата белого экрана (или что хуже экрана со священной информацией, для хакеров) с ответом 200 Ok.



Идея написать этот топик возникла, когда я на храбре задал 2 вопроса:

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

Если заинтересовались, то подробности под катом…
Читать дальше →
Всего голосов 116: ↑105 и ↓11+94
Комментарии57

Just-in-Time Kubernetes: Руководство начинающим для понимания основных концепций Kubernetes

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

Итак, вы хотите освоить Kubernetes. Это такой технологический хайп, о котором, кажется, говорят все. Я затрудняюсь сказать, сколько рекрутеров обращались ко мне с предложением поработать с Kubernetes. Kubernetes — это определенно круто!

Читать далее
Всего голосов 11: ↑8 и ↓3+6
Комментарии18

Книга «Отзывчивый дизайн на HTML5 и CSS3 для любых устройств. 3-е изд.»

Время на прочтение6 мин
Количество просмотров8.1K
image Привет, Хаброжители! Вы фуллстек-разработчик, которому нужно развивать навыки фронтенд-разработки? Или фронтенд-разработчик, ищущий качественный обзор современных возможностей HTML и CSS? А может, вы создаете свой веб-сайт и хотите сделать его отзывчивым? Тогда, эта книга вам просто необходима! Со времени выхода предыдущего издания многое изменилось, теперь отзывчивый дизайн — это не новая технология, а стандарт разработки на HTML5 и CSS3. Неформальный и открытый стиль автора позволяет быстро освоить все возможности современного веб-дизайна. Вы получите практические знания о SVG, разметке HTML, создании потрясающей эстетики и эффектов с помощью CSS, переходах, преобразованиях и анимациях и многом другом. Если же вы опытный веб-игрок, то смело переходите к новым темам — гридам (CSS Grid layout) или вариативным шрифтам. К концу книги вы не только получите полное представление об отзывчивом веб-дизайне и возможностях последних версий HTML5 и CSS, но и узнаете, как максимально эффективно использовать эти знания на практике. Все, что нужно для начала работы, — это представление о том, что такое HTML и CSS.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии7

Экосистема React в 2022 году

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

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

Читать далее
Всего голосов 23: ↑20 и ↓3+22
Комментарии60

СТРАННЫЕ Люди. Как западная цивилизация вырвалась вперед?

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

По нашей планете распространяется необычная и СТРАННАЯ человеческая психика - Western, Educated, Industrialized, Rich and Democratic (WEIRD) - западный, образованный, индустриальный, богатый и демократичный.

Читать далее
Всего голосов 161: ↑150 и ↓11+182
Комментарии611

PProto: бинарный rpc-протокол для Qt framework (часть 1)

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

Думаю, не сильно ошибусь, если скажу, что каждый разработчик программного обеспечения рано или поздно сталкивается с задачей взаимодействия приложений расположенных на удаленных узлах локальной или глобальной сети. В разных проектах мне довелось поработать с DCOM, SOAP, самописным (не моим) rpc-протоколом, использующим связку json+boost.asio. Проблематика коммуникации приложений и процессов мне всегда была интересна. Пытаясь разобраться, как устроены различные механизмы взаимодействия, ставя эксперименты по сериализации данных, со временем, я пришел к решению, о котором хочу рассказать.

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

Как сохранять данные в браузере или краткий гайд по LocalStorage

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

Привет! В этой статье я кратко объясню что такое localStorage в JavaScript, его особенности и расскажу как с ним работать.

Читать далее
Всего голосов 9: ↑4 и ↓5-1
Комментарии3

PHP Дайджест № 220 (10 – 24 января 2022)

Время на прочтение3 мин
Количество просмотров12K
Картинка Vincent Pontier.

Подборка свежих новостей, инструментов и материалов из мира PHP.

Приятного чтения!
Читать дальше →
Всего голосов 52: ↑52 и ↓0+52
Комментарии10

Алгоритм Дейкстры. Разбор Задач

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


Поиск оптимального пути в графе. Такая задача встречается довольно часто и в повседневной жизни, и в мире технологий. Справиться с такими вызовами помогает подход, который должен быть в арсенале каждого программиста — алгоритм Дейкстры.

Если вы хотите найти ответить на вопросы, чем этот алгоритм лучше BFS (поиска в ширину), при каких условиях алгоритм применим, и какие теоретические и практические задачи можно с его помощью решать, читайте далее.

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

Цифровая Вселенная

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

Третья часть статьи "Цифровая Вселенная"

Квантовое представление выражений основных характеристик электрона. Алгебраические структуры в основании "элементарных" частиц и фундаментальных физических законов

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

Настройка webpack 5 [bonus] React Hot Reloading

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

Базовая настройка webpack 5 + настройка для разработки на React (вкл. React Hot Reloading).

Что, зачем и почему?

Что? Webpack - сборщик модулей для JavaScript. Является одним из мощнейших инструментов современной веб-разработки.

Зачем? Webpack позволяет комфортно создавать приложения по модульной структуре, он собирает все модули в один бандл и минифицирует его. Но это лишь поверхностное описание возможностей этого инструмента, на деле вебпак имеет значительно больше возможностей.

Почему? Вам теперь больше нет необходимости беспокоится о сборке проекта, один раз настроил webpack и он все будет делать за вас!
P.S. Ну, или не один раз.
P.S.S. Ладно, точно не один раз.

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

React.js: размышления об управлении состоянием и повторном рендеринге

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



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


В этой статье я хочу поговорить с вами об управлении состоянием и повторном рендеринге в React.js.


Что такое состояние и зачем им управлять?


Состояние/state можно определить как любые данные, которые влияют на рендеринг/rendering компонентов. Состояние хранится в реактивных переменных/reactive variables ](в терминологии RxJS).


Управление состоянием/state management — это механизм, позволяющий создавать реактивные переменные, фиксировать изменения их значений и уведомлять об этом "заинтересованные" компоненты. Как правило, такой механизм реализуется с помощью паттерна Издатель-Подписчик/Publisher-Subscriber/Pub-Sub.


Реакция компонентов на изменение состояния часто, но далеко не всегда завершается добавлением/модификацией/удалением HTML-элементов в/из DOM. Как известно, операции, связанные с манипулированием DOM, являются очень медленными. Это обуславливает необходимость грамотного управления состоянием приложений.

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

Информация

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