Pull to refresh
108
0

Software architect

Send message

OpenAI запускает GPT Store — как создать свой custom GPT с внешними API вызовами

Level of difficulty Easy
Reading time 7 min
Views 13K

Вчера вечером, 10 января 2024 г., OpenAI официально запустили GPT Store.

Давайте разберемся, что это такое, и что оно дает. А затем создадим свой собственный GPT и добавим его в GPT Store.

Концепция "custom GPT" в терминах OpenAI - это кастомный набор инструкций (custom prompt), который может быть создан любым пользователем ChatGPT с подпиской Plus. Каждый такой custom GPT за счет своего набора инструкций хорошо заточен под решение своей конкретной задачи. Есть custom GPT, которые хорошо пишут код, есть custom GPT, которые играют роль репетитора или психотерапевта и т.д.

Таким образом, GPT store - это большая библиотека инструкций для разных задач внутри ChatGPT. Она создается и поддерживается комьюнити и очень сильно напоминает google play market или apple app store.

Процесс создания Custom GPT заключается в том, что в интерфейсе ChatGPT пользователь составляет подробные инструкции, что и как его GPT должен делать, дает описание, придумывает название, примеры использования и т.д. - всё это сохраняется на серверах OpenAI.

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

Как работает ChatGPT: объясняем на простом русском эволюцию языковых моделей с T9 до чуда

Level of difficulty Easy
Reading time 30 min
Views 358K

В последнее время нам почти каждый день рассказывают в новостях, какие очередные вершины покорили языковые нейросетки, и почему они уже через месяц совершенно точно оставят лично вас без работы. При этом мало кто понимает — а как вообще нейросети вроде ChatGPT работают внутри? Так вот, устраивайтесь поудобнее: в этой статье мы наконец объясним всё так, чтобы понял даже шестилетний гуманитарий!

Погнали →
Total votes 357: ↑350 and ↓7 +343
Comments 283

Как ускорить работу в командной оболочке Bash

Reading time 4 min
Views 25K

Любому начинающему разработчику необходимо научиться пользоваться командной строкой. При этом для выполнения в ней команд требуется оболочка. В статье речь пойдёт об оболочке Bash, которая популярна в UNIX-подобных системах и в большинстве дистрибутивов Linux используется штатно.
Читать дальше →
Total votes 77: ↑71 and ↓6 +65
Comments 78

Разработка и тестирование Jenkins Shared Library

Reading time 6 min
Views 6.9K

В компаниях с большим количеством проектов часто возникает ситуация, когда при разработке пайплайнов мы начинаем повторять себя, добавляя в разные сервисы одинаковые конструкции. Это противоречит основному принципу программирования DRY (Don’t Repeat Yourself), а ещё усложняет внесение изменений в код. Справиться с описанными проблемами помогает Jenkins Shared Library.

Мы пообщались с Кириллом Борисовым, Infrastructure Engineer технологического центра Deutsche Bank, и узнали, какие задачи решает Jenkins Shared Library и что её внедрение даёт компании. А ещё рассмотрели кейс разработки и тестирования с примерами кода.

Читать далее
Total votes 11: ↑10 and ↓1 +9
Comments 3

Как попробовать ELK-стек за один вечер и наконец-то перестать grep'ать логи

Reading time 8 min
Views 64K

Как часто вы, в очередной раз матерясь и grep'ая простыню текста, говорили себе, что вот-вот перестанете хранить логи в файлах и переедете на ELK?

Я - часто, а виной тому кажущаяся сложность настройки всей системы в целом.

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

Дисклеймер: я не знаю всех тонкостей ELK стека и возможно данный сетап не подойдет для огромной компании с сотней проектов и терабайтами логов, но там и без этой статьи все знают. Судите строго, давайте советы мне и другим в комментариях - я буду только рад.

