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

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

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

Soft Skills для программистов: 6 принципов влияния, которые изменят вашу карьеру

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

Как думаешь, почему ты купил тот новый гаджет, о котором даже не думал вчера? Или почему соглашаешься помочь кому‑то, хотя совсем нет времени? Это не случайность — это работа проверенных механизмов влияния. И книга Роберта Чалдини «Психология влияния» подробно разъясняет, как это всё работает.

Я уже много лет работаю разработчиком на Python и часто сталкиваюсь с тем, что в книгах, которые обещают прокачать ваши soft skills и при этом кажутся «пустыми» или перегруженными инфомаркетингом. Но неожиданно, книга Роберта Чалдини «Психология влияния» — это исключение из правил.

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

Здесь же я переработал материал и обогатил статью примерами, которые могут помочь в жизни IT-специалиста!

Узнать больше
Всего голосов 7: ↑4 и ↓3+4
Комментарии2

Когда private, но очень хочется public

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров20K

В 2016 году меня пригласили помочь с разработкой экшн-очков "ORBI", это такие водонепроницаемые очки с несколькими камерами, которые могут стримить 360видео сразу на смартфон, ну а если с ними поплавать, тоже ничего сломаться не должно. (https://www.indiegogo.com/projects/orbi-prime-the-first-360-video-recording-eyewear#/). Собственно моей задачей было написать алгоритм склейки видео потока с четырех камер в одно большое 360* видео, на тот момент задача не очень сложная, но требующая немного специфичных знаний opencv и окружения. Но статья не об этом, потому что теперь это все оберегаемое IP, а про то как мы легальными и не очень средствами языка С++ писали тестовое окружение для используемых классов и соответственно алгоритмов. Да вы скажете, что там такого - сделал гетеры да тестируй себе на здоровье. А если гетера нет или переменная класса спрятана в private секцию и возможность изменить хедер отсутствует. Или вендор либы забыл положить хедеры, и прислал только скан исходников (китайские друзья они такие), а тестировать это надо? Помножив желание написать тесты на утренний кофф и приплюсовав дикий энтузиазм, можно получить очень много ошибок компиляции интересного опыта. Как говорил один мой знакомый лид: "Нет такого кода, который мы не сможем порефакторить, особенно за утренним кофф".

private not public?
Всего голосов 11: ↑10 и ↓1+13
Комментарии39

Строки в игровых движках

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

Исторически потребность в строках и их использование в игровых движках было довольно ограниченое, кроме, разве что, локализации ресурсов, где была необходимость полноценной поддержки чего-то отличного от набора ASCII символов. Но, при желании, даже эти ресуры разработчики умудрялись упаковать в доступные 200 элементов набора ASCII, а учитывая что игра обычно запускается только в одной локали, то никаких потребностей в конвертации не было. Но есть тут и отличия от стандарта, стараниями Sony практически с начала нулевых, еще до 20 стандарта разработчикам игр были доступны несколько моделей символьных литералов. Стандартый ASCII на PS1 и частичная поддержка Unicode (ISO 10646), с выпуском сдк для второй плойки добавили поддержку UTF-16 и UTF-32, а после выхода PS3 добавили поддержку UTF-8.

strcpy(destination, source);
Всего голосов 20: ↑20 и ↓0+24
Комментарии11

Малоизвестные и интересные особенности C и C++

Уровень сложностиСредний
Время на прочтение43 мин
Количество просмотров49K

В C и C++ есть особенности, о которых вас вряд ли спросят на собеседовании (вернее, не спросили бы до этого момента). Почему не спросят? Потому что такие аспекты имеют мало практического значения в повседневной работе или попросту малоизвестны.

Целью статьи является не освещение какой-то конкретной особенности языка или подготовка к собеседованиям, и уж тем более нет цели рассказать все потайные смыслы языка, т. к. для этого не хватит одной статьи и даже книги. Напротив, статья нужна для того, чтобы показать малоизвестные и странные решения, принятые в языках C и C++. Своего рода солянка из фактов. Вопрос “что делать с этими знаниями?” я оставляю читателю.

Если вы, как и я, любите и интересуетесь C/C++, и эти языки являются неотъемлемой частью вашей жизни, в том числе и его углубленного изучения, то эта статья для вас. По большей части я надеюсь, что эта статья сможет развлечь и заставить поработать головой. И если получится, рассказать что-то, чего вы, возможно, еще не знали.

Читать далее
Всего голосов 127: ↑126 и ↓1+159
Комментарии61

Локальные нейросети. Аналог ChatGPT-3.5 на домашнем ПК: OpenChat 7B превосходящая 70B, DeepSeek для кода уровня ChatGPT

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

Есть много локальных аналогов ChatGPT, но им не хватает качества, даже 65B модели не могут конкурировать хотя бы с ChatGPT-3.5. И здесь я хочу рассказать про 2 открытые модели, которые всё-таки могут составить такую конкуренцию.

Речь пойдет о OpenChat 7B и DeepSeek Coder. Обе модели за счет размера быстры, можно запускать на CPU, можно запускать локально, можно частично ускорять на GPU (перенося часть слоев на GPU, на сколько хватит видеопамяти) и для такого типа моделей есть графический удобный интерфейс.

И бонусом затронем новую модель для качественного подробного описания фото.

UPD: Добавлена информация для запуска на Windows с ускорением на AMD.

Читать далее
Всего голосов 88: ↑86 и ↓2+102
Комментарии87

Где в Москве жить «неплохо»

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

В одной прошлых публикации получил массу полезных коментариев от читателей. Среди них просили для Москвы кроме "плохих" районов было бы интересно увидеть и хорошие.

Честно скажу, что определить какие хорошие непросто. Ведь у каждого свое понятие о том что такое хорошо и нужен доступ к данным, которого у нас нет. Поэтому давайте посмотрим где жить "неплохо". Не жить рядом с тем, что влияет на качество воздуха, уровень шума, ежедневное memento mori, близость к промышленности, безопасность. Найдем группы домов в Москве в пределах МКАД, отдаленные на 150м от перечисленных факторов. Если живете в Москве, то удивитесь - вашего дома скорее всего не будет на этой карте

Читать далее
Всего голосов 25: ↑23 и ↓2+29
Комментарии209

Недетский пиксель-арт. Конструкторы для тех, кто вырос, но не повзрослел

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров11K
Одним из первых компьютеров у меня, как и у многих на Хабре, был ZX Spectrum.

На особенно скучных уроках в школе я доставал тетрадку в клеточку, и рисовал спрайты для своих будущих игр. Изредка копировал любимых персонажей из игрушек — Dizzy, Bomb Jack, Renegade.

Школу я давно закончил, а мои игры благополучно почили где-то на дискетках. Но, когда появились дети, а у них — свои игрушки, прикидывал, как из Lego или кубиков сложить героев 8-битных игр.

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


Пример готового набора Lego

Появились конструкторы, которые создатели позиционируют, как «бесконечные». Один из таких я купил, но в итоге использовал для черно-белых картин по 8-битным играм.
Читать дальше →
Всего голосов 41: ↑37 и ↓4+41
Комментарии12

Многопоточность и Thread Pool в C++

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

Привет, Хабр! Я неожиданно созрел для написания первой статьи тут. За время работы в сфере IT у меня появилась своя собственная библиотека на языке C++, которая медленно, но верно обрастает различными полезными модулями. Не все включаемые в нее модули написаны мною с нуля, но я всегда стараюсь так или иначе адаптировать их под свои нужды. Сегодня у меня появилось непреодолимое желание поделиться с вами некоторыми фрагментами моей библиотеки.

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

Глобальная блокировка интерпретатора (GIL) и её воздействие на многопоточность в Python

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

Прим. Wunder Fund: в статье рассказано, зачем появилась и существует глобальная блокировка интерпретатора в Питоне, как она работает, и как она влияет на скорость работы Питона, а также о том, куда в будущем, вероятно, будет двигаться Питон. У нас в фонде почти всё, что не написано на плюсах — написано на Питоне, мы пристально следим за тем, куда движется язык, и если вы тоже — вы знаете, что делать )

Как вы, наверное, знаете, глобальная блокировка интерпретатора (GIL, Global Interpreter Lock) — это механизм, обеспечивающий, при использовании интерпретатора CPython, безопасную работу с потоками. Но из-за GIL в конкретный момент времени выполнять байт-код Python может лишь один поток операционной системы. В результате нельзя ускорить Python-код, интенсивно использующий ресурсы процессора, распределив вычислительную нагрузку по нескольким потокам. Негативное влияние GIL на производительность Python-программ, правда, на этом не заканчивается. Так, GIL создаёт дополнительную нагрузку на систему. Это замедляет многопоточные программы и, что выглядит достаточно неожиданно, может даже оказать влияние на потоки, производительность которых ограничена подсистемой ввода/вывода.

Здесь я опираюсь на особенности CPython 3.9. По мере развития CPython некоторые детали реализации GIL, определённо, изменятся. Материал опубликован 22 сентября 2021 года, после публикации в него внесено несколько дополнений.

Читать далее
Всего голосов 44: ↑41 и ↓3+57
Комментарии12

Как использовать Midjourney с умом

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

Мне довелось познакомиться с нейросетями совсем недавно. На работе дали задание — найти подходящую бесплатную картинку для сайта. В первую очередь, я вспомнил про Crayion (Бывший DALL-E), но качество результата на нем совсем меня не удивило. После этого я вспомнил о существовании Midjourney и о том, что разработчики предоставляют пробный доступ в Discord. Я подключился к серверу и сделал свою первую картинку. Результат был сногсшибательным.

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

