Hirdetés

HP ThinClient T610 WiFi-vel

T610-es vékonykliensünk belül rendelkezik rengeteg porttal, csatlakozóval, kihasználni őket persze nem egyszerű, de nem is lehetetlen.

Már egy pár hónapja kitaláltam, hogy WiFi-vel is lehetne bővíteni a masinát, erre alkalmas a lapon találtam x1-es PCIe slot.

A rögzítésre használt aljzatokat külön kiemelném, mert ezek nem fognak nekünk sokat segíteni abban, hogy bármit is rögzítsenek, ugyanis lehetetlen kicsi csavart tudnak csak fogadni, amit nekem sikerült beletekernem, azt egy notebook hűtőjéből operáltam ki, habár még ez is túl hosszú, nem fogja szorosan a kártyát.

HP ThinClient T610 2.5"-os HDD-vel

A napokban beszereztem egy ilyen T610-es vékonyklienst bizonyos célokra, de már az elejétől fogva kerestem, hogyan lehetne majd HDD-t is pakolni bele, szerencsére port akad a masinában, sajnos beépítési lehetőség mérsékelten.

Alapkiszerelésen egy SATA SSD-vel szerelik, főlötte látható egy szabad SATA foglalat kiépítve, ide tudunk csatlakoztatni másik egységet, ha meg tudjuk oldani a HDD vagy SSD rögzítését.

A megoldást egy spéci keret adta, amelyet valaki megalkotott, és bárki ki tudja nyomtatni magának, itt elérhető, letölthető, persze vannak más ötletek is, amelyeket itt meg is nézhetünk.

Intel® Centrino® Advanced-N 6235

Akinek Intel® Centrino® Advanced-N 6235 WiFi kártya van a gépében, az dobhatja ki is nyugodtan.

2170p géppel küzdöttem és még küzdök is, de ilyen hulladék kártyát még nem láttam, nem tudom, ki szaladt még ilyenbe bele, de gyakorlatilag az összes driver rossz, vagy mondjuk a kártya maga. Intel fórumok is tele vannak mindenféle gonddal, legyen szó bármilyen gépről.

Kicseréltem egy 6205-ösre (így nincs BT, de, na), ezzel már jobb a helyzet, legalább csatlakozni bír rendesen, még, ha a teljesítménye nem is az igazi, de itt már simán bejátszhat maga a gép az antennáival.

Intel® Centrino® Advanced-N 6235 WiFi kártya eladó :DDD

HP EliteBook 2560p optibay - nem áll le a gép

Vettem egy optibay-t a notebook-jaimba, de azt vettem észre, hogy nem tudom lekapcsolni a gépet. Windows önmagában leáll, de a kikapcsolási folyamata a gépnek megáll, és a végtelenségig bekapcsolva tudna maradni.

A probléma az optibay-jel van, sok notebook-nál jelentkezik, megoldási lehetőségek:

1. 1 pin leragasztása

2. ha van kapcsoló a HDD caddy-n:

Esetleg máshol van a kapcsoló:

Hyper-V, Opteron és a power plan

Virtual machine teljesítményét nem kis mértékben tudja befolyásolni a hyper visor power plan beállítása. Neten olvasható számtalan hasonló probléma vagy tapasztalás.

Itt csak egy SuperPI futás látható, de a számokból látszik némi különbség, emellett ugyanez előjött egy sima Windows Update telepítésnél vagy bármi másnál.

Hyper-V Server 2016
2xAMD Opteron 4170 HE

PHP Web service 3: Extensibility

Hol is tartunk? Service van, valamilyen szinten védve is (idő közben a WSDL is), de ezen túl is van még lehetőség a szolgáltatásunk fejlesztésében, mert üzenetek sima kiszolgálásán túl nem sok mindenre alkalmas, illetve akadhatnak olyan feladatok, amelyek megoldása felesleges zavart kelthetnek a service osztályunk kódjában.

A kulcsa a bővíthetőségnek szintén az, hogy service implementálásakor ne kelljen sokat azzal foglalkoznunk, mi hogyan működik, illetve ne keltsünk a feleslegesnél nagyobb zavart a rendszerben.

