{
    "id": 877,
    "date": "2018-06-07T22:27:09",
    "date_gmt": "2018-06-07T22:27:09",
    "guid": {
        "rendered": "http:\/\/hayperek.pl\/?p=877"
    },
    "modified": "2018-07-21T20:25:10",
    "modified_gmt": "2018-07-21T20:25:10",
    "slug": "alarmy-cz-1",
    "status": "publish",
    "type": "post",
    "link": "https:\/\/hayperek.pl\/pl_pl\/2018\/06\/07\/alarmy-cz-1\/",
    "title": {
        "rendered": "Alarmy &#8211; cz.1"
    },
    "content": {
        "rendered": "<p>Jedn\u0105 z najwa\u017cniejszych funkcji, jakie udost\u0119pnia\u0142 u\u017cytkownikowi HypeFIS by\u0142u alarmy. Ich zadaniem by\u0142o informowanie kierowcy o przekroczeniu przez jeden lub wiele wybranych pomiar\u00f3w dozwolonych warto\u015bci. Przyk\u0142ady zastosowania mo\u017cna mno\u017cy\u0107: przekroczona temperatura p\u0142ynu ch\u0142odniczego, zbyt wysoka temperatura oleju czy spalin, niskie napi\u0119cie akumulatora, itd. Ka\u017cdy z alarm\u00f3w posiada\u0142 w\u0142asne, spersonalizowane okienko komunikatu. Oczywi\u015bcie nie mo\u017ce tej przydatnej funkcjonalno\u015bci zabrakn\u0105\u0107 w nowym projekcie!<\/p>\n<p>Optymalnym rozwi\u0105zaniem by\u0142aby zatem pr\u00f3ba przeportowania istniej\u0105cego kodu na now\u0105 platform\u0119. Jest to o tyle prostsze, i\u017c podobnie jak w przypadku widget\u00f3w, \u017ar\u00f3d\u0142em danych pomiarowych b\u0119dzie backend, kt\u00f3ry r\u00f3wnie\u017c zosta\u0142 przeniesiony z poprzedniego projektu. Dzi\u0119ki temu oba komponenty praktycznie nie wymagaj\u0105 drastycznej przebudowy, a jedynie kosmetycznych zmian. Podobnie rzecz si\u0119 ma z mechanizmem konfiguracji. On r\u00f3wnie\u017c wymaga jedynie dostosowania do nowego formatu danych tekstowych. Co ciekawe, cz\u0119\u015b\u0107 funkcjonalno\u015bci zwi\u0105zana z obs\u0142ug\u0105 &#8222;drzemki&#8221; alarmu pokrywa si\u0119 z istniej\u0105cym ju\u017c mechanizmem alert\u00f3w, kt\u00f3ry opisywa\u0142em w jednym z <a href=\"http:\/\/hayperek.pl\/pl_pl\/2018\/04\/25\/alarmy-komunikaty-i-ostrzezenia-czyli-regula-dry-w-praktyce\/\">poprzednich artyku\u0142\u00f3w<\/a>.<\/p>\n<p>Jedyn\u0105 cz\u0119\u015bci\u0105, kt\u00f3r\u0105 musimy napisa\u0107 od nowa b\u0119dzie interfejs graficzny, czyli okna powiadomie\u0144 oraz fragment menu. <\/p>\n<p>Dzisiejszy artyku\u0142 pokazuje ponownie jak bardzo warto\u015bciow\u0105 cech\u0105 kodu jest przeno\u015bno\u015b\u0107 i re-u\u017cywalno\u015b\u0107. I c\u00f3\u017c&#8230; chyba ju\u017c do znudzenia b\u0119d\u0119 powtarza\u0142, \u017ce najlepsz\u0105 drog\u0105 aby to osi\u0105gn\u0105\u0107, jest staranne projektowanie i przemy\u015blana struktura oprogramowania \ud83d\ude42 Ale to ju\u017c wiemy!<\/p>",
        "protected": false
    },
    "excerpt": {
        "rendered": "<p>Jedn\u0105 z najwa\u017cniejszych funkcji, jakie udost\u0119pnia\u0142 u\u017cytkownikowi HypeFIS by\u0142u alarmy. Ich zadaniem by\u0142o informowanie kierowcy o przekroczeniu przez jeden lub wiele wybranych pomiar\u00f3w dozwolonych warto\u015bci. Przyk\u0142ady zastosowania mo\u017cna mno\u017cy\u0107: przekroczona temperatura p\u0142ynu ch\u0142odniczego, zbyt wysoka temperatura oleju czy spalin, niskie napi\u0119cie akumulatora, itd. Ka\u017cdy z alarm\u00f3w posiada\u0142 w\u0142asne, spersonalizowane okienko komunikatu. Oczywi\u015bcie nie mo\u017ce tej [&hellip;]<\/p>",
        "protected": false
    },
    "author": 1,
    "featured_media": 1141,
    "comment_status": "closed",
    "ping_status": "open",
    "sticky": false,
    "template": "",
    "format": "standard",
    "meta": {
        "footnotes": ""
    },
    "categories": [
        3
    ],
    "tags": [],
    "class_list": {
        "0": "post-877",
        "1": "post",
        "2": "type-post",
        "3": "status-publish",
        "4": "format-standard",
        "5": "has-post-thumbnail",
        "6": "hentry",
        "7": "category-stodni",
        "9": "post-with-thumbnail",
        "10": "post-with-thumbnail-large"
    },
    "_links": {
        "self": [
            {
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/posts\/877",
                "targetHints": {
                    "allow": [
                        "GET"
                    ]
                }
            }
        ],
        "collection": [
            {
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/posts"
            }
        ],
        "about": [
            {
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/types\/post"
            }
        ],
        "author": [
            {
                "embeddable": true,
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/users\/1"
            }
        ],
        "replies": [
            {
                "embeddable": true,
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/comments?post=877"
            }
        ],
        "version-history": [
            {
                "count": 2,
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/posts\/877\/revisions"
            }
        ],
        "predecessor-version": [
            {
                "id": 915,
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/posts\/877\/revisions\/915"
            }
        ],
        "wp:featuredmedia": [
            {
                "embeddable": true,
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/media\/1141"
            }
        ],
        "wp:attachment": [
            {
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/media?parent=877"
            }
        ],
        "wp:term": [
            {
                "taxonomy": "category",
                "embeddable": true,
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/categories?post=877"
            },
            {
                "taxonomy": "post_tag",
                "embeddable": true,
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/tags?post=877"
            }
        ],
        "curies": [
            {
                "name": "wp",
                "href": "https:\/\/api.w.org\/{rel}",
                "templated": true
            }
        ]
    }
}