Call Stack Logger — инструментирование функций как способ отслеживания потока выполнения программы

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

Доводилось ли вам когда-нибудь работать над C++ проектом с такой огромной кодовой базой, что понимание того, что на самом деле происходит во время выполнения программы, требует кучи времени и сил? Откуда и какие функции вызываются? Вам когда-нибудь поручали исправить баг в таком проекте, прилагая лишь логи, которые приближают вас к нахождению первопричины проблемы так же, как Моисей к земле обетованной? А попытки воспроизведения бага не дают вам никакой полезной информации? Если ваш ответ да – пожалуйста, присаживайтесь поудобнее.

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

Премиальные тарифы банков в 2023 году. Большой обзор

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

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

Премиальные тарифы в российских банках становятся всё доступнее: инфляция не распространяется на минимальные остатки, требуемые для бесплатного премиального обслуживания. С другой стороны, вот уже год банки пытаются адаптироваться к новым реалиям, и не всем удалось восстановить уровень сервиса, который был доступен клиенту с высокими запросами до 2022 года. Я об этом знаю не понаслышке. У меня сейчас премиум в двух банках: Тинькофф и Открытие.

Из-за специфики своих долгосрочных планов на жизнь (FI/RE, но статья не об этом), у меня накапливаются крупные остатки, и было бы глупо не получать дополнительные опции от банков. На горизонте до года передо мной возникает дилемма: либо продолжать использовать уже имеющийся банк (наращивая остаток в нем для получения все больших опций), либо искать ещё один, третий — для получения новых "плюшек".

Изначально я планировал оценить премиальные условия 5 крупнейших (и наиболее знакомых мне) банков. Но подписчики моего скромного блога посоветовали обратить внимание ещё на 3 банка — из-за весьма привлекательных фишек, которые могут их выделить на фоне остальных. В первом блоке я расскажу о собственных критериях оценки и своей системе присуждения очков, во втором блоке кратко пройдусь по особенностям каждого из 8 банков, а в заключении представлю общий рейтинг с выявленными лидерами.

Читать далее
Всего голосов 17: ↑10 и ↓7+7
Комментарии48

Исторические исходные коды, с которыми должен быть знаком каждый разработчик

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