Mi az egyáltalán, amivel foglalkoznunk kellene?
- valamilyen extra header-t kell kezelnünk a szerveren
- paraméterek vizsgálata a service adott operation-jének meghívása előtt
- operation meghívása
- visszatérési érték vizsgálata serialization előtt
- valamiféle hibakezelés
- más?

Mivel rendelkezünk eddig?
- valahogyan értelmeződék a kérés (MVC routing - handler mechanizmus)
- autentikálunk, ha kell
- kiszolgáljuk a WSDL kéréseket
- kiszolgáljuk a SOAP kéréseket, futtatunk egy SoapServer-t

PHP Web service 2 - Az őrület folytatódik: autentikáció

Az előző epizódban láthattuk, hogy egészen egyszerűen és olvashatóan össze lehet rakni egy web szolgáltatást PHP-val, de azzal az volt a gond, hogy bárki használhatta a service-t, nem volt korlátozva az elérhetősége.

Éppen ezért megnézzük, mit lehet tenni az ellen, hogy illetéktelen lepjék el a webszerverünket, alkalmazásunkat.

Azért, hogy elsőre ne bonyolítsuk a dolgokat, nézzük meg a legegyszerűbbet: Basic Authentication Scheme

[ íme egy ismertető ]

Most, hogy már mindent tudunk (kérés --> hát te ki vagy --> én vagyok!), lássuk, mit tudunk kihozni, hogy egyszerű legyen használnunk:

<?php

/* namespace játék */

class SvcController extends WebService {

public static function __static() {
typeof(__CLASS__)->Attributes()->MethodAttributes()->Add("Method1", new Operation(typeof(new InPut()), "method1 leírása"))->Add("VoidMethod", new Operation());
}

protected function _authenticateBy() {
return new BasicServiceAuthenticator();
}

protected function _onAuthenticating(AuthenticationRequest $authRequest) {
$authRequest->SetAuthenticated($authRequest->Password() == "password");
}

public function Method1(InPut $in) {
/* ... */
return $out;
}

public function VoidMethod() {
/* ... */
}

}

PHP: interface implementálás trait-tel

NEM LEHETSÉGES

Mégis kiválóan használható! :)

Tételezzük fel, hogy van egy ilyesmi interface-ünk:

<?php

namespace System\Collections;

interface IEnumerable {

function Avg($callback = NULL);

function Count($callback = NULL);

function Contains($item, $comparer = NULL);

function FirstOrDefault($callback = NULL);

function GroupBy(\Closure $callback);

function OrderBy(\Closure $callback);

function Sum($callback = NULL);

function ToArray();

function ToList();

function ToLookup(\Closure $keyMaker);

function Where(\Closure $callback);

function Any($callback = NULL);

function Union($enumerable);

function UnionAll($enumerable);

function Take($take);

function SelectMany(\Closure $func);

function Zip($other, \Closure $func);
}

PHP függőségek: web szerver

PHP-nak vannak függőségei, bár nem egészen olyanok, mint egy embernek. Közvetlenül a webszerver felé vannak elvárásai, kicsivel közvetettebben pedig az operációs rendszer felé (gondoljunk csak a fájlrendszerek különbségeire például).

Ezeknek a függőségeknek a kiiktatása lehetetlen (persze, ha a PHP-t nem weben keresztül használjuk, nyilván nincs webszerveres függősége), viszont megpróbálhatjuk kisimítani, vagy legalább elrejteni a rendszerek közötti különbségeket. A kettő közül igazán okos megoldások az elsőre vannak, utóbbi esetében pedig fokozottan oda kell figyelni, hogyan is használjuk az erőforrásokat, most az elsőre adok egy ötletet.

Mikor PHP-s alkalmazásokat fejlesztünk, elsőnek mindig szükségünk van egy vázra, amibe a konkrét alkalmazást pakoljuk, ez lehet általunk készített vagy már kész keretrendszer is. Több példát is lehet látni arra, hogy bizonyos metódusok belsejében hatalmas if-else block-ok vannak arra vonatkozóan, hogy az adott környezet épp mit támogat az adott funkcionalitás elérése érdekében. Szerencsések vagyunk, mert a PHP objektum orientáltsága mindent megad nekünk, hogy ekkora hülyeségeket ne kövessünk el. Ami miatt még örülhetünk, hogy az idő előrehaladtával a különbségeket maga a PHP fogja lekezelni, ha nem is teljesen.