Pull to refresh
33
-7
Арсений Сапелкин @Magn

Инженер-программист

Send message

Кажется, вы больше не должны давать тестовые задания кандидатам на дом

Level of difficulty Easy
Reading time 24 min
Views 32K

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




Я возьму тестовые задания на Python, C++, Go и C#  и буду использовать только открытые источники, убрав названия компаний и прямые ссылки, чтобы исключить любые подозрения в предвзятости.


А в качестве нейронки использую ChatGPT Plus (GPT 4). Она всё еще очень глупа, много выдумывает и постоянно смешно ошибается, но как раз для таких задач годится хорошо.


И да, вместо дисклеймера. Если вы хоть немного успели «посотрудничать» с ChatGPT, то статья может показаться вам глубоко капитанскоочевидной (она такая и есть, безусловно). Но если вы вместо хайпа по нейронкам предпочитаете работать, то у вас нет времени на такие развлечения. Так что, возможно, несколько минут, которые вы сейчас потратите на прочтение, сэкономят вам много часов инвестиций в «ненастоящих стажеров» и «ненастоящих джунов». И соответственно, помогут не наделать ошибок при найме.

Читать дальше →
Total votes 39: ↑30 and ↓9 +21
Comments 195

Хороший, плохой, злой и… свободный? Сравниваем глуповатые, но усердные AI-плагины для разработки

Level of difficulty Medium
Reading time 22 min
Views 19K

Привет, Хабр! Меня зовут Арсений, я — тимлид в команде разработки инструментов разработчика KasperskyOS. Работа нашей команды заключается в том, чтобы делать жизнь разработчика ПО под нашу собственную микроядерную OS удобной, так что любые технологии, упрощающие жизнь разработчика, не оставляют нас равнодушными. Вместе со всеми мы следим за хайпом вокруг нейросетей и решили сделать небольшой обзор AI-плагинов автодополнения кода, которые каждый из нас может использовать уже сейчас.


image


В этой заметке попробуем сравнить следующие AI плагины VSCode:


  • Copilot v1.84.61 — самый нашумевший робот
  • Tabnine v3.6.45 — самый старый из трех и самый дорогой
  • Codeium v1.2.11 — самый свежий и самый малоизвестный
  • FauxPilot — Open source, self-hosted аналог Copilot, использующий модели от CodeGen; посмотрим, что может противопоставить коммерческим продуктам OSS-проект, развернутый на моем запечном сервере.

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

Читать дальше →
Total votes 49: ↑48 and ↓1 +47
Comments 12

Intel в опасности: убытки и потеря доли рынка х86-процессоров ведут Intel к банкротству?

Level of difficulty Easy
Reading time 6 min
Views 18K

В конце января 2023 года Intel опубликовала отчет о финансах за 2022 год, и это один из наихудших периодов в ее истории. А IV квартал и вовсе стал для нее убыточным: новые процессоры, как и новая стратегия гендиректора по развитию компании, не приносят успеха. И акции Intel стремительно теряют в цене. Эксперты говорят, что Intel катится в пропасть - подробнее см.: «Новый гендиректор не смог поднять Intel с колен. Выручка рухнула в пропасть, акции дешевеют, прогнозы ужасающие».

AMD за последние четыре года почти втрое увеличила свою долю в сегменте х86-процессоров. Её доля уже превышает 31% против 12,4% в конце 2018 года. Ключом к успеху AMD оказались серверные процессоры EPYC, выдавливающие с серверного рынка Intel Xeon. И новые настольные и мобильные Ryzen тоже вносят свой вклад. Эксперты уверены, что всё только начинается и в 2023 году AMD только закрепит свой успех - подробнее см.: «AMD заняла рекордную долю рынка процессоров. Intel в большой опасности».

Так что будет дальше с этой великой корпорацией? Давайте обсудим, а может ли обанкротиться такая громадная и громоздкая корпорация как Intel?

Читать далее
Total votes 45: ↑39 and ↓6 +33
Comments 54

F-строки в Python мощнее, чем можно подумать

Reading time 5 min
Views 118K

