🇺🇸 English
🇷🇺 Русский
🇺🇦 Українська
Голубая
Фиолетовая
Cветлая
Терминал
Norton
Войти
🌟 Уже 9 лет вместе! И наши стабильные -50% скидки - классика, проверенная временем!
ПРОФЕССИОНАЛЬНЫЙ Full Stack Разработчик logo

Отзывы на курс "ПРОФЕССИОНАЛЬНЫЙ Full Stack Разработчик"

PROFESSIONAL Full Stack Developer

57 3
Информация Комментарии (66)
User Avatar
  • User Avatar
    hazartilirot
    LESSON 362

    So if you follow my example written in lesson 113 - 116 (down below) relating to new BeanPropertyRowMapper(Customer.class),

    you need to change something. Just place getGender() and convert it to String.

    @Override
    public void insertCustomer(Customer customer) {

    var sql = "INSERT INTO customer(name, email, age, gender) VALUES (?, ?, ?, ?)";

    jdbcTemplate.update(
    sql,
    customer.getName(),
    customer.getEmail(),
    customer.getAge(),
    customer.getGender().toString()
    );
    }

    @Override
    public void updateCustomer(Customer customer) {

    var sql = """
    UPDATE customer
    SET (name, email, age, gender) = (?, ?, ?, ?)
    WHERE id = ?
    """;

    jdbcTemplate.update(
    sql,
    customer.getName(),
    customer.getEmail(),
    customer.getAge(),
    customer.getGender().toString(),
    customer.getId()
    );
    }
  • User Avatar
    hazartilirot
    LESSON 323 - Well, If I initially didn't know Javascript I would never pick the language up from his lessons. He barely scratched the surface.
  • User Avatar
    hazartilirot
    Lesson 284 - Don't listen to Mama Samba. Use CONST in most cases and seldom use LET if you need a variable to change. But you must never use VAR unless you know the difference.
  • User Avatar
    hazartilirot hazartilirot
    Finally, he explains the reason you must avoid using VAR in the 300th.
  • User Avatar
    hazartilirot
    Lesson 280. Bloody hell.... Why does he explain Javascript from scratch? On top of that he has switched Intellij IDEA to VS Code!!!!!!!!!!!!
  • User Avatar
    hazartilirot
    LESSON 261 - He seems to have forgotten to show how he retrieved DOCKERHUB_ACCESS_TOKEN and DOCKERHUB_USERNAME values from Docker or did I miss something? I think I didn't skip any lesson....
  • User Avatar
    lino479Nick hazartilirot
    1. Sign in to Docker Hub.
    2. Select your username in the top-right corner and from the drop-down menu select Account Settings.
    3. Select the Security tab and then New Access Token.

    (Hope it helps)
  • User Avatar
    hazartilirot
    LESSON 258 I personally had an issue with substituting the latest string with an environment variable. Here's what I suggest doing:

    https://github.com/amigoscode/full-stack-professional/issues/12

    I don't know what the difference is since I use MacOS as well as Mama Samba. However, mine is 13.3.1 Ventura. It must be the only difference.
  • User Avatar
    lino479Nick hazartilirot
    (I ssh-ed in the EC2 instance and ran this command)

    sed -i -E 's_(/:)([^"]*)_\1'${BUILD_NUMBER}'_' Dockerrun.aws.json

    !!! don't forget to replate & with your data !!!

  • User Avatar
    hazartilirot
    LESSON 252 - Before you type the Github Workflow schema select it at the bottom right corner of the Intellij IDEA. Literally select Schema and type Github workflow - it will helps you to autocomplete the parameters.

    As for his port at 03:40 - I didn't understand the issue.... how his local version of Postgres might interfere with the version of Postgres on Github (containerised)?
  • User Avatar
    hazartilirot
    "To be honest, this is (pretty much) it" - is the most used expression by Mama Samba))))))
  • User Avatar
    hazartilirot
    LESSON 236 ADD the line POSTGRES_DB: customer to compose.yml

    https://github.com/amigoscode/full-stack-professional/issues/11
  • User Avatar
    hazartilirot
    LESSON 204 - THE LUCKY ME! )

    https://github.com/amigoscode/full-stack-professional/issues/10
  • User Avatar
    george
    This course is a huge scam, it has no quality whatsoever. The practical project of the course is a joke, terrible, ugly, and poor. This guy is supported by fanboys who are infatuated with him. There are better options on Udemy. Anyone who says this course is good is blind, because this course is garbage. It's not worth my precious time with this crap, but thanks for bringing it up anyway, at least it prevents people from being tricked into buying this crap from this scammer.
  • User Avatar
    hazartilirot george
    Talking of quality what do you mean? Could you be more specific. He uses a decent microphone recording his video in full hd, his pronunciation is quite legible, he uses background when he appears in a flesh, he provides slides and documentations. He refers to the official docs. He wants to encompass the whole range of technologies. It is not about Spring Boot in particular.

    Yes, he has some irritating issues with scrolling frantically window up and down now and again, shaking the cursor like crazy....

    But it's just the way he explains things. Embrace his peculiarities. You may be surrounded by people at work who would make you feel even worse. All people are strange and complicated. We are all different.
  • User Avatar
    idk name george
    why??
  • User Avatar
    hazartilirot
    LESSON 200 (IT MIGHT BE CHANGED IN THE FUTURE)
    Configuring Jib plugin - the issue with mvn clean package

    https://github.com/amigoscode/full-stack-professional/issues/9

    You re going to encounter the issue. Mind I'm working with JDK 20. There is a chance yours is a former version;
  • User Avatar
    hazartilirot
    Lesson 138 Timeline 2:35

    https://github.com/amigoscode/full-stack-professional/issues/8


    That's really strange! We've got a block **@BeforeEach** setup.... why don't we place the piece of code into it?

    ```
    var customer = new Customer(
    FAKER.name().fullName(),
    FAKER.internet().safeEmailAddress(),
    new Random().nextInt(18, 99)
    );

    customerJDBCDataAccessServiceUnitTest.insertCustomer(customer);
    ```

    Why does he use the email address to find the customer we've just inserted? He basically relies on a method he hasn't tested yet. It's a shame!

    If the previous test is passed we mainly need to rely on it instead.


    ```
    @Test
    void selectCustomerById() {
    var customer1 = customerJDBCDataAccessServiceUnitTest.selectAllCustomers()
    .stream()
    .findAny()
    .orElseThrow();
    var customer2 = customerJDBCDataAccessServiceUnitTest.selectCustomerById(customer1.getId())
    .orElseThrow();
    assertThat(customer1.getId()).isEqualTo(customer2.getId());

    }
    ```
    We don't care what email our inserted user has.... All we care about is if there is a user at all. We get the user and then we test our method looking the user by its ID. Here is the code:

    ```
    @BeforeEach
    void setUp() {
    customerJDBCDataAccessServiceUnitTest = new CustomerJDBCDataAccessService(getJdbcTemplate());

    var customer = new Customer(
    FAKER.name().fullName(),
    FAKER.internet().safeEmailAddress(),
    new Random().nextInt(18, 99)
    );

    customerJDBCDataAccessServiceUnitTest.insertCustomer(customer);
    }

    @Test
    void selectAllCustomers() {

    var customers = customerJDBCDataAccessServiceUnitTest.selectAllCustomers();

    assertThat(customers).isNotEmpty();
    }

    @Test
    void selectCustomerById() {
    var customer1 = customerJDBCDataAccessServiceUnitTest.selectAllCustomers()
    .stream()
    .findAny()
    .orElseThrow();
    var customer2 = customerJDBCDataAccessServiceUnitTest.selectCustomerById(customer1.getId())
    .orElseThrow();
    assertThat(customer1.getId()).isEqualTo(customer2.getId());

    }
    ```


  • User Avatar
    hazartilirot
    Lesson 129

    export FORMAT="ID\t{{.ID}}\nNAME\t{{.Names}}\nIMAGE\t{{.Image}}\nPORTS\t{{.Ports}}\nCOMMAND\t{{.Command}}\nCREATED\t{{.CreatedAt}}\nSTATUS\t{{.Status}}\n"

    docker ps --format=$FORMAT


    BTW Before the129th lesson, don't use

    assertThat(postgreSQLContainer.isHealthy()).isTrue();

    it won't work with "postgres:latest". There should be a specific release supporting the feature.
  • User Avatar
    hazartilirot
    Lesson 119 He just wants me to die with frustration. What the fuck he is doing with the update method.

    updateCustomer has more unnecessary logic!

    Okay folks, I just share with you my implementation. What he does is just overkill.

    @Override
    public void updateCustomer(Customer customer) {
    var sql = """
    UPDATE customer
    SET (name, email, age) = (?, ?, ?)
    WHERE id = ?
    """;

    jdbcTemplate.update(
    sql,
    customer.getName(),
    customer.getEmail(),
    customer.getAge(),
    customer.getId()
    );
    }
  • User Avatar
    hazartilirot
    Lesson 116 - I have found it and it's much easier than the fuss you suggest with the RowMapper! Just use new BeanPropertyRowMapper(Customer.class) - and Bob's your uncle! :D

    @Override
    public Optional selectCustomerById(Integer customerId) {
    var sql = "SELECT * FROM customer c WHERE c.id = ?";


    return jdbcTemplate.query(
    sql,
    new BeanPropertyRowMapper(Customer.class),
    customerId
    ).stream().findAny();

    }
  • User Avatar
    hazartilirot
    Lesson 113 - OMG!

    My implementation is succinct:

    @Override
    public List selectAllCustomers() {
    var sql = "SELECT * FROM customer";

    return jdbcTemplate.query(sql, new BeanPropertyRowMapper(Customer.class));
    }

    and don't forget to inject the Postgres language into query. I don't know why he hasn't shown it yet.
  • User Avatar
    hazartilirot
    ?lesson=88

    Wow! The updateCustomer method is shown at 2:10 with a quite ridiculous implementation. Why do we need to overload the method with the logic? What's the point in all those conditions? If he had a choice between PUT and PATCH - yes, this logic would be justified, but for the PUT itself - it doesn't matter if there is a change in any object's field or it updates partially, let's say just the email or name.
    The code looks disgusting and verbose.
  • User Avatar
    barneymorris.us hazartilirot
    hi, can i contact you somehow directly?
  • User Avatar
    hazartilirot barneymorris.us
    Find me on Telegram. I use the same. nickname Don't forget to place AT before it.
  • User Avatar
    zapolski.shop hazartilirot
    i agree with you. Can you give a correct implementation?
  • User Avatar
    hazartilirot zapolski.shop
    Oh Christ! I've just realised I should've implemented Model Mapper for Dto to map an Entity and vice versa,.
  • User Avatar
    hazartilirot zapolski.shop
    As simple as that:

    PUT is a method of modifying resource where the client sends data that updates the entire resource .
    PATCH is a method of modifying resources where the client sends partial data that is to be updated without modifying the entire data.


    ````
    @PutMapping(
    path = "{customerId}",
    consumes = {
    MediaType.APPLICATION_JSON_VALUE,
    MediaType.APPLICATION_XML_VALUE
    }
    )
    public void updateCustomerById(
    @PathVariable("customerId") Integer customerId,
    @RequestBody CustomerDto customerDto
    ) {
    customerService.updateCustomerById(customerId, customerDto);
    }
    ````

    In the controller we use @PutMapping. PUT would update the entire resource regardless you change one field or all of them. Why bother putting any additional logic?

    ````
    public void updateCustomerById(Integer customerId, CustomerDto customerDto) {
    var customer = getCustomer(customerId);

    customer.setName(customerDto.name());
    customer.setEmail(customerDto.email());
    customer.setAge(customerDto.age());

    customerDao.updateCustomer(customer);
    }
    ````

    DONE!
  • User Avatar
    hazartilirot
    ?lesson=88 timeline 1:44

    public void updateCustomer(Customer customer) {
    customers.add(customer)
    }

    And how is the method going to override the actual object in the List if it simply adds a new object to the end of the List? That's really interesting.
  • User Avatar
    Anonymous
    Omg nigger teacher wtf
  • User Avatar
    hazartilirot Anonymous
    Mate, I've just passed the 67th lesson, the video is called Outro. Basically he appears in the episode and says that you can suck his black dick and lick his balls with your tongue. He told something about your white arse. He's going to smash your bitch up or something alike. Unfortunately I couldn't make it out. Anyway I was the first who watched it, I pay my debts. I have passed the information. Prepare yourself for the duty! :D
  • User Avatar
    Anonymous hazartilirot
    Wow wow untermensch, stay with your degenerated fantasies silent, now.
  • User Avatar
    Amstel Anonymous
    What a cretin, dumbstard
  • User Avatar
    oops Anonymous
    it's 2023, and people like you still exists(
  • User Avatar
    Amstel oops
    Not his fault. His brain is operating on Pentium II bro.
  • User Avatar
    Anonymous Amstel
    Lol, like niggers brain?
  • User Avatar
    Anonymous oops
    Google iq lefty,
Команда внимательно читает ваши комментарии и оперативно на них реагирует. Вы можете спокойно оставлять запросы на обновления или задавать любые вопросы о курсе здесь.