THẢO LUẬN

Jul 28th, 2019 10:08 a.m.

@HuyDQ a.PNG b.PNG c.PNG Đây bận.Khi mình sửa tin ở trang 2 nhưng khi sửa xong mình muốn nó ở trang 2 nhưng nó quay về trang 1

0
Jul 28th, 2019 9:58 a.m.

khi sửa một tin một trang là như nào bạn có thể nói rõ hơn hoặc show code đoạn đó được không ?

0
Jul 28th, 2019 9:33 a.m.

cảm ơn bạn mình đã cập nhật lại câu trả lời rồi nhé 👍

+2
Jul 28th, 2019 9:10 a.m.

Khi muốn queue hoạt động thì phải chạy lệnh php artisan queue:work như khi em deploy lên hosting r thì đâu có chạy lệnh đó dc đâu nên có cách gì khắc phục ko anh ???

0

"Với Javascript, trình biến đổi code đã từng phổ biến nhất trong một khoảng thời gian đã từng là CoffeeScript (được phát hành vào khoảng năm 2010), trong khi babel và TypeScript là những ngôn ngữ được dùng thường xuyên trong thời gian gần đây"

Bạn ơi, cho mình hỏi là:

  • "CoffeeScript" sao lại là trình biến đổi code.?
  • "babel" sao lại là ngôn ngữ?

😐 Mình thấy hơi khó hiểu ở đoạn này. Cảm ơn bạn.

0
Jul 28th, 2019 8:58 a.m.

Dùng UserResource::collection() thay cho UserCollection cũng được mà nhỉ?

+1
Jul 28th, 2019 8:44 a.m.

vậy có cách nào lấy tất cả các mã loại sản phẩm mà k cần tạo "EditProductViewModel.cs" k ạ, e muốn viết vào luôn ProductController thì làm như nào, e search mãi chả thấy 😦(

0

đã đi được tới series 2, tks bác 😄

0
Jul 28th, 2019 5:40 a.m.
  • Thứ nhất đối với việc sử dụng API Resouces có sẵn của Laravel thì với mỗi model bạn sẽ phải định nghĩa 2 class. Theo bài viết trên của mình thì ví dụ bạn có model User thì bạn cần định nghĩa 2 class với API Resources lần lượt là:
use Illuminate\Http\Resources\Json\JsonResource;

class UserResource extends JsonResource
{
    public function toArray($request)
    {
        return [
           'id' => $this->id
            'username' => $this->username,
            'email' => $this->email,
            'avatar' => $this->avatar,
        ];
    }
}

Class này sẽ có nhiệm vụ với mỗi bản ghi dữ liệu của model user thì nó sẽ biến đổi thành như trên - tương ứng với hàm transform() trong package trong bài viết của mình. Nếu bạn muốn biến kết quả trả về là một collection và đính kèm thêm data gì đó khác như message thông báo mặc định thì sẽ phải định nghĩa thêm một class mới là:

namespace App\Http\Resources;

use Illuminate\Http\Resources\Json\ResourceCollection;

class UserCollection extends ResourceCollection
{
    public function toArray($request)
    {
        return [
            'data' => $this->collection,
           'meta' => [
               'message' => 'Success'
           ],
        ];
    }
}

Thì với một danh sách các user truyền vào qua controller như :

return new UserCollection(User::all());

Còn với fractal bạn chỉ cần tạo thêm hàm là addMeta() như sau:

fractal($users, new UserTransformer)->addMeta(['message' => 'Success']);
  • Thứ hai là API Resources của Laravel theo mình đọc thì nó không hỗ trợ việc $defaultIncludes hay $availableIncludes cho các relation của model nghĩ là nếu model của bạn có relation thì bạn sẽ phải viết sẵn vào trong UserResource như này:
<?php
use Illuminate\Http\Resources\Json\JsonResource;

class UserResource extends JsonResource
{
    public function toArray($request)
    {
        return [
           'id' => $this->id
            'username' => $this->username,
            'email' => $this->email,
            'avatar' => $this->avatar,
            'posts' => PostResource::collection($this->posts),
        ];
    }
}

Nhìn chung mình đã từng thửu dùng thằng này từ lúc nó mới ra nhưng thấy không được linh hoạt lắm nên không sử dụng luôn từ đó. Còn hiện tại thì không rõ nó có update gì không vì mình đọc trên docs vẫn thấy không có gì mới hẳn.

+2
Jul 28th, 2019 4:31 a.m.

Chuyên nghiệp quá 😍

+1
Jul 28th, 2019 2:50 a.m.

Laravel từ bản 5.5 đổ đi có thể tạo Resources. Cách hoạt động của nó em thấy cũng tương đồng so với cái Fractal - Transformers. A thấy thằng Fractal - Transformers có ưu điểm gì hơn so với thằng resources

+1
Jul 27th, 2019 2:18 p.m.

Chào anh, em cũng đang nghiên cứu gRPC với nodejs, nhưng em gặp phải 1 vấn đề là không cách nào debug được ở code server, em sử dụng visual studio code.

+1
Jul 27th, 2019 11:38 a.m.

Mình có ý hiểu Host + Could computer ... cũng đơn giản chỉ một cái máy tính, máy tính thì đều là máy tính. Trong bài viết mình chỉ mô tả việc deploy lên "máy tính" của mình (Macbook pro 2017), vì nó có những phần việc chung nhất cho việc deploy. Nếu được chọn một dịch vụ để deploy sản phẩm online thì mình sẽ chọn EC2 của Amazon vì mình biết mỗi thằng này 😃

0
Jul 27th, 2019 11:34 a.m.

Ứng dụng C# gọi tới api curl -X GET http://127.0.0.1:12480/classify?image_url=https://kenh14cdn.com/2016/sunflower-002-1470471840262.jpg' , ứng dụng sẽ nhận được kết quả, hoặc sử dụng API upload file. Bạn hãy xem ứng dụng C# như một client, trong bài viết mình cùng curl như một client.

0
Jul 27th, 2019 11:32 a.m.

Đúng rồi, bài viết của mình có tiêu đề [Nodejs] Dùng selenium, cheerio để crawl dữ liệu , trong khi mục đích chính của selenium là công cụ thực hiện kiểm thử tự động các ứng dụng web.

0
Jul 27th, 2019 11:30 a.m.

Mình cũng vậy!

0
Jul 27th, 2019 11:30 a.m.

Puppeteer là Chrome headless browser nghĩa là chỉ chạy auto trên trình duyệt chrome. Chỉ so sánh Selenium với Puppeteer, cheerio là một thư viện nodejs, nó không có cùng tính chất với 2 thằng trên nên chúng không cùng nhóm để so sánh. Selenium thì chạy được nhiều loại trình duyệt miễn là trình duyệt đó có driver hỗ trợ cho Selenium.

0
Jul 27th, 2019 11:27 a.m.

Được, mục đích của Selenium chính là làm việc này. Bạn có thể chạy song song các Selenium node container bằng docker (mỗi container là một trình duyệt) hoặc bạn có thể tải trực tiếp các driver của các trình duyệt để chạy trực tiếp trên cùng một máy tính.

0
Jul 26th, 2019 5:57 p.m.

Kể từ React 16, Reac-addons-perf không được hỗ trợ. Vui lòng sử dụng các công cụ định hình của trình duyệt của bạn để hiểu rõ hơn về thành phần nào được kết xuất lại.

0
Jul 26th, 2019 4:46 p.m.

Cảm ơn bài viết của a 😃) +1

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí