Html-, css- és php-help

Jelentkezz be a hozzászóláshoz.

Bercy
#22286
Remelem hamar de facto szabvannya vallik a TypeScript es vegre eltunik a sok kulonbozo mod a modulok kezelesere (CommonJS, Require JS, AMD), mert ebbe bele lehet orulni.
j0nNyKa
#22285
jelen bizony
húztam halasztottam, mert nem éreztem magamhoz közelinek ezeket, de muszáj volt belemenni, szerintem kb onnantól, hogy az angular 2-ről bármilyen infónk van

SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/

Bercy
#22284
Igen, az alapelv jo. Ez a lenyege a CommonJS-nek, hogy ujra felhasznalhato, univerzalis (lehetoseg szerint) modulokat keszits vele majd azokat hasznald fel a projekteid kulonbozo pontjan.
Amennyiben ez egyfajta hobby projekt szamodra akkor javaslom, hogy ismerkedj meg az ES6 szabvannyal vagy meg jobb ha a TypeScript-tel, mert az a kozeli jovo (vagy a jelen inkabb).
passatgt
#22283
Köszi. Mean.io-t azért nem néztem eddig, mert frontend része nem lesz a projektnek, de ettől függetlenül vannak benne hasznos infók. Most ott tartok példának okáért, hogy emailt szeretnék küldeni nodemailer-el, erre csináltam egy új funckiót, így:


//Init nodemailer
var nodemailer = require('nodemailer');

//Create reusable transporter object using the default SMTP transport
var transporter = nodemailer.createTransport('smtps://email%40gmail.com:[email protected]');

//Setup default email data(for now, just the from address)
var mailDefaultOptions = {
from: '"Node Mailer" <[email protected]>'
};

//Function to send emails, so we don't need to init nodemailer each time
function sendEmail(to,subject,text){

var mailOptions = {
from: mailDefaultOptions.from,
to: to,
subject: subject,
text: text
};

// send mail with defined transport object
transporter.sendMail(mailOptions, function(error, info){
if(error){
return console.log(error);
}
console.log('Message sent: ' + info.response);
});

}

//Add the function to exports
exports.sendEmail = sendEmail;


Majd amikor valamelyik route-ban küldeni akarok egy emailt, akkor:


var mailer = require('../app/utils/mailer');
………….
mailer.sendEmail('[email protected]','teszt tárgy','teszt szöveg');


Ez így működik tök jól, csak érdekelne, hogy ez egy jó megoldás e ilyen és hasonló problémákra.
Utoljára szerkesztette: passatgt, 2016.04.12. 06:38:01

Bercy
#22282
Attol, hogy a server.js elejen definialod nem lesz globalisan elerheto. Alapesetben minden modulban be kell hivni a sajat fuggosegeket.
j0nNyKa
#22281
MEAN.IO példákat keress neten, meg egyébként valami jslintet lőjj be alá, már elég csúnya a kód így néhány sor után is

SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/

passatgt
#22280
Végül node.js mellett döntöttem, amúgy is meg akarom tanulni, szóval ez egy jó projekt lesz kezdésnek😊 És rögtön lenne is egy problémám:

Próbálom a projektet kicsit struktúrálni, jelenleg így néz ki:

server.js

var express = require('express');
var app = express();
var mongoose = require('mongoose');
var passport = require('passport');
var config = require('./config/database'); // get db config file
var User = require('./app/models/user'); // get the mongoose model
var helpers = require('./utils/helpers');

//...

var apiRoutes = express.Router();
var users = require('./routes/users');
apiRoutes.get('/memberinfo', passport.authenticate('jwt', {session: false}), users.memberinfo);
app.use('/api', apiRoutes);

//...


routes/users.js

module.exports.memberinfo = function(req,res,next){

return res.json({success: true, message: helpers.getName()});

};


Indításkor nem dob hibát, viszont ha meghívom get-el a /api/memberinfo-t, ez a válasz:
ReferenceError: helpers is not defined

Amit a server.js elején definiálok, annak nem kéne globálisan is elérhetőnek lennie?
Utoljára szerkesztette: passatgt, 2016.04.11. 11:24:38

MerlinW
#22279
<#eljen>

[merlinw.org]

Jim Morrison
#22278

ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/

passatgt
#22277
Köszi. Eddig az Apigility tetszik a legjobban.

