Avatar of Yoram Kornatzky

Yoram Kornatzky

Independent Information Technology and Services Professional at DR. YORAM KORNATZKY LTD
Independent Information Technology and Services Professional at DR. YORAM KORNATZKY LTD

ML immediately tilts your decision towards Python as the ML ecosystem is in Python. Microservices can be programmed in Python. However, as you said, Python is slower than Node.js. This leads to a combination of both languages as the ideal solution. A problem in terms of skills, especially for a limited size team. It also raises the question of how you are going to connect the different microservices. If it is Kafka or MTMQ should not be a problem to connect services in the different languages. If you are limited in terms of size of team, choose Python. As you cannot go very far with Node.js for ML.

READ MORE
8 upvotes3 comments42.1K views
araz dev
araz dev
October 3rd 2022 at 7:49AM

Yes ML or AI thing is python but web developing then node js bc it is really fast enough

Reply
Aayan Rahman
Aayan Rahman
October 5th 2022 at 8:08AM

I am confused whether runtime speed or development and maintenance speed is more important? and if I put ml and ai in my site a bit later, will choosing Node.JS be better. what is the performance difference in runtime and development between Express.JS and Django?

Reply
Harald Fauland
Harald Fauland
October 6th 2022 at 5:44PM

when starting out the development and maintenance speed are way more critical. you can also throw hardware at your service for a long time before getting to a critical mass where you have to look into optimizing your stack.

Reply
Independent Information Technology and Services Professional at DR. YORAM KORNATZKY LTD
Recommends
on
MySQLMySQL

It happened to me that you actually construct a relational schema with MongoDB. It is not good. You do not use the modeling benefits of MongoDB, and you do not have the benefits of SQL. So I recommend taking it into MySQL. Since you think in a relational way, it is best you move to MySQL

Specifically, do you need non-normalized data? If not, MySQL is best. Otherwise, MongoDB is best. If you think non-relational, you do not need joins, and the problems with cascade disappear.

What is the best way to think? If you work in terms of whole tree of related object, then you think non-relational and non-normalized.

READ MORE
7 upvotes2 comments43.2K views
Emre Emrah
Emre Emrah
May 28th 2022 at 3:54PM

Thanks for the advice. I want to ask you that in the most basic scenario we got `questionSet` which has an array of `question` in it. And a `question` can be used in different `questionSet`s. And for example when you update a `question`'s attribute (e.g. it's name), it should be updated in every `questionSet`. So clearly using foreign keys and relations is the best option here.

My question is: are there any real world problems that not like this? I think most databases have such relations. So when do people use nosql and why? I love MongoDB but I just need to clarify that.

I might ask this in a different question as well.

Edit: sorry that markdown seems to be not supported in comments.

Reply
Yoram Kornatzky
Yoram Kornatzky
May 29th 2022 at 10:21AM

What you describe points more into a relational model.

It is not always the case.

Think of Kanban boards, projects, and tasks. Conceptually it is a tree. In such a case, there is strong motivation to go non relational. NoSQL

Reply
Independent Information Technology and Services Professional at DR. YORAM KORNATZKY LTD
Recommends
on
ParcelParcelWebpackWebpack

Gulp is very old. I would not use it.

It all depends on what framework you are using. They usually come with a bundler. And templates often come with a bundler.

Webpack is the standard Webpack solution. But maybe complicated to use if it does not come with your template or framework. So you may wish to try Parcel first.

READ MORE
5 upvotes6K views
Independent Information Technology and Services Professional at DR. YORAM KORNATZKY LTD
Recommends
on
ZoomZoom

I consider Skype dead. Even Microsoft strongly neglected it. Webex is more corporate-oriented. So for your use case, I recommend Zoom. It is easy to set up, and the quality is very good. Zoom became such a household name that the average person heard about it. Moreover, any person probably has friends who may have used it. So it will be easier for people to get some community help.

READ MORE
4 upvotes27.2K views
Independent Information Technology and Services Professional at DR. YORAM KORNATZKY LTD

For this timetable, since you need both a web and a mobile, you should do hybrid mobile. Node.js with FeathersJS / SailsJS in the backend and Vue.js in the front end, get you as fast as you can to the goal. I love Laravel but it will be a different stack in the backend and front-end. Vue.js is the easiest on the front-end. And works well in a hybrid Cordova app. About charting and reporting, try Chart.js for charting.

READ MORE
4 upvotes2 comments10.4K views
Craig Jones
Craig Jones
August 28th 2022 at 5:29AM