Форматированные строковые литералы, которые ещё называют f-строками (f-strings), появились довольно давно, в Python 3.6. Поэтому все знают о том, что это такое, и о том, как ими пользоваться. Правда, f-строки обладают кое-какими полезными возможностями, некоторыми особенностями, о которых кто-нибудь может и не знать. Разберёмся с некоторыми интересными возможностями f-строк, которые могут оказаться очень кстати в повседневной работе Python-программиста.

Читать далее
Total votes 98: ↑96 and ↓2 +94
Comments 25

RustDesk — self-hosted аналог TeamViewer

Reading time 2 min
Views 87K

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

Читать далее
Total votes 88: ↑87 and ↓1 +86
Comments 41

Карьера состоится при любой работе

Reading time 16 min
Views 29K

Карьеризм, карьерист — эти слова прочно засели в головах как негативные, осуждающие, характеризующие человека особого склада характера. Между тем, карьеру в каком-то смысле делает каждый из нас: для этого не обязательно ходить по головам, подсиживать, подлавливать и всеми силами устранять соперников из компании. Карьера в вакууме — это сумма знаний, навыков, особенностей темперамента, желания и воли. Однако реальность делает поправку на социум, условия жизни, здоровье, возраст. И, к сожалению, карьера может оборваться довольно трагично и рано, рецепт карьерного долголетия прост и сложен одновременно — так же, как долголетия биологического. А может, нам просто неохота? 

Читать далее
Total votes 43: ↑37 and ↓6 +31
Comments 4

Необычные карманные ноутбуки

Reading time 4 min
Views 34K

Ноутбук — привычный инструмент для айтишников, а для многих — так и вовсе незаменимый. Хорошо, когда он имеется под рукой, а еще лучше — если его можно положить в карман. Сейчас с этой ролью прекрасно справляются планшеты и смартфоны, но еще совсем недавно ультракомпактные ноутбуки занимали отдельную, очень востребованную рыночную нишу. Моделей подобных устройств существовало много, но среди них порой попадались довольно интересные и необычные экземпляры.
Читать дальше →
Total votes 30: ↑27 and ↓3 +24
Comments 80

«Миллиметрон»: как создается самый сложный космический телескоп России

Reading time 8 min
Views 19K

За Окой, на границе Московской и Тульской областей в наукограде Пущино создаётся наше астрофизическое будущее. Пущинская обсерватория не прославилась в публичной сфере мировыми открытиями, хотя специалисты помнят достижения прошлого, зато как технологическая и испытательная площадка сегодня, как и полвека назад вносит свой важный вклад в изучение дальнего космоса. В наши дни там создается и испытывается самый сложный российский космический телескоп.
Узнать подробности
Total votes 108: ↑108 and ↓0 +108
Comments 30

Как полностью выгореть на примере разработки квеста

Reading time 6 min
Views 26K

Всем привет, это продолжение истории разработки: «Как в 30 лет стать старым и никому не нужным на примере разработки квеста». Прошел год и мне есть что рассказать.

Прошлая статья окончена на подготовке к выпуску в Steam «долго страдального» квеста над которым я работал 4 года.

10 марта запланированная дата релиза, но в игре остается критический баг который ломает все анимации. И что самое странное на моей конфигурации он не разу не встречается, но программист, композитор и игроки которые протестировали демо постоянно пишут о нем.

Читать далее
Total votes 92: ↑92 and ↓0 +92
Comments 105

if-then-else кто-то должен был изобрести

Reading time 8 min
Views 28K
Привет, сегодня мы обсудим кажущуюся абсурдной идею: if-then-else кто-то должен был изобрести.


If-then-else — это условные конструкции в языках программирования: если (if) что-то истинно, тогда (then) выполнить одно действие, иначе (else) выполнить другое действие.

Это ведь просто английский? На самом деле нет.

В обычной речи на английском нельзя использовать «else» в качестве союза, это слово используется так только в компьютерных программах.

Откуда вообще взялось else? Это загадка. Настолько микроскопическая деталь, что она не попала в книги по истории языков программирования.
Читать дальше →
Total votes 85: ↑85 and ↓0 +85
Comments 38

5 современных альтернатив старым инструментам командной строки Linux

Reading time 6 min
Views 50K
Используя более современные альтернативы наряду со старыми инструментами командной строки, можно получить больше удовольствия и даже повысить производительность труда.