Bercy
#22276
Lumen + Dingo vagy Apigility. Ez utobbi egy kicsit mas megkozelites.
MerlinW
#22275
Silex vagy Slim

De, ha nem muszáj a PHP, akkor Node.js + express + sequelize
Utoljára szerkesztette: MerlinW, 2016.04.06. 21:24:56

[merlinw.org]

passatgt
#22274
Tudtok ajánlani nagyon egyszerű PHP-s scriptet/keretrendszert, amivel egyszerűen tudok csinálni REST API-hoz backendet? Igazából a munka nagy részét a Firebase végezné, tehát tényleg csak annyi kéne, amivel egyszerűen tudok endpointokat létrehozni, szépen formázva adja vissza a válaszokat stb...

Jim Morrison
#22273
Neha csak ki kell irnom magambol...^^

ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/

j0nNyKa
#22272

SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/

Jim Morrison
#22271
Megint 1 kis PHPUnit testhez kéne egy kis help.

Lehetséges, hogy amit használok dataProvidernek json fájlban, az "expect" rész egy részét ne vegye figyelembe?
Gondolok itt olyanra, hogy, hogy a mai dátum szerepel a visszakapott stringben, akkor egy bizonyos nap, ha a dataproviderben is az van megadva akkor jó. De ha következő nap futtatjuk, akkor ugye már a tegnap beírt dátumhoz hasonlítja ami nem jó.
Még ha ez a dinamikus tartalom egyszer szerepelne azt mondom okés, de mi van ha mondjuk hatszor?

PL:
"ma 04.04 van."
ha ezt ma futtatom akkor fasza, nem kapok errort, de ha mondjuk holnap, akkor azt kapom, hogy:
"ma 04.05 van." (a dataProviderben meg ugye "ma 04.04 van." )

egye fene, megoldom setUpBeforeClass -al.
Utoljára szerkesztette: Jim Morrison, 2016.04.04. 22:02:07

ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/

Jim Morrison
#22270
j0nNyKa nak köszi a Mock tippet, ha jól látom ez lesz az.
Addig is maradta a fapados megoldás, dataproviderben megadtam, hogy hibás legyen e vagy ne, és ha annak kell lennie, akkor simán csak a ->hiba() t hivom meg, nem a feldolgoz-t... ^^

ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/

Jim Morrison
#22269
PHPUnit:
Egy sima osztályt kellene tesztelni, egy SESSION kulcsot nulláz lényegében le. Ha sikereres akkor ez, ha sikertelen akkor meg amaz történik. PHPUnitban hogy tudnám megoldani, hogy elhasaljon az osztályon belüli session kulcs nullázása ?

Kb ilyen az osztály amit tesztelni kell:


class Osztaly
{
public function feldolgoz()
{
..
if ($masik->SessionNullaz())
{
return $this->siker();
}
else
{
return $this->hiba();
}

}
public function siker()
{
return "siker";
}
public function hiba()
{
return "hiba";
}
}

Szóval jó lenne elérni, hogy a bizonyos Sessiun kulcs kinullázása sikertelen legyen, és "hiba"-t adjon vissza
Utoljára szerkesztette: Jim Morrison, 2016.03.29. 17:31:25

ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/

passatgt
#22268
Én sem látok rá módot... valszeg az lesz, hogy API kulccsal meg header-el nagyjából megnézem, hogy azért mégse legyen tök egyértelmű és inkább megpróbálok arra fókuszálni, hogy amit visszaadok választ, az legyen valahogy lekódolva úgy, hogy ne legyen felhasználható csak az applikáción belül valahogy.