Как и любая другая индустрия, сфера компьютерных технологий прошла внушительный путь развития. Благодаря упорной работе программистов прошлого сегодня мы пользуемся высококлассными компьютерами, высококачественными современными графическими интерфейсами, дружелюбными языками программирования и футуристическими веб‑приложениями в реальном времени. Изучение истории приносит удовольствие — весьма интересно наблюдать за поступательным развитием технологий с течением времени. Только подумайте, скольких трудов стоило создать современный самолет — люди прошли огромный путь от одной лишь идеи полета до настоящих летательных аппаратов. Точно так же компьютеры прошли путь от дорогостоящих машин размером с целую комнату до современных и (относительно) недорогих устройств общего назначения.

Читать далее
Всего голосов 42: ↑32 и ↓10+30
Комментарии14

Записывая каждую покупку, я узнал, что трачу за год 1,67 млн рублей. И вот как мне это помогло в планировании финансов

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

Начиная с декабря 2021 года я решил, что нужно вести детальный контроль наших семейных расходов. Делал я это в первую очередь для того, чтобы самому себе ответить на вопрос: а сколько мы в действительности тратим денег в разрезе разных категорий? Общая сумма по месяцу примерно была известна и так, но вот что внутри этой суммы - для меня практически всегда оставалось загадкой.

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

Читать далее
Всего голосов 38: ↑29 и ↓9+21
Комментарии52

История покупки одной видеокарты — NewEgg, Криптовалюта, Почта Global и Таможня

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

Друзья, эта история о том, как я заказывал видеокарту в онлайн-магазине NewEgg с оплатой криптовалютой и отправкой через сервис пересылки почты "Почта Global" и с какими трудностями столкнулся. Надеюсь этот материал поможет кому-нибудь, потому что мне такого и правда не хватало.

Итак, погнали...

Читать далее
Всего голосов 27: ↑26 и ↓1+31
Комментарии18

Сервис для оперативной оценки стоимости своих навыков на рынке труда

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

Уважаемые читатели, хочу представить Вашему вниманию свой небольшой проект https://sugar-beet.herokuapp.com/, который является воплощением идеи описанной в своей предыдущей статье Сколько ты стоишь? Метод анализа вакансий с HR-агрегаторов. Стадию развитию его можно определить как MVP. Однако, к сожалению, Heroku отказывается от бесплатного тарифа 28 ноября 2022 года, что печально. Собственно выкладываю текущую версию на всеобщее обозрение, через 2 месяца она всё равно "превратится в тыкву". Приветствую всех заинтересовавшихся.

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

Удалённый доступ к Linux-десктопу. Лучшие RDP-серверы и клиенты 2022 года

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

Что делать, если нужно получить удалённый доступ к серверу или десктопу Linux? Или подключиться к Windows-машине с Linux-десктопа? Какие клиенты RDP и FTP подходят лучше всего под Debian и Red Hat / CentOS? Интересно посмотреть, что нового появилось в последнее время.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+44
Комментарии35

Топ 20 ошибок при работе с многопоточностью на С++ и способы избежать их

Время на прочтение21 мин
Количество просмотров79K
Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Top 20 C++ multithreading mistakes and how to avoid them» автора Deb Haldar.


Сцена из фильма «Петля времени» (2012)

Многопоточность— одна из наиболее сложных областей в программировании, особенно в C++. За годы разработки я совершил множество ошибок. К счастью, большинство из них были выявлены на код ревью и тестировании. Тем не менее, некоторые каким-то образом проскакивали на продуктив, и нам приходилось править эксплуатируемые системы, что всегда дорого.

В этой статье я попытался категоризировать все известные мне ошибки с возможными решениями. Если вам известны еще какие-то подводные камни, либо имеете предложения по решению описанных ошибок– пожалуйста, оставляйте свои комментарии под статьей.
Читать дальше →
Всего голосов 62: ↑60 и ↓2+58
Комментарии94

Семантика копирования и управление ресурсами в C++

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

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



Читать дальше →
Всего голосов 45: ↑44 и ↓1+43
Комментарии83

17 убойных репозиториев GitHub, которые нужно сохранить

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

Здесь собраны лучшие и самые полезные репозитории Github, которые будут служить вам долгое время.

Читать далее
Всего голосов 153: ↑123 и ↓30+114
Комментарии44

Информация

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