В данной статье мы: разберем компоненты ELK стека и развернем его одной командой; законфижим Filebeat и научим его собирать и отправлять логи; рассмотрим интерфейс Kibana и научимся искать по логам; настроим Kibana и разберемся с правами доступа; поговорим об индексах, шаблонах и об автоудалении индексов (неактуальных логов);

Читать далее
Total votes 15: ↑13 and ↓2 +11
Comments 20

Автоматизация задач в интернете. 30 лет прогресса — и к чему мы пришли?

Reading time 6 min
Views 5.8K

Грустно наблюдать человека, который ежедневно повторяет одну и ту же работу. Буквально совершенно одинаковые действия, вручную. Особенно если этот человек — ты сам. Так и хочется автоматизировать задачу, а в свободное время заняться… чем? Не проблема, мы всегда найдём чем заняться. Свободное время ведь не бывает лишним! Да уж, конечно… В итоге получается как в комиксе xkcd «Автоматизация» на КДПВ.
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Comments 1

Сделай то, сделай это, сделай сам

Reading time 4 min
Views 14K

Доброго времени суток Дамы и Господа! Многим приходилось сталкиваться с необходимостью анализа большого количества данных при помощи Python по запросам начальства или коллег. Однотипные запросы поступают с определенной периодичностью, и не составляет труда подставить новые данные в свой код и провести анализ. Но иногда из-за определенной нагрузки не всегда хочется заниматься таким анализом. Намного проще сделать скрипт с графическим интерфейсом, чтобы сам заказчик для анализа данных мог нажать пару кнопок и получить желаемый результат. Тем более, можно изначально вложить в интерфейс столько «хотелок» заказчика для анализа, сколько будет душе угодно.

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

Ловушки, которые используют кибердетективы

Reading time 5 min
Views 16K

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

DISCLAIMER: Данная статья написана в ознакомительных целях и не является руководством к неправомерным действиям или обучающим материалом для сокрытия правонарушений.

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

Что должен, но не знает про конкуренцию в PostgreSQL каждый разработчик?

Reading time 13 min
Views 20K

Опыт показывает, что разработчики редко задумываются о проблемах, которые могут возникать при многопользовательском доступе к данным. При этом практически любое web-приложение является многопользовательским и так или иначе использует блокировки при доступе к данным в БД. При неправильном использовании эти блокировки могут больно бить по пользователям, а иногда и по системе в целом. Поэтому рано или поздно каждый разработчик многопользовательских систем должен задуматься о том, как ему начать работать с БД так, чтобы пользователи не мешали другу другу. Многие считают, что это сложно, давайте вместе убедимся, что это не так.

Читать далее
Total votes 44: ↑43 and ↓1 +42
Comments 6

Как мы с друзьями собрали сервис для построения маршрутов для походов и велопутешествий ActiveTrip.me

Reading time 7 min
Views 22K

Всем привет! Меня зовут Александр, я разработчик ActiveTrip.me — cервиса для построения маршрутов для пеших, велосипедных, водных походов и путешествий, а также для хранения и группировки интересных мест в виде меток.

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

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

Интеграционное тестирование микросервисов Spring Boot в монорепозитории

Reading time 5 min
Views 7.4K

Привет, Хабр! С ростом количества микросервисов и их взаимосвязей может возникнуть потребность комплексной проверки работоспособности системы. Со временем API сервисов и их поведение может дорабатываться и изменяться, при этом хочется иметь уверенность, что система микросервисов в совокупности ведёт себя согласно ожиданиям. Мы разберём простой пример написания интеграционных тестов, которые в дальнейшем можно встроить в CI/CD-процесс для решения подобной проблемы.

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

11 худших особенностей Windows 11, и как их исправить

Reading time 8 min
Views 341K


Windows 11 вызывает смешанные чувства. С одной стороны, многие люди с удовольствием остались бы и на Windows 10. С другой стороны, есть вполне достойные причины обновиться до 11-й версии – улучшенное переключение между окнами, улучшенный контроль над виртуальными рабочими столами, свежие дизайнерские штучки – типа закруглённых уголков у окон.

