.
ChatGPT jest bardzo fajne, bo mozna nim sobie uproscic prace programisty. Mam za zadanie np przetworzyc jakies dane i zrobic na nich operacje X i wiem ze biblioteki A,B,C moga byc do tego uzyte. To pisze w GPT "Napisz prosze program ktory zrobi X z pomoca biblioteki A" i GPT normalnie wygeneruje dzialajacy przyklad, w ten sposob mozna szybko wybrac najlepiej sie nadajaca do zadania biblioteke.Mozna nawet "Prosze GPT, wyszukaj mi liste bibliotek z internetu ktore moge uzyc do wykonania zadania i powiedz ktora jest najlepsza" Dopoki menago sie skapnie to mozna w ten sposob skrocic wykonania zadania z calego dnia do 3 godzin a reszte dnia lezec brzuchem do gory.
W sumie to już trochę zapomniałem o nim, pobawiłem sie nim przez 2-3 tygodnie zarówno hobbystycznie jak i w pracy i wyszło mi z głowy żeby go dalej używać
Ja nie wiem jak go można nie używać, do programowania co prawda jeszcze go nie użyłem i nie widzę go w tej roli, chyba że do rozwiązywania problemów na leetcode albo prac domowych z informatyki.
Ale mi się głównie przydaje do tego czego nie lubię najbardziej czyli pisania dokumentacji i ogólnie wszelkiego rodzaju tekstów.
Przykładowo maila wystarczy teraz napisać prostym językiem pisząc wprost o co nam chodzi i poprosić żeby przetłumaczył to na język biznesowy; pomaga też pisać profesjonalnie brzmiącą dokumentację a wczoraj skorzystałem żeby mi napisało list motywacyjny na podstawie luźnego tekstu i mojego doświadczenia i efekt był imponujący. Normalnie nie wysyłam listów motywacyjnych nawet jak jest taki wymóg ale teraz nie jest to żaden problem.
Na pewno przyda się też kiedyś w przyszłości do pisania pism urzędowych czy ich interpretowania. Ogólnie odmieniające życie narzędzie, ostatnio czułem taką odmianę jak zdobyłem swojego pierwszego smartfona.
Ale już zaczyna się wprowadzanie opłat:
Dla zainteresowanych, płatna wersja PLUS została właśnie udostępniona w Polsce.
Jako asystent, tak jak ktoś wyżej pisał, do przykładowego użycia danej biblioteki czy konstrukcji, nad którą się zastanawiamy - czemu nie? Jasne, że nie można w tym pokładać nie wiem jakiej wiary i nie należy tego pchać do MR bez dokładnego dostosowania do projektu i upewnienia się czy działa tak, jak chcemy, ale jako taki bardziej efektywny/szybszy SO może się sprawdzi. Skądinąd zupełną abstrakcją dla mnie byłoby pchanie tam 'pracowego' kodu - nie wiem, co się z tym dalej dzieje, czy nie naruszałoby to poufności itp. dlatego lepiej w pytaniach zapewne posługiwać się Foo
, Bar
itd.
A wybrańcy już testują nowy MS Bing
https://www.chip.pl/2023/02/nowy-bing-po-polsku-opinie-wrazenia
Imo jak na razie mocno średnio, kazałem mu napisać metodę jakiegoś serwisu uzupełniającą jakiś randomowy ViewModel i napisać do niej unit test z wykorzystaniem DI tego serwisu. Razultat.
[TestClass]
public class ViewModelTests
{
private List<User> users;
private List<Account> accounts;
[TestInitialize]
public void Initialize()
{
users = new List<User>
{
new User { Email = "[email protected]", PrivateData = "User 1 private data" },
new User { Email = "[email protected]", PrivateData = "User 2 private data" },
};
accounts = new List<Account>
{
new Account
{
Name = "Account 1",
Emails = new List<Email>
{
new Email { Email = "[email protected]", Name = "Email 1" },
new Email { Email = "[email protected]", Name = "Email 2" },
}
},
new Account
{
Name = "Account 2",
Emails = new List<Email>
{
new Email { Email = "[email protected]", Name = "Email 3" },
new Email { Email = "[email protected]", Name = "Email 4" },
}
},
};
}
[TestMethod]
public void FillViewModel_ShouldFillUserAndAccount()
{
var service = new DomainService(users, accounts);
IDomainService domainService = service;
var viewModel = new ViewModel();
domainService.FillViewModel(viewModel, "[email protected]");
Assert.IsNotNull(viewModel.user);
Assert.AreEqual("[email protected]", viewModel.user.Email);
Assert.AreEqual("User 1 private data", viewModel.user.PrivateData);
Assert.IsNotNull(viewModel.emails);
Assert.AreEqual(2, viewModel.emails.Count);
Assert.AreEqual("Email 1", viewModel.emails[0].Name);
Assert.AreEqual("Email 2", viewModel.emails[1].Name);
}
}
Po jailbraku całkiem nieźle działa:
bez próbuje być zbyt poprawny i przez co nie zawsze jest użyteczny.
Nie wiem jak u was, ale u mnie najczęściej wywala Network Error i praktycznie nic nie da się tam wygenerować