SzirmosSzisza
#22267
Ezt még mindig tudod hívni bárhonnan, nem csak Androidos appból (#22261-ben is kb ezt írták)

“A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable” _____/|_____\o/___ Cápatámadás

j0nNyKa
#22266
session pl segít, egyébként kötözködhetünk is, abból meglesz a megoldás

SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/

SzirmosSzisza
#22265
De megint nem a kérdésére válaszoltok, mi akadályoz meg, hogy ugyanazt a folyamatot curl vagy egyéb más klienssel végig vidd? Ugyanúgy megkapod a tokent és ugyanúgy el tudod küldeni akármivel.

“A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable” _____/|_____\o/___ Cápatámadás

j0nNyKa
#22264
auth token mivel mindig egy generált dolog szerver oldalon, így ha azt használod az api hívásnál, jó vagy
ha nem OAuth2-t használsz, használj azt, és kb meg is van oldva a problémád

SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/

SzirmosSzisza
#22263
Szerintem sehogy. User-Agentet és valami saját headert tudsz nézni, imho ezt nem lehet 100%-osan levédeni.

“A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable” _____/|_____\o/___ Cápatámadás

passatgt
#22262
Igen, JWT-t használok, de a kérdés nem erre vonatkozott. Röviden annyi, hogyan tudom megakadályozni azt, hogy az API hívásokat a saját applikációnkon kívülről is elérhetők legyenek?

Bercy
#22261
Elo lepesben termeszetesen autentikalni kell a felhasnzalot. Ez tortenhet kulondoboz adatok/tulajdonsagok/stb bekeresevel. Boven olvashatsz rola a neten. A legelterjedtebb megoldas a "amit tudsz" alapu azonositas (user/password) de manapsag a "ami vagy" is kezd elterjedte vallni a touch id miatt.
Miutan az API-d azonositotta a felhasznalot azutan hasznalhatsz egy tokent. Manapsag eleg elterjed a JWT (json web token). Az kliens app minden egyes keresnel ujra kuldi a tokent (a token valtozhat munkamenetek es akar keresek kozott is).
passatgt
#22260
Egy natív mobilos appot csinálok ami egy saját rest api-val fog kommunikálni. Az applikációban be tudnak regisztrálni és be tudnak lépni a felhasználók. Belépés után a felhasználó paramétereivel elérek pár endpointot az api-ban. Hogyan tudom azt limitálni, hogy csak belépés után, a mobil alkalmazásból érkező api hívásokra válaszoljon a rendszer?

Első ötletem az volt, hogy "Beleégetek" az applikációban egy API kulcsot amit ellenőrzök a szerveren és mivel https-en kommunikálok, ez nem fog látszódni. Ez iOS-en még jó is lenne, de egy APK simán visszafejthető és megvan az API kulcs.

Más ötlet esetleg, hogy biztonságosabb legyen? Ráadásként a későbbiekben egy-egy felhasználónak szeretnék jogot adni arra, hogy a saját rendszerében is felhasználhassa az API-t, tehát valami ilyen megoldást keresek, ami részben kinyitható a külvölág felé is.

MerlinW
#22259
Jaja én is Docler-t szoktam ajánlani. Magas specifikáció, gyors szerverek, jó support.

[merlinw.org]

SzirmosSzisza
#22258
Nekem ramnode-nál meg digitalocean-nál vannak. Ramnode-nál, ha elég az OpenVZ akkor van gép kb ~5.5k/év áron, de van rendes kvm is, csak az értelemszerűen drágább. Digitalocean-nál, meg ha esetleg diák vagy akkor githubról lehet szerezni $50-nyi kupont. Ha magyar kell akkor passz, általában marha drágák, ahogy nézem a docler kb olyan árban van mint az az webidea, csak több rammal meg tárhellyel, cserébe nem korlátlan adatforgalom (kérdés, hogy a másiknál ténylegesen korlátlan-e, de sztem 1TB elég havonta).

“A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable” _____/|_____\o/___ Cápatámadás

#22257
thx
j0nNyKa
#22256
tevagy
én amúgy webideánál vagyok, ők gecijóak

SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/

#22255
jóni pls <#idiota>
Jim Morrison
#22254
<#alien2>

ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/

j0nNyKa
#22253
tudom csak reklámoztam kicsit, hátha benyalod!

SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/

#22252
virtual private server, nem VPN
j0nNyKa
#22251
ipoltalom obviously

SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/

#22250
jóféle VPS-t tud valaki ajánlani?
SzirmosSzisza
#22249
Lövésem sincs, nem értek a PHP-hoz. Ezt meg ezt nyálazd át.

“A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable” _____/|_____\o/___ Cápatámadás

j0nNyKa
#22248
használj a foreachekben beszédesebb változóneveket, és akkor fogod látni

SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/

kekeN7
#22247
Ja bocsi, jogos, másolás miatt benne maradt egy kis felesleg 😄 (mondjuk működött) Meg előtte nyilván kapcsolódok, csak azt nem másoltam be


$newsdata = $mysqli->query("SELECT `id`, `title`, `date` FROM `news` ORDER BY `date` DESC"😉;


Cat 02: köszi, de ezzel a kiírás hogy történik? Pont az a lényeg, amivel bajban vagyok 😄
Nyilván a selectbe is bele kell írni, de hogy a tömbösdibe hova rakom és hol olvasom ki, az a rész nekem kínai
Utoljára szerkesztette: kekeN7, 2016.03.20. 22:25:44

j0nNyKa
#22246
a kódra

SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/

kekeN7
#22245
Mármint a kódra gondolsz vagy az én körítésemre?

SzirmosSzisza
#22244
Gondolom bele kell még rakni a SELECT-be a titlelinket, meg

$nav<$year><$month>[$news<'id'>] = $news<'title'>;

helyett

$nav<$year><$month>[$news<'id'>]<'title'> = $news<'title'>;
$nav<$year><$month>[$news<'id'>]<'link'> = $news<'titlelink'>;

És átírni a kód többi részét is ennek megfelelően.

szerk.: így talán szebb

$nav<$year><$month>[$news<'id'>] = array("title"=>$news<'title'> , "link"=>$news<'titlelink'> );
Utoljára szerkesztette: SzirmosSzisza, 2016.03.20. 22:15:52

“A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable” _____/|_____\o/___ Cápatámadás

j0nNyKa
#22243
ezt az első sort nem értem, wtf is that 😄

SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/

kekeN7
#22242
Van egy ilyenem:


$newsdata = $mysqli->query($sql = "SELECT `id`, `title`, `date` FROM `news` ORDER BY `date` DESC"😉;

foreach ( $newsdata as $news ) {
$year = date('Y', $news<'date'>);
$month = date('F', $news<'date'>);
$nav<$year><$month>[$news<'id'>] = $news<'title'>;
}


<ul class="archive_year pad-top">
<?php foreach ( $nav as $k => $v ) { ?>
<li class="years"><?php echo $k ?>
<ul class="archive_month">
<?php
foreach ( $v as $k2 => $v2 ) {
?>
<li class="months"><i class="icon-caret-right"></i> <?php echo $k2.' ('.sizeof($v2).')' ?>
<ul class="archive_posts">
<?php
foreach ( $v2 as $k3 => $v3 ) {
?>
<li class="posts"><i class="icon-angle-right"></i><a href="#"><?php echo $v3 ?></a></li>
<?php
}
?>
</ul>
</li>
<?php
}
?>
</ul>
</li>
<?php
}
?>
</ul>


Ez így tökéletesen működik. Viszont nekem még egy dolog kéne bele, a link helyére, egy szintén az adatbázisból kiolvasott "titlelink" érték. A foreach-es történetet sajnos még mindig nem látom át (egyébként is csak barkácsolok), valaki bele tudná nekem kalapálni? Sokat segítene vele. Köszi előre is! 😊

Utoljára szerkesztette: kekeN7, 2016.03.20. 21:45:57

Jim Morrison
#22241
Ja mondjuk igaz, régről bent maradt, valamiért meg se fordult a fejemben hogy átírjam... :c

ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/

SzirmosSzisza
#22240
Miért jobb így létrehozni, mint hivatkozni rá úgy, hogy $value<"akármi">? (vagy hasonló, gondolom asszociatív tömbön mész végig)

“A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable” _____/|_____\o/___ Cápatámadás

j0nNyKa
#22239
ja nem, azt így szokásí

SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/

Jim Morrison
#22238
van egy ilyen:

foreach ($r as $key => $value)
{
$$key = stripslashes($value);
}

és akkor nekem ez létrehoz olyan változókat, hogy $kutya , $macska , $teknos.
Viszont mivel nem úgy hoztam létre őket, hogy $kutya = "Magdi", ezért az IDE pirossal aláhúzza, mert undefined. Ezt részben ki lehet kerülni így:

foreach ($r as $key => $value)
{
/** @var $kutya $description */
/** @var $macska $description */
$$key = stripslashes($value);
}

kérdés: van e valami más, jobb mód?
Utoljára szerkesztette: Jim Morrison, 2016.03.04. 22:00:06

ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/

j0nNyKa
#22237
mit jelent a kérdésed?

SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/