Обновляясь до Windows 11, будь то обновление рабочей системы или установка на чистый диск, вы заметите несколько раздражающих особенностей – вроде контекстного меню, заставляющего вас лишний раз кликать мышкой, корявая панель задач, меню браузеров по умолчанию, из-за которого отказаться от Edge стало сложнее.

Предлагаем вашему вниманию худшие особенности Windows 11 и пути их исправления – или, по крайней мере, смягчения.
Читать дальше →
Total votes 100: ↑89 and ↓11 +78
Comments 343

Как научиться проходить собеседование в Google

Reading time 14 min
Views 14K

На этой неделе у нас выступала Ава Катушка — тренер в Verbetcetera.

Verbetcetera — буткамп для тех, кто хочет подготовиться к интервью в Большой пятерке — Google, Amazon, Facebook, Apple и Microsoft. Менторы Verbetcetera распределены по 5 странам, уже работают в компаниях-таргетах, знают все про специфику работы и требования к кандидатам на разных рынках.

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




Меня зовут Ава Катушка. Я училась в МФТИ, на факультете computer science, который называется ФИВТ. Мой третий курс был довольно сложным, у меня было много стресса, экзамены, навалились проблемы со здоровьем, семейные проблемы.

Я помню, я зашла в книжный магазин и увидела книгу «О чем мечтать». Мне стало интересно; я помнила, что когда-то о чем-то мечтала, но не помнила, о чем. Я раскрыла эту книгу, и прямо там, в «Библио-Глобусе», начала выполнять упражнения из этой книги. И оказалось, что я выполняла ожидания всех людей вокруг – моей семьи, учителей, кого угодно, кроме своих собственных. Я тогда сильно разозлилась. Мне стало интересно – чего же я, собственно, сама хочу. Позже я сидела в Парке Горького и думала об этом. Я поняла, что хочу путешествовать, хочу завести друзей – у меня была с этим проблема – и хочу с нуля написать свой вебсайт. И у меня, как по волшебству, в том году все начало сбываться.
Total votes 48: ↑39 and ↓9 +30
Comments 35

Мониторинг и профилирование Spring Boot приложения

Reading time 13 min
Views 32K

Мониторинг очень важен для современных приложений, современные приложения по своей природе сильно распределены и имеют разные зависимости, такие как база данных, службы, кеширование и многое другое. Поэтому все более важны отслеживание и мониторинг этих служб, чтобы приложение придерживалось условий SLA ( Service Level Agreement). SLA — это соглашение между клиентом и поставщиком услуг, в нем учитываются надежность, скорость отклика и другие показатели уровня обслуживания.

Мы всегда стараемся не нарушать никаких SLA, нарушение любой части SLA может иметь множество последствий. Если услуга не соответствует условиям, определенным в SLA, она можкт нанести ущерб репутации бренда и привести к потери дохода. Хуже всего то, что компания может потерять клиента в пользу конкурента из-за своей неспособности удовлетворить требования клиента к уровню обслуживания.

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

Как я готовился к собеседованию в Google

Reading time 9 min
Views 48K
Каждый инженер-программист стремится впечатлить людей своим техническим мастерством. Технологические гиганты этого мира — прекрасное место для работы технарей, которые могут предоставить услуги миллиардам пользователей. На моём недавнем собеседовании было несколько раундов, я получил предложения от Google и Amazon. В последние несколько лет онлайн-сообщество очень помогло мне в подготовке к собеседованиям. В этом посте я поделюсь всем о моём пути к собеседованию и верну вклад общества в моё обучение.


Приятного чтения!
Total votes 55: ↑50 and ↓5 +45
Comments 77

Vulnhub. Прохождение Sunset: dawn

Reading time 4 min
Views 4.5K
Следующей машиной в нашей серии прохождений будет Sunset: dawn.


Автор: whitecr0wz

Так же как и в первом прохождении нам нужно определить IP-адрес нашей цели. Для этого используем команду