В повседневной работе в Linux / Unix мы используем множество инструментов командной строки — например, du для мониторинга использования диска и системных ресурсов. Некоторые из этих инструментов существуют уже давно. Например, top появился в 1984 году, а первый релиз du датируется 1971 годом.

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

Это отличные инструменты, которые необходимы многим системным администраторам. Однако сообщество разработало альтернативные инструменты, которые предлагают дополнительные преимущества. Некоторые из них просто имеют современный красивый интерфейс, а другие значительно улучшают удобство использования. В этом переводе расскажем о пяти альтернативах стандартным инструментам командной строки Linux.
Читать дальше →
Total votes 83: ↑75 and ↓8 +67
Comments 106

И снова о втором мониторе из планшета…

Reading time 3 min
Views 36K
Оказавшись обладателем среднего такого планшета с нерабочим сенсором (старшенький сынуля постарался) долго думал, куда приспособить. Гуглил, гуглил и нагуглил (раз, два, Хакер №227), а так же много других рецептов с участием spacedesk, iDispla и некоторых других. Вот только незадача — у меня Linux. Погуглив ещё, я нашел несколько рецептов и путем несложного шаманства получил приемлемый результат.

Читать дальше →
Total votes 72: ↑65 and ↓7 +58
Comments 35

OpenSceneGraph: Интеграция с фреймворком Qt

Reading time 15 min
Views 6K


Введение


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

Пример интеграции OSG в приложение, разработанной в QtDesigner. Этот пример будет подробно разобран ниже


С другой стороны, для ускорения разработки на C++ применяются как сторонние библиотеки, расширяющие возможности этого языка (вроде boost), так и целые фреймворки, позволяющие легко и непринужденно разрабатывать кроссплатформенные приложения широкого функционального назначения. Одним из таких фреймворков является ультра популярный Qt. Как бы не ругали Qt за его метаобъектный компилятор и прочие недостатки и неудобства, сила Qt в обширной библиотеке классов, решающей все мыслимые задачи кроссплатформенной разработки, а так же в концепции "сигналы — слоты", реализующей подсистему обмена сообщениями между классами. На сигналах и слотах основаны так же методы взаимодействия приложения с операционной системой, а так же межпроцессное взаимодействие.

И, черт возьми, было бы весьма интересно совместить две технологии: Qt и OSG. Подобную задачу пришлось решать моему коллективу, о чем я уже писал в одной из своих публикаций. Однако, этот вопрос хотелось бы раскрыть немного шире, и данная статья будет как раз на эту тему.
Total votes 17: ↑17 and ↓0 +17
Comments 0

docker-pretty-ps — наконец-то удобный для чтения «docker ps»

Reading time 3 min
Views 15K
Вы не одиноки в этом мире, если вот уже долгое время не рады тому, как выглядит стандартный вывод docker ps. Хотя и существуют различные workarounds на эту тему (см. в конце материала), однажды какой-нибудь энтузиаст должен был сделать «что-то ещё»… и это произошло в наступившем 2019 году. Имя ему — docker-pretty-ps.

Задумка автора банальна донельзя: горизонтальный вывод и цвета для наглядности.



А в качестве аудитории утилиты называются «скорее разработчики, чем хардкорные DevOps'ы или SRE-инженеры».
Читать дальше →
Total votes 37: ↑35 and ↓2 +33
Comments 4

Kali Linux для начинающих

Reading time 2 min
Views 135K


14 декабря будет запущена новая «Test lab» — лаборатория тестирования на проникновение, имитирующая работу реальной корпоративной сети, в которой каждый желающий сможет проверить свои навыки тестирования на проникновение. Поскольку порог вхождения для выполнения всех заданий лаборатории достаточно высокий, мы решили выпустить небольшой гайд для начинающих по работе с Kali Linux 2018.4 — одним из самых популярных пентест-дистрибутивов, разработанного как преемник BackTrack и основного на Debian.
Читать дальше →
Total votes 25: ↑23 and ↓2 +21
Comments 9

FreeCAD — новый метод рисования

Reading time 5 min
Views 95K

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


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


Вступление


