Suuret kiitokset! Pienillä muokkauksilla tuntuisi toimivan ja vihdoin pääsen tehtävässä eteenpäinToimisiko tämä, en testannut. Tämän lisäksi sitten funktio, joka etsii seuraavan sanan tiedostosta ja syöttää sen tälle funktiolle.
Kysymyksen muotoilusta 5/5, mutta koitetaannyt arvata mitä tässä haetaan.Ehkä tyhmä kysymys, mut kysytään kuitenki.. mikä ero datanomil ja viestintä- ja tietotekniikalla?
Ehkä tyhmä kysymys, mut kysytään kuitenki.. mikä ero datanomil ja viestintä- ja tietotekniikalla?
Melkein topicin valinnasta vielä bonuspiste.Kysymyksen muotoilusta 5/5, mutta koitetaannyt arvata mitä tässä haetaan.
Datanomi - Tieto- ja viestintätekniikan perustutkinto - Ammattikoulu 3v
Tradenomi - Tietojenkäsittely - AMK 3,5v
Insinööri - Tieto- ja viestintätekniikka - AMK 4v
Kandi ja Maisteri - Tietojenkäsittelytiede - YO 3+2v
Jos koulunpenkintä aikoo alalle, niin lukiosta on enemmän iloa, kun datanomin papruista.
Käy listaa läpi ja laske indeksi nykyisen päivän ja ennustepäivän välisestä erosta. Lopeta jos se on suurempi kuin kaksi, tai kolme jos haluat kuluvan päivän ja seuraavat kolme päivää. Lisää seuraava ennustelämpötila taulukkoon indeksin kohtaan, jos siinä indeksissä ei ole lämpötilaa tai nykyinen ennuste on suurempi kuin taulukossa oleva.Nyt meni sormi suuhun. Tarkoituksena on suodattaa OpenWeather Mapin Api datasta kolmen seuraavan päivän korkeimmat lämpötilat javascriptillä. Korkeimmat lämpötilat (sekä mahdollisestin muutakin dataa siihen liittyen) näyttävät asettuvan kello 15:00 ja tuosta datasta löytyy aikaleimat kohdasta dt_txt. Tuo data päivittyy 3 tunnin välein.
Indeksistä 0 löytyy tämän hetken sää. Seuraavassa indeksissä on aina sää kolmen tunnin kuluttua edellisestä.
Ei tässä mitään valmista koodia haeta, mutta hieman osviittaa miten tuo olisi järkevä ratkoa ja miten tuota dataa suodatetaan.
Kiitoksia. Lähden siis ratkomaan tätä jotakuinkin noin.Käy listaa läpi ja laske indeksi nykyisen päivän ja ennustepäivän välisestä erosta. Lopeta jos se on suurempi kuin kaksi, tai kolme jos haluat kuluvan päivän ja seuraavat kolme päivää. Lisää seuraava ennustelämpötila taulukkoon indeksin kohtaan, jos siinä indeksissä ei ole lämpötilaa tai nykyinen ennuste on suurempi kuin taulukossa oleva.
Edit. Indeksin voi laskea vaikka niin, että ensin tallettaa nykyisen päivän muuttujaan. Ennusteita läpi käydessä tarkistetaan onko ennusteen päivä sama kuin ennen ja jos ei ole, niin indeksiä kasvatetaan yhdellä ja päivämuuttujaan vaihdetaan uusi päivä. Päivänä siis päivä kuukaudesta, eli 1-31, ei muuta.
Toinen vaihtoehto on ruma tekstifiltteröinti, tyyliä data.list.filter((v) => (v.dt_txt.indexOf('15:00:00') !== -1));Kiitoksia. Lähden siis ratkomaan tätä jotakuinkin noin.
Ehkä ruma, mutta näyttäisi toimivan hienosti.Toinen vaihtoehto on ruma tekstifiltteröinti, tyyliä data.list.filter((v) => (v.dt_txt.indexOf('15:00:00') !== -1));
Pistät filtteröintiin tarvittavan JS-koodin samaan HTML-tiedostoon niin olisi ainakin aika yksinkertainen ja pommin varma ratkaisu. Onko nyt joku erityinen ongelma miksi se ei toimi offline?Tein pienen Javascript-sovelluksen, joka lukee csv-tiedoston tekee siitä html-taulukon. Html-taulukon päällä on dynaaminen hakukenttä, jolla pystyy filtteröimään taulukkoa.
Ratkaisu toimii nätisti VS Coden Live Serverillä, mutta tuo tarvisi saada toimimaan jotenkin myös standalone-tilassa ilman servua ja VS Codea. Tarkoitus on, että tuotannon pojat saa offline-tilassa sen omalta koneeltaan auki.
Miten tätä kannattaa lähestyä?
Javascriptin pitää ladata samassa kansiossa oleva csv-tiedosto.Pistät filtteröintiin tarvittavan JS-koodin samaan HTML-tiedostoon niin olisi ainakin aika yksinkertainen ja pommin varma ratkaisu. Onko nyt joku erityinen ongelma miksi se ei toimi offline?
How to open a local disk file with JavaScript?Javascriptin pitää ladata samassa kansiossa oleva csv-tiedosto.
Thanks. Tein nyt File API:lla tämän. Ihan riittävän hyvä.How to open a local disk file with JavaScript?
Mutta tuokin vaatii, että käyttäjä valitsee tiedoston. Mitää keinoa lukea JS:llä käyttäjän koneen tiedostojärjestelmää ei tietoturvasyistä ole.
CSV:n pitää olla helposti päivitettävissä. Nyt riittää, että exporttaa kerran viikossa tiedoston ERP:stä.Miksei laita server side includella sitä dataa suoraan js/html-tiedostoon?
Kuulostaa sille, ettei Windows tue noin pitkiä parametreja. C# itsessään kyllä nähtävästi osaa homman mutta Windows ei. Miksi et yksinkertaisesti tallenna kuvaa johonkin temp-hakemistoon ja lataa sitä myöhemmin sieltä? Toinen huomio on se, että tuo serverimage-parametri saattaa ihan hyvin viitata kuvan polkuun eikä mihinkään base64-koodattuun versioon kuvasta (mutta voin olla väärässäkin, kun en paremmin tiedä).Onko mahdollista ohittaa tuota parametrin maksimikokoa C#:ssa? Ohjelmassa yritetään muuttaa valittu kuva Base64 muotoon ja ja lähettää parametrina toisen ohjelman käynnistykseen.
Tulee liitteessä oleva virhe. Ilman b64, ohjelma toimii. Mitään ideoita?
Jep, oma valistunut arvaus on se, että yritetään antaa se Base64 encoodattu kuva komentoriviparametrina tuossa ja tuossa sitten käyttiksen rajat vastaan sen parametrin maksimipituudessa, eli luultavasti se kuva kannattaisi tallentaa johonkin temppi hakemistoon, lukea sieltä ja poistaa niin kuin Xiyng tuossa sanoikin. Joku Windows/C# guru osaa varmaan korjata jos höpisen aivan pehmeitä.Kuulostaa sille, ettei Windows tue noin pitkiä parametreja. C# itsessään kyllä nähtävästi osaa homman mutta Windows ei. Miksi et yksinkertaisesti tallenna kuvaa johonkin temp-hakemistoon ja lataa sitä myöhemmin sieltä? Toinen huomio on se, että tuo serverimage-parametri saattaa ihan hyvin viitata kuvan polkuun eikä mihinkään base64-koodattuun versioon kuvasta (mutta voin olla väärässäkin, kun en paremmin tiedä).
Ei mitään hajua, mutta nämä "jotkut herjat" kannattaa aina liittää mukaan spoilereihin ilman eri pyyntöä. Voi auttaa ratkaisussa.mutta aina tulee jokin herja
Tarkoitin, että jos joku tietää toimivan tutoriaalin tai vastaavat ohjeet, niin voisin kokeilla.Ei mitään hajua, mutta nämä "jotkut herjat" kannattaa aina liittää mukaan spoilereihin ilman eri pyyntöä. Voi auttaa ratkaisussa.
VSCode ja PHP CS Fixer: osaako joku neuvoa tai linkata toimivaan ohjeeseen, jolla saisi konfattua toimivan ratkaisun?
Googlettelin, asentelin eri fixer lisäosia ja konffailin ohjeiden mukaan, mutta aina tulee jokin herja tai ei vain tapahdu mitään.
Ja oletetaan, että olen asentanut phpcs:n composerilla, globaalisti versio 3.4.1 sekä friendsofphp/php-cs-fixer 2.14.2.
Tarkoitin, että jos joku tietää toimivan tutoriaalin tai vastaavat ohjeet, niin voisin kokeilla.
En siis hae ratkaisua näihin herjoihin, jotka olisin kyllä liittänyt, jos olisin halunnut ryhtyä niitä käsittelmään.
Itselläni ainakin toimi juuri niikuin luvattiin. Lisäsin vain PATH:iin php:n asenus kansio...Getting Started
As long as PHP 5.6+ is installed on your system and in your PATH, the extension should work out of the box.
If you don't want to use the php-cs-fixer that's included with the extension, set the vscode-php-cs-fixer.toolPath setting to the path of php-cs-fixer.
rundll32 sysdm.cpl,EditEnvironmentVariables
return validateCreateDummyUser(errors, req).then(errors => {
if(!isEmpty(errors)) {
rerender_createDummyUsersPage(errors, req, res, next);
} else {
let randomize = require('randomatic');
var users = [];
let myDate = new Date().toISOString()
...
Mitä tuo return tekee kun kutsutaan noita promise funktioita? Onko tuo return pakollinen? Mitä jos sitä ei ole?Koodi:return validateCreateDummyUser(errors, req).then(errors => { if(!isEmpty(errors)) { rerender_createDummyUsersPage(errors, req, res, next); } else { let randomize = require('randomatic'); var users = []; let myDate = new Date().toISOString() ...
function a(){
return new Promise()
}
function b(){
return new Promise()
}
function c(){
return new Promise()
}
Promise.all([a(),b(),c()]).then(([a,b,c])=>{
todoWithA(a)
todoWithB(b)
todoWithC(c)
})
Promise.then(data=>todo).catch(error=>handleErros)
Tai siis Promise-ketjun viimeisimmän Promisen, tarkoitat?No se paulattaa sen itse promisen.
// Socket.io
var io = require('socket.io')(server);
io.on('connection', (socket) => {
socket.on('disconnect', (reason) => {
if (reason === 'io server disconnect') {
// the disconnection was initiated by the server, you need to reconnect manually
console.log("Disconnected, Connecting again");
socket.disconnect();
}
});
socket.on('connect_timeout', (timeout) => {
console.log("Socket IO Timed out");
});
});
let query = "UPDATE Feedbacks SET State = 'Removed' FROM Feedbacks WHERE LevelName = '" + req.body.table + "' AND Feedbacks.ID = " + req.body.id + "";
console.log(query);
models.sequelize.query(query, { type: Sequelize.QueryTypes.UPDATE}).then(results => {
console.log(req.body);
if(req.body.fromgame)
{
res.send({msg: "Success" });
} else
res.redirect("/viewFeedbacks/" + req.body.table + "/" + req.body.department);
// Tähän pitäisi tulla SOCKET EMIT, joka alustettiin tuolla www filussa
})
Kiitti. Koitin tehdä liitteenä mainitun jutun ja tuli www.emit is not a function ja servu crashaa. Mulla on tuolla ylhäällä se let www = require('../bin/www');Vähän sekavasti muotoiltu kysymys, mutta tämä nyt ainakin tulee mieleen:
Kun importtaat näin, niin tuo www -muuttuja pointtaa nyt siihen toisen modulin io-muuttujaan, eli pitää kutsua www.emit jne.
#!/usr/bin/env node
/**
* Module dependencies.
*/
var app = require('../app');
var debug = require('debug')('myapp:server');
var http = require('http');
let models = require('../server/models')
/**
* Get port from environment and store in Express.
*/
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
/**
* Create HTTP server.
*/
var server = http.createServer(app);
/**
* Listen on provided port, on all network interfaces.
*/
models.sequelize.sync().then(result => {
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
})
// Socket IO
var io = require('socket.io')(server);
io.on('connection', (socket) => {
console.log('made socket connection ', socket.id);
socket.on('feedback', function (data) {
socket.broadcast.emit('feedback', data);
});
socket.on('disconnect', (reason) => {
if (reason === 'io server disconnect') {
// the disconnection was initiated by the server, you need to reconnect manually
console.log("Disconnected, Connecting again");
socket.disconnect();
}
});
socket.on('connect_timeout', (timeout) => {
console.log("Socket IO Timed out");
});
});
/**
* Normalize a port into a number, string, or false.
*/
function normalizePort(val) {
var port = parseInt(val, 10);
if (isNaN(port)) {
// named pipe
return val;
}
if (port >= 0) {
// port number
return port;
}
return false;
}
/**
* Event listener for HTTP server "error" event.
*/
function onError(error) {
if (error.syscall !== 'listen') {
throw error;
}
var bind = typeof port === 'string'
? 'Pipe ' + port
: 'Port ' + port;
// handle specific listen errors with friendly messages
switch (error.code) {
case 'EACCES':
console.error(bind + ' requires elevated privileges');
process.exit(1);
break;
case 'EADDRINUSE':
console.error(bind + ' is already in use');
process.exit(1);
break;
default:
throw error;
}
}
/**
* Event listener for HTTP server "listening" event.
*/
function onListening() {
var addr = server.address();
var bind = typeof addr === 'string'
? 'pipe ' + addr
: 'port ' + addr.port;
debug('Listening on ' + bind);
}
module.exports = io;
server.jsLuulisi tämän olevan yksi tavallisemista asioista, mutta en nyt käsitä. Miten ihmeessä esimerkiksi olisin päässyt tuohon server muuttujaan muissa filuissa.. Jos tämä olisi onnistunut alunperin, olisin tehnyt tuon socketin eri tavalla. Laitan alle vielä liitteenä koko www filun koska siellä ei ole mitään salaista.
....
const server = http.createServer(app);
module.exports = server
...
const server = require('server.js')
// joko
const socket = require('socket.io')
const io = socket(server)
// tai
const io = require('socket.io')(server)
io.on...
module.exports = io
Kiitos tästä. Nyt alkanut selviämään tuo juttu. Sain onneksi ratkastua omillani tuon IO exportin. Älyttömän simppeli juttuserver.js
socket.jsKoodi:.... const server = http.createServer(app); module.exports = server
Koodi:... const server = require('server.js') // joko const socket = require('socket.io') const io = socket(server) // tai const io = require('socket.io')(server) io.on... module.exports = io
askelmoottori ja/tai anturit molempiin päihin joilla tietää koska on kääntynyt tarpeeksi?Olen miettinyt ostavani rasperryn tai arduinon ihan opettelumielessä ja nyt löysin idean mikä ehkä näillä olisi järkevä toteuttaa. Eli tarkoitus olisi saada sähkömoottori liikkumaan 180 astetta ja ohjaus tapahtuisi mahdollisesti puhelimella tai jollain liikkeentunnistimella. Mikä olisi järkevin tapa lähteä toteuttamaan?
Juuri jotain tällästä, en ole näihin rasperryyn tai arduinoon kovin perehtynyt, onkohan väljä kummalla lähtee toteuttamaan.askelmoottori ja/tai anturit molempiin päihin joilla tietää koska on kääntynyt tarpeeksi?
Ohjaus puhelimella onnistuu helpommin raspilla (raspiin weppiserveri niin voi käyttää mistä vain selaimella).Olen miettinyt ostavani rasperryn tai arduinon ihan opettelumielessä ja nyt löysin idean mikä ehkä näillä olisi järkevä toteuttaa. Eli tarkoitus olisi saada sähkömoottori liikkumaan 180 astetta ja ohjaus tapahtuisi mahdollisesti puhelimella tai jollain liikkeentunnistimella. Mikä olisi järkevin tapa lähteä toteuttamaan?
Ei pelkkää sähkömoottoria, mutta servoa tai askelmoottoria esp32:lla -->Olen miettinyt ostavani rasperryn tai arduinon ihan opettelumielessä ja nyt löysin idean mikä ehkä näillä olisi järkevä toteuttaa. Eli tarkoitus olisi saada sähkömoottori liikkumaan 180 astetta ja ohjaus tapahtuisi mahdollisesti puhelimella tai jollain liikkeentunnistimella. Mikä olisi järkevin tapa lähteä toteuttamaan?
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="Value1" ErrorMessage="Not a number!" Operator="DataTypeCheck" Type="Double">
</asp:CompareValidator>
<asp:Button ID="ResetButton" runat="server" OnClick="ResetButton_Click" Text="Reset" Width="61px" />
protected void ResetButton_Click(object sender, EventArgs e)
{
Value1.Text = "";
Value2.Text = "";
Result.Text = "";
}
Sub resizeImages()
Dim iShapeObject As Word.InlineShape
For Each iShapeObject In ActiveDocument.InlineShapes
With iShapeObject
.ScaleHeight = 20
.ScaleWidth = 20
End With
Next iShapeObject
End Sub
Mikä sinulle olisi ns. "scratch my own itch"?Ehdotelkaas opettavaisia mern Stack projekti ideoita
username_header = f"{len(username):<{HEADER_LENGTH}}".encode('utf-8')
message_header = "{ml:<{hl}}".format(ml=len(message),hl=HEADER_LENGTH).encode('utf-8')
Tiettyjä asioita pitää hoksata, mutta äkkiä pääsee sisälle, jos C# tms. kieliä takana. Perusteethan ovat lähes kaikissa kielissä samat.Onko C++ helppo tai "helppo" oppia kun osaa C#? Jossain työpaikoissa saattaa olla molemmat käytössä, niin sitä silmällä pitäen.