netdiscover

В моем случае IP-адресом будет 192.168.1.165.

Сканирование


Начнем наше сканирование с определения открытых портов

nmap -p- 192.168.1.165



Видим, что у нас открыты 80, 139, 445 и 3306 порты, вот их мы и будем сканировать

nmap -p80,139,445,3306 -sC -sV -oN dawn 192.168.1.165



Поиск точки входа


80 порт используется сайтом, пожалуй, начнем с него.



Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 5

Vulnhub. Прохождение Sunset: nightfall

Reading time 3 min
Views 4.2K
Сегодня в нашем прохождении серии Sunset следующая коробочка – nightfall.


Автор: whitecr0wz

И как обычно мы начинаем с определения IP-адреса.

netdiscover

IP нашей машины будет 192.168.1.106.

Сканирование


Просканируем все порты

nmap -p- 192.168.1.106

Просканировав все порты, мы видим, что у нас открыты 21, 22, 80, 129, 445 и 3306 порты. Просканируем их с помощью Nmap командой

nmap -p21,22,80,129,445,3306 -sC -sV -oN nightfall 192.168.1.106 



Поиск точки входа


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



Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Comments 0

Как я научился проходить архитектурные секции

Reading time 4 min
Views 30K
Архитектурные секции у многих вызывают чувство неопределенности и тревоги: формулировки не изобилуют деталями, как проверить ответ — непонятно. При этом способность пройти архитектурную секцию отличает вчерашнего выпускника от человека, которому можно доверить строить нечто большее, чем обход бинарных деревьев. В определенный момент я решил как следует подготовиться секции по дизайну, потратил на это около пары недель и выработал системный подход, которым хочу с вами поделиться.
Читать дальше →
Total votes 45: ↑43 and ↓2 +41
Comments 18

Как отсутствие вычислительных мощностей влияло на морские сражения в мировых войнах

Reading time 17 min
Views 14K

Достичь достаточной осведомлённости о ситуации, когда GPS и компьютеров ещё не существовало, было трудной задачей



Подобная перспектива идеальна – но она была недоступной для адмиралов Первой и Второй мировых войн

"Сетецентрические боевые действия" – популярнейшая на данный момент военная концепция. В её рамках солдаты сражаются не только при помощи оружия, но и при помощи паутины датчиков и вычислительных мощностей, дающих им и их командирам превосходство в оценке ситуации на поле боя. Однако проблема, которую призван решить данный подход, существовала всегда. Я – здесь, противник где-то там. Как его найти? Как отслеживать? Как узнать, куда двигаться, после начала битвы? Как мне хотя бы свои войска отслеживать?

Задолго до того, как концепции интернета вещей заполонили всю планету, эскадры XX века первыми начали использовать систематический подход в ответе на эти вопросы. Паруса уступили место паровым двигателям, и европейские колонии расползлись по всему миру. Военные корабли начали передвигаться ещё быстрее и потребовали координации действий на ещё больших участках морей, чем ранее. Тем временем телеграфы и радио позволяли мгновенно обмениваться сообщениями на немыслимых до этого расстояниях. Всё это вместе совершило революцию в использовании военными флотами информации.
Читать дальше →
Total votes 41: ↑41 and ↓0 +41
Comments 22

Законы программирования

Reading time 20 min
Views 57K

Законы, теории, принципы и закономерности, полезные для разработчиков


Введение


Перевод репозитория github.com/dwmkerr/hacker-laws

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

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

Законы


Закон Амдала


Закон Амдала — это формула, демонстрирующая потенциал ускорения вычислительной задачи, которого можно достичь при увеличении количества ресурсов системы. Обычно он используется в параллельных вычислениях, и может предсказать наличие реальных преимуществ от увеличения количества процессоров с учётом ограничений параллелизуемости программы.
Читать дальше →
Total votes 84: ↑82 and ↓2 +80
Comments 21

Information

Rating
Does not participate
Location
Израиль
Registered
Activity