У меня возникла простая задача — сделать 3D модель своей квартиры. Не просто "стенки в размер", а все балки, выступы и загибы. Я попробовал одну, вторую, третью программу… Я отчаялся (началось с SweetHome3D, а закончилось blender и inkscape). Они все были чертовски неудобными. Среди программ, которые я попробовал, был и FreeCAD, который я пропустил по причине "нифига не сделать" и "не работает толком". После того, как я отчаялся, я пошёл по второму кругу. На этот раз, чуть больше читая документацию… И FreeCAD не только "взлетел", но и ещё и открыл для меня восхитительный новый мир точного векторного рисования, основывающегося на Constrains.

Читать дальше →
Total votes 62: ↑57 and ↓5 +52
Comments 350

Плавное введение скрама самими разработчиками (разрешаем противоречия, настраивем команду, избегаем конфликтов)

Reading time 5 min
Views 4.2K
В репрессивной модели управления лидер будет, как правило, подбирать сотрудников либо глупее себя, либо таких, которых он может «загипнотизировать» или шантажировать тем или иным образом. Тут ищут «псов», которыми легко управлять и которыми легко травить. Спускаемые сверху идиотские указания будут без изменений проксироваться вниз и те, кто сможет проксировать их ниже — выживают, остальные лопаются. habr.com/post/124716
Все ли так плохо с тим-лидерством? Навязывать ли скрам формально, когда его потребность никто не понимает, и она не особо ощущается, или вводить его элементы постепенно, чтобы команда почувствовала его эффективность.

Конфликты интересов частая ситуация в рабочих коллективах и не только в программистских. И зачастую нет правых и виноватых, есть столкновение опыта и видений. Как раскрыть потенциал всех сотрудников и получить синергию, когда 1+1 = 11, а не 2.

Навеяло после футбольного чемпионата мира по футболу. История вывода на колею скрама. Все события вымышлены, все совпадения случайны. Обобщенная и сильно упрощенная ситуация.
Читать дальше →
Total votes 19: ↑11 and ↓8 +3
Comments 16

Как жить без const?

Reading time 5 min
Views 14K
Часто, передавая объект в какой-либо метод, нам бы хотелось сказать ему: «Вот, держи этот объект, но ты не имеешь право изменять его», и как-то отметить это при вызове. Плюсы очевидны: помимо того, что код становится надёжнее, он становится ещё и более читаемым. Нам не нужно заходить в реализацию каждого метода, чтобы отследить, как и где изменяется интересующий нас объект. Более того, если константность передаваемых аргументов указана в сигнатуре метода, то по самой такой сигнатуре, с той или иной точностью, уже можно предположить, что же он собственно делает. Ещё один плюс – потокобезопасность, т.к. мы знаем, что объект является read only.
В C/C++ для этих целей существует ключевое слово const. Многие скажут, что такой механизм слишком ненадёжен, однако, в C# нет и такого. И возможно он появится в будущих версиях (разработчики этого не отрицают), но как же быть сейчас?
Читать дальше →
Total votes 19: ↑13 and ↓6 +7
Comments 37

Что мы читали в июле: как найти время на чтение, пять книг для тимлида и немного свежих статей

Reading time 4 min
Views 35K


В сегодняшнем выпуске нашей рубрики Алексей Катаев рассказывает о том, как он научился читать по 17 книг в месяц, не тратя на это кучу времени, и рекомендует пять полезных произведений из разряда «нетленки», показавшихся ему наиболее полезными. А в конце — традиционная, но маленькая подборка ссылок из нашего рабочего Слака.
Читать дальше →
Total votes 33: ↑28 and ↓5 +23
Comments 39

Профилирование приложений в Visual Studio 2010

Reading time 6 min
Views 46K
Сегодня мы будем замерять производительность нашего приложения с помощью Visual Studio Profiling Tool.

Visual Studio Profiling Tool позволяет разработчикам измерять, оценивать производительность приложения и кода. Эти инструменты полностью встроены в IDE, чтобы предоставить разработчику беспрерывный контроль.
В этом руководстве мы по шагам профилируем приложение PeopleTrax используя Sampling и Instrumentation методы профилирования, чтобы выявить проблемы в производительности приложения.

image

Много картинок.
Читать дальше →
Total votes 63: ↑48 and ↓15 +33
Comments 24
1

Information

Rating
Does not participate
Works in
Registered
Activity