Dr. Kornatzky thanks for your suggestion and contribution. I'm searching for my next stack - was on LoopbackJS but it's always been a headache and doesn't have a big community supporting it. Although it seems FeathersJS and SailsJS are very good frameworks, I decided to check NPM for number of downloads and here's what I've found:

sailsjs: 32k weekly downloads, 3.26mb

feathersjs: 59k weekly downloads, 0.09mb

@loopback/cli: 4k weekly downloads, 0.8mb

nestjs: 884k weekly downloads (and climbing fast), 206kb

nestjs is also being used by all of the tech giants so it seems to me that it's the go-to for greenfield development on node right now. I'm going to give it a shot, thought you'd be interested to know those stats.

Reply
Yoram Kornatzky
Yoram Kornatzky
August 29th 2022 at 8:37AM

Thanks for the information. This is interesting. I am aware that Feathers and Nest took over Sails.js. There was a period of stagnation of Sails, though recently, they revived. Usually, I prefer Feathers over Nest because I do not like TypeScript very much. I found that I am less productive with TypeScript, in spite of all type checking etc. But this is a separate matter.

Reply
Independent Information Technology and Services Professional at DR. YORAM KORNATZKY LTD
Recommends
on
Amazon RDSAmazon RDS

It is much simpler in terms of maintenance costs to use AWS RDS and not worry about maintaining a server. Moreover, if you use a server you will need to handle firewalls and ports. Programming with RDS is much simpler using common MySQL or PostgreSQL libraries. In a similar situation using PHP from a local environment, I found repeatedly that using RDS is simpler and more cost effective.

READ MORE
4 upvotes27 views
Independent Information Technology and Services Professional at DR. YORAM KORNATZKY LTD
Recommends
on
MongoDBMongoDB

MongoDB is part of the MERN stack which is most often used as a backend stack. So you are aiming for a larger percentage of the job market. While PostgreSQL is often used, it is not part of the standard stack. In terms of your learning path, MongoDB is easier because its data model is based on JSON documents with which you are already familiar. PostgreSQL will require you to learn about relational schemes, and schema design.

READ MORE
3 upvotes1 comment3.9K views
Evgenios Skitsanos
Evgenios Skitsanos
July 31st 2022 at 6:59AM

I wouldn't go for something just because it is a part of some stack - even the Express part of MERN is not the best thing to deal with, Fastify (at least) would be a way better choice. But even for Express, there is 'better Express', - Koa, https://koajs.com/, by the same team. Pretty confusing for the MERN stack.

Totally agree on the database modeling part though, Postgre will require much more effort to make it all work, especially when user-defined types come into the picture.

Reply
Independent Information Technology and Services Professional at DR. YORAM KORNATZKY LTD
Recommends
on
MySQLMySQL

MySQL is the better choice. The reason is that E-Commerce data is more suitable to the relational data model of MySQL. There is no need for nested structures that cannot fit into the normal form of the relational model. E-Commerce database schemes do not evolve so much in unpredictable ways that you need the NoSQL aspects of MongoDB where no schema is defined in advance.

READ MORE
3 upvotes77 views
Independent Information Technology and Services Professional at DR. YORAM KORNATZKY LTD
Recommends
on
ExpressJSExpressJS

Comparing TypeScript and JavaScript to ExpressJS is like comparing apples to oranges. ExpressJS is a framework for the server-side of web applications in Node.js. You can write programs for ExpressJS and similar frameworks such as NestJS, Feathers, Hapi in either JavaScript or TypesScript. Node.js is really JavaScript for the server side. TypeScript is the typed version of JavaScript. You need some framework for the server side. So ExpressJS is a must. You should focus your attention on selecting the framework. Some frameworks are better with TypeScript such as NestJS. But all can be used with JavaScript. There are advantages to using type declarations but some people, and I included thing it complicates your programming.

READ MORE
3 upvotes2 comments39 views
Stefano Di Cecco
Stefano Di Cecco
December 12th 2023 at 1:15PM

My indication regarding #tags was purely to direct the choice on a precise path, I know very well what a framework is and what a programming language is

Reply
Yoram Kornatzky
Yoram Kornatzky
December 13th 2023 at 7:33AM

I got it. I may have used the wrong tone, then. Express or similar frameworks like NestJS are the way to go for the backend. You need to think about the framework for the front end. Is it an SPA approach, or views are rendered in the backend approach?

Reply
Independent Information Technology and Services Professional at DR. YORAM KORNATZKY LTD
Recommends
on
LaravelLaravel

Much easier to work with. And naturally integrates with Vue.js. Angular is in decline. Moreover, you already live in the PHP ecosystem. While I do both Java and PHP, onboarding into the PHP ecosystem is much faster.

READ MORE
2 upvotes52.8K views