Trending Feed

Engineering manager at bol.com·

With the growth of our engineering community, the need for more focus on engineering productivity is clear. We invited two experts to discuss this topic with us. We chose Backstage. Backstage is a platform for developer portals that is used as an app store for tools for software engineers. This product was built inside Spotify and later on open-sourced by them.

READ MORE
Something went wrong. (open.spotify.com)
1 upvote·141 views

I don't think I have registered a domain in the last 10 years that hasn't been linked to CloudFlare within the first 2 hours from registration.

The benefits you get from even the free version of CloudFlare are amazing. From day 0: - 30/80% of bandwidth savings thanks to their CDN - Origin IP address protection - Managed SSL

READ MORE
5 upvotes·212 views

We are loving react as it has helped us significantly increase our feature production speed (to make founders' life a little easier by helping them build powerful and effective funding decks that actually raise money quickly.)

Before using react, we were explicitly redeveloping a lot of components which were already existing in react, although we didn't had enough bandwidth to shift our whole app to react, we went in slowly block by block but now we are there, and we are really happy with react.

So we really suggest our fellow developers to take the leap if you are in a similar situation.

READ MORE
5 upvotes·521 views
Growth Product Manager at Brainboard·

We decided to create a custom dashboard with Metabase as it can pull any data, push data onto a visualized and comprehensible graph and pushed it to all our team to monitor. The best decision we made till now :) Plausible is still used as Google Analytics alternatives because of its UX/UI. HubSpot is a great tool for sales & marketing raw data but true analysis is done on Metabase.

READ MORE
2 upvotes·335 views
Developer & Founder at Repoflow·

I want to recommend Docusaurus to document your projects, my documentation was previously on simple HTML pages and I wanted to bring a better experience and look and feel. I check multiple options and I think that the best is: Docusaurus If you use React for your project you can reuse components or create custom components to use along simple markdown The local development is great and the deployment process is very easy! (just copy the build folder to S3 for example) Check the result documentation on the link!

READ MORE
BucketWS | BucketWS (bucket.listws.com)
7 upvotes·1.7K views

We selected Stripe for our payment processor because of its well-renowned API and high quality documentation. Stripe's flexible subscription functionality enabled us to configure and automate the exact billing behavior we needed.

Stripe provides turn-key checkout and billing management dashboards which require only a simple redirect to integrate with. This allow us to provide our users with a high-quality user interface for managing subscriptions while saving us significant development time.

READ MORE
10 upvotes·1.6K views
Needs advice
on
Spring BootSpring Boot
and
DjangoDjango

I have 1 year of experience as a Django developer but my main role is as a frontend developer and my current company is not using Django they are using Spring Boot and I also want to do backend work.

my perception is spring boot developers get paid much higher than Django and can be there in the market for a long time.

Please give me valuable comments and guidance.

READ MORE
6 upvotes·2.6K views
Replies (3)
Senior Software Engineer at Cisco·
Recommends
Django

My mantra is not sticking to a particular technology. That is what I'd suggest. Going by that, I recommend you learn both, Django and Spring Boot. But if you want to choose one among the two, I'd say stick with Django. Saves you the effort of learning a new language and a new framework. Rather, you can spend that time honing your Django skills. It is a wrong notion among young graduates that organizations decide pay based on your technology stack. You just need to be good at a technology that is in demand. You'd be paid well no matter the technology. Django is a wonderful framework and there are tons of companies looking for Django experts. The same can be said about Spring Boot. Both are wonderful technologies in their own accord. As for you, just go with the technology you are already familiar with. It is a misconception that Spring Boot developers get paid better than Django developers.

READ MORE
9 upvotes·1 comment·2K views
rizwansaeedshaikh
rizwansaeedshaikh
·
November 29th 2021 at 11:50AM

Well said

·
Reply
Recommends
Spring Boot

Globally, Spring Boot is more demanded than Django. For example, there are about ten times more open positions for Spring Boot than for Django in Brussels. So this naturally drives up the price of developers mastering Spring Boot. If you have an opportunity to work with Spring Boot, I suggest you take it, as it is a sound career decision. Furthermore, your experience with Django will help you to master Spring Boot, as both frameworks share many concepts. That said, Django positions do also exist, and it's absolutely not a bad decision to become an expert with that framework either. Django developers seem to like it very much.

READ MORE
9 upvotes·2K views
View all (3)
DevOps at Synetech·

Description

Graphql fits exactly into our component-based architecture. The components control what they need for the data. It solves REST problems, such as establishing multiple connections or downloading redundant data. However, it brings other problems among other things it sends data only when it gets all the hard to set up their streaming. On the other hand, graphql has similar disadvantages as SOAP.

Plus

  1. Aligned with our architecture
  2. Component focused
  3. Typed language - aligned with Typescript

Cons

  1. Hard to work with caches
  2. Hard or even impossible setup response streaming
READ MORE
4 upvotes·9.3K views
Founder at EducastNetwork·

Our company needs an app up and running quick. Learning React/Javascript would be the standard but we decided to go with something that would work on as many platforms as possible. It would not only save us time but IT time in the backend. Thankfully, Google-backed Flutter was an amazing choice, and it's completely open source, unlike some alternatives you're able to use.

READ MORE
10 upvotes·16.6K views
Curriculum Developer ·
Needs advice
on
PythonPythonJavaScriptJavaScript
and
JavaJava

Generally speaking, what are the most important things you expect a junior developer to know and be able to do from day 1 in your respective tech stack? Firm grasp of OOP? SQL? MVC? ORM? Algorithms and Datastructures? Understanding CRUD & the request response cycle? Database design? framework familiarity? Postman? Deployment? TDD? Git? Language-specific knowledge? Other things?

READ MORE
16 upvotes·9.2K views
Replies (3)
Head of Engineering - AIOps at Microsoft·

Start with building a solid understanding of computer science fundamentals. Understand the basics of building blocks - memory, processing, storage, networking. Understand what CPU bound, memory bound, I/O bound, network bound processes are. Understand the cost of accessing data from Memory vs. Disk vs Network. Understand how multiple CPU threads help in optimizing the performance of a single machine.

Build expertise on a programming language. You may pick any language of your choice. I would recommend starting with Java / Python. Make sure you know one language really well. Build a strong understanding of Data Structures and Algorithms. You should be able to develop an intuition on when to use what. You may practice DS and Algorithm problems, using the language of your choice, on a competitive coding platform (e.g. Leetcode) or by building your own App!

Next, get familiar with basic cloud computing and distributed system concepts. Here is a good resource for that - https://www.youtube.com/watch?v=p7NkTUyEE1o&ab_channel=JeffreyRichter If you understand the computer science fundamentals well, you will be able to apply those concepts here as well.

Hope it helps!

READ MORE
4 upvotes·1.5K views

Ability to read code and willingness to try to reason flow of operations and information. Tools and technologies change, one doesn't need to have them in toolbelt from day one. All things you name are relevant in some contexts, so it's not bad to understand them.

READ MORE
3 upvotes·1.6K views
View all (3)
Software Enginieer at Shelf·

Compared to MongoDB it offers predictable performance, infinite scalability, outstanding stability, and tiny cost.

When using MongoDB at scale, you encounter all sorts of issues that are not advertised in MongoDB promotional materials. You get limited by the number of connections, not compatible drivers, and unexpected bugs in new releases.

With MongoDB, it's easy to get started quickly because it doesn't require you to think about data structure in the beginning. When you hit a certain scale you either spend months reengineering your DB or paying loads of cash to scale your cluster.

On the other hand, DynamoDB is much limited in its querying API, but that's a good thing. It's very hard to build a not scalable or low-performance database with DynamoDB. Also, you get all the perks of native integration into other AWS services.

READ MORE
7 upvotes·17.1K views
Tech Lead at Orbital Witness·

A few months ago, we decided to migrate our web apps from Create React App to Next.js for its "batteries-included" approach as well as its advanced server-side rendering capabilities. This move allowed us to focus our development efforts on building what matters to us the most: automating property due diligence.

READ MORE
6 upvotes·1 comment·15.4K views
kaffarell
kaffarell
·
November 28th 2021 at 4:47PM

Interesting, so you have used create-react-app in production? Have you had any problems/issues?

·
Reply
Data Engineer at Clarity AI·

We decided to use python as our main language due to the fact that it is a mature language, easy to learn and develop and has powerful data ecosystem libraries such as pandas, dask and pyarrow. It is also used in airflow so it allows us to enrich our use of airflow with custom code to suit our needs. Finally, it is also the language that the Data Science team of our company use, so it lets us contribute to each other's libraries and have common libraries. Even though Python is our main language we do not rule out adding new ones in the future.

READ MORE
17 upvotes·19K views
Associate Java Developer at txtsol·

I am working on a full-stack application [Spring Boot (Java), AngularJS 7, MySQL] and Apache Maven as a build tool => I need to deploy and host this web app on AWS. I searched about it and find out I have to use PAAS. There are 2 things. 1- AWS Elastic Beanstalk 2- Amazon EC2 my question is that what services should I use to deploy and host my web app.

READ MORE
7 upvotes·4.7K views
Replies (3)
Principal Software Engineer at Accurate Background·
Recommends
Heroku

Technically, these and many others would work. In fact, Elastic Beanstalk uses EC2. EC2 is just the service that provisions the machines where code can run. Elastic Beanstalk is basically a layer on top of that, that hides some of the EC2 complexities.

But complexity is a key thing to consider here. There is a lot of configuration that goes into setting up a deploy environment that is secure and stable. Unless you're an infrastructure expert, I would leave a direct EC2 setup alone.

If you, as a developer, have to set up a deployed app with no infrastructure team to support you, I would opt for something that does the most abstracting away of the complexities: So either Elastic Beanstalk or something like Heroku. I personally use Heroku for my personal projects, because of its ease of use.

READ MORE
5 upvotes·1.8K views
DevOps | Senior Developer ·

Here is my recommendation...and I do this sort of thing all the time.

Create a VPC with public and private networks. Launch a t3.small instance with Amazon Linux and install Jenkins in your public subnet of the network. Make sure all your Java dependencies are there...which they should be. If not, install them.

Create your Elastic Beanstalk application with Spring Boot, Java and Maven...which should be the Corretto 11 running on 64bit Amazon Linux 2/3.2.8 (as of today). You will need to have a file named Procfile in the root of your project. This will initiate your app start up. It should contain something like:

web: java -Dserver.port=8084 -jar build/libs/myapp-*.jar (relative to the root of the project)

In Jenkins you will make a project for building your Java application. In the project, you simply add the instructions in a shell script exactly like you would do it from the linux command line. You can also find Maven plugins. It's up to you and you can figure out how best to do that.

Your EB App and Environment should deploy the load balancer in the public subnet. Your Java application should deploy in the private network. These are all part of the EB configuration. You will need to create a security group that allows port access from your load balancer to your application. Also, you should create a certificate in Certificate Manager for your domain, which should be setup in Route53. In EB, you can then configure your load balancer to always use that cert.

Your Angular application should be built in its own project on Jenkins. Then you should deploy it to S3 with Cloudfront as CDN in front of the S3 bucket. After each deployment, you should sync to S3 deleting all previous contents of the bucket. You also need to invalidate the cache for your Cloudfront distribution. This ensures your application is fresh and has all your updates and changes each deployment. You should apply your DNS routing to your Cloudfront distribution as well via Route53. There's documentation on doing all this.

To allow Jenkins to deploy to Elastic Beanstalk as well as S3 (and also perform Cloudfront invalidations on publish), simple create a Role in IAM that allows the permissions to the services you need. Once you have that Role, you should apply it to your EC2 instance that is running Jenkins.

Finally, your MySQL database should be in RDS. If production, use Multi-AZ, otherwise just launch what you need. Your DB should also be launched in your private subnet. You will need to create another security group for the DB as well. The DB security group should allow access from your application security group to your DB security group on port 3306 or whatever port you run on.

In Jenkins you will need to install any plugins you need for your git repository (bibucket, github, etc). In your repository settings, enable a webhook to your Jenkins server in the settings. The URL should be something like https://build.mysite.com/bitbucket-hook/. Your projects should be separate for the Java app, build, and deploy. Similarly, your Angular app, build, and deploy. Each project should be in a separate repo with its own webhook. Separating your app, from your DB, and your frontend is best practice. It allows you to have room to scale each component independently and also decouples everything...API first concept. It also forces best practice security setup...Zero Trust concept.

So there are some specific suggestions. The nuts and bolts though are: MySQL in RDS. Java on Elastic Beanstalk, and your Angular application in S3 with a Cloudfront Distribution in front. Use Certificate Manager for your SSL and Route 53 for all your DNS. Figure all that out and you will have an industry stand stack that is ready for performance and scale.

It's true what others have said. Elastic Beanstalk is simply EC2, Application Load Balancer, Security Groups and a few other AWS services. You will see all your instances, security groups, load balancers, etc...where you'd expect them to be. However it makes it all turnkey...Cloudwatch, redundancy, scaling, deployment strategy, and subnet placement. EB has some idiosyncrasies, but building what it does on your own is much more work. If you want to get deeper into customizing your instances and web servers...research .ebextensions and .platform which you can drop in your project source and it will launch your stacks EXACTLY like you want them. Hopefully your setup is straightforward though and you won't need much of that.

Good luck!

READ MORE
4 upvotes·1.4K views
View all (3)
Lead Application Architect at TekPartners·

I used (tried to use) PayPal on one project and it was a total nightmare. At the time there was no cohesive "one" web-based product, you had to choose between three and the lines between them were very muddled. We reached out to developer support several times and they were no help at all. The documentation was old (incorrect) and confusing. Granted this was several years ago, but the pain remains. Given a choice of using PayPal and sticking hot needles in my eyes, I would first ask "How big and hot are these needles we're talking about?" Stripe is SO much easier!

READ MORE
9 upvotes·16.8K views
Chose
Next.jsNext.js

I started development of a new system and have a long time experience using a "Javascript all over the place" approach :-) I have been applying React and Node.JS for a number of projects and have been happy with the end result. This time I wanted to try Next.js. I want our developers to be knowledgeable of all parts of the application and I like how natural it is to combine frontend and backend in the same codebase.

So far, so good :-)

READ MORE
6 upvotes·16.1K views
Migrated
from
BootstrapBootstrap
to
VuetifyVuetify
in

I don't know about Bootstrap v5, but Bootstrap v3 and v4 was a nightmare when it comes to RTL. I switched to Vuetify in its early days when their RTL support is not very mature. But given that they care about RTL and have it in their roadmap and considerations, the change proved fruitful after their RTL support matured enough over time (and github issues).

READ MORE
4 upvotes·27.5K views
Founder at Stardust·
Needs advice
on
SwiftSwift
and
RustRust

Hey there, we are looking to develop our own layer 1 blockchain. We're splitting the responsibilities for origination, clearing, and settlement across three independent but cooperating node networks. We've gotten our Proof of Concept up using Ruby on Rails for the nodes, you can see it as the attached link. So far, so good. Now we are looking to convert it into a distributable and are trying to figure out which language is the best for this.

Essentially our needs from the language are: solid networking tools and speed, very fast execution of basic actions, some parallel execution, and able to compile the end product into an easy to distribute and use package for end users.

I was learning Rust, but I have a healthy amount of experience with Swift and right now, it's only me coding. I've only done iOS coding, but have built a fintech app from scratch that's now in the app store so I'm pretty familiar with the language and its benefits. Haven't experimented with Vapor or any of the application development tools, and I wanted to know if it is a crazy idea to develop a blockchain node in Swift instead.

READ MORE
Stardust Block Chain Explorer (explorer.stardust.finance)
8 upvotes·19.5K views
Replies (2)
Recommends
Rust

Pick Rust. Rust can provide all what you need and has been a major language in blockchain/cryptocurrency industry. Swift is slower than Rust and does not have such support in the networking and domain field. Swift tooling is great only on macOS, therefore you are likely to have troubles on other platforms.

READ MORE
5 upvotes·17.3K views
Director at Realityworks·
Recommends
Swift
Go
C++

You can use swift of course. It’s more of a question of being performant.

You really want to try some basic operations and find what’s most performant for you.

Rust is wonderful for cloud applications requiring heavy concurrency, it has compile time checking for such things.

Go and C++ could be more performant in your case. Swift is really quite an obtuse language, with a lot of features, some which may complicate your implementation.

Also, you want to consider the market of developers who could help build it. If you use Go or C++ there is a larger collection of people who know the languages than there is with swift.

READ MORE
5 upvotes·18.9K views
Engineering Team Lead at DCMN GmbH·

Github Actions allowed us to drop previous CI/CD technologies like Jenkins or AWS CodeBuild. The main advantages for us are: - The Infrastructure-as-Code approach of Github Actions enables us to keep CI/CD configurations next to the code. - Github as a single platform for repositories and CI/CD simplifies our stack and effort to manage it on the daily basis.

TVcloud Team <3 Github Actions

READ MORE
6 upvotes·27.4K views
Co-Founder & CTO at kickstartDS·

Sass is the CSS extension language of our choice for the additional constructs it offers when creating modularized and DRY styles for components in a Design System.

Key feature for us would be the support for nested declarations. Being able to write composable styles in a concise manner enables the creation of maintainable Design Systems, even if the number of components begins to scale up. In combination with BEM as a convention, it automatically forces developers to think in well defined, maintainable structures when creating additional components. Having to name things, in our mind, is a positive (wink Tailwind), especially when working on long-term codebases that often times have to signal intent to consumers (users and developers of the Design System). Communicating intent with semantic markup and structured, well-named classes is a big part of that.

Especially being able to generate CSS3 in the end, while allowing users to choose between just overwriting some values by defining design tokens / component tokens (staying well within the world of standard CSS3) or utilizing all the mixins, functions and utilities we expose for reuse of shared styling and behavior, when using Sass yourself.

Sass variables are not a huge factor for us, as we're writing design tokens and components tokens directly with CSS Properties. We generate some Sass "theme"-files based on those properties for developers working with Sass and wanting to re-use those already defined values!

READ MORE
7 upvotes·21.7K views
Needs advice
on
LaravelLaravel
and
CodeIgniterCodeIgniter

I need to build a web application plus android and IOS apps for an enterprise, like an e-commerce portal. It will have intensive use of MySQL to display thousands (40-50k) of live product information in an interactive table (searchable, filterable), live delivery tracking. It has to be secure, as it will handle information on customers, sales, inventory. Here is the technology stack: Backend: Laravel 7 Frondend: Vue.js, React or AngularJS?

Need help deciding technology stack. Thanks.

READ MORE
16 upvotes·80K views
Replies (8)
Technical Lead at DPO International·
Recommends
Vue.js
Laravel

It's better to use Laravel with Vue.js and also laravel is very lightweight and speed performance.

READ MORE
19 upvotes·61.4K views
Tech Lead at Founder + Lightning·
Recommends
Laravel

Go for Laravel 8 (not 7, obviously because it's the latest version and has a lot of new features and bug fixes) when it comes to backend coding.

Go for Vue.js (if you don't have any preference) because it is having by default configuration setup in Laravel).

Pick MySQL or PostgreSQL both work fine.

If you know GCP, go for it, otherwise go for Heroku.

Avoid spending time on hosting setup - prefer PaaS based solutions.

In Laravel, try Laravel Breeze or Jetstream - these might make the development much faster - at least for the basic setup that is there.

READ MORE
8 upvotes·48.5K views
View all (8)
Founder & CEO at Moducate·

I'm going to sound like a sales rep for Retool in this Stack Decision, but who cares!

Retool has been simply amazing at allowing us to rapidly create backend administrative interfaces for our platforms and services.

We've gone from having a 50:50 split of time spent developing platforms and developing internal tools to a 95:5 split at least!

I've yet to find an API/database/service that Retool hasn't been able to natively interface with, and their support for arbitrary REST/GraphQL APIs means that I don't foresee myself ever finding a truly incompatible source of data.

And to top it all off, Retool's pricing plans are extremely generous considering how much time has been freed up for us.

It's genuinely frightening how easily, agilely, and affordably we've been able to integrate Retool into our various stacks.

READ MORE
5 upvotes·34.5K views
Mahine Learning Engineer ·
Needs advice
on
scikit-learnscikit-learnPythonPython
and
KerasKeras

I have decided to learn Machine Learning using Python. But, I don't know which is the best IDE to use (specifically for ML) to get high performance. I have been using #Vscode since the beginning when I started learning Python. But now, I feel it's not suitable for Data Analysis, Representing the Data, Visuilaizing and this kind of stuff. Any Advice?

READ MORE
8 upvotes·46.5K views
Replies (3)
software developer at ETIT·
Recommends
Python
Jupyter

I think that Jupyter notebook is suitable for your inquiry about data representations and visualizing for Machine learning.

READ MORE
Project Jupyter | Home (jupyter.org)
11 upvotes·3 comments·46.5K views
Ahmed Khaled
Ahmed Khaled
·
August 3rd 2021 at 2:02PM

Thank you very much.

·
Reply
Ahmed essam
Ahmed essam
·
August 19th 2021 at 10:18AM

You're welcome ^_^

·
Reply
Abu Jafor Mohammad Saleh
Abu Jafor Mohammad Saleh
·
August 10th 2021 at 11:47AM

You can use Spyder or JupyterLab. Both are userfull for ML.

·
Reply
Recommends
Spyder

I use spyder because of its interactive side, while also allowing for developing a proper program. I usually run snippets of code, see the outputs either in the ipython console or through the powerful "Variable explorer" window. As the code grows, I build them into functions etc. on the program side. I often use F-9 to run a snippet in the program panel, get insight into the objects, drill down as I like. Many people use jupyter notebooks, but for me Spyder is indispensable when I need to build step by step while exploring, experimenting, etc.

READ MORE
5 upvotes·44.5K views
View all (3)
Needs advice
on
Spring BootSpring Boot
and
LaravelLaravel

Hi. I am a backend developer in a company tasked with recoding a legacy application, choosing the right technology stack, and then later hiring for that stack.

This is a freight/logistics application made 15 years ago in PHP with no modern framework used. In this application, customers from different countries login into theirs accounts and add a huge number of shipments, like let's say 500, and then, later on, generate PDFs for them after calling third-party APIs. This application has API integrations with lots of other companies and also offers API access to its own software as well. This application is also used in-house by warehouse people to scan different shipments using barcode scanners and to process shipments by performing different actions on them. The database being used currently is MySQL.

Now we have the choice to write this application in a modern technology stack. Performance, speed, reliability, and security are the primary concerns here.

Should I go with Java/Spring Boot with AngularJS as the front end or PHP/Laravel with Vue.js as the front end?

Switching at this point from PHP to Java will not be hard if Java is considered better here because we can hire as per our final decision.

Thanks.

READ MORE
14 upvotes·54.7K views
Replies (8)
Recommends
Laravel

Hi Chris, I will suggest going with Laravel and MySQL since the existing system is already in PHP it will help a lot and easier to port out to Laravel and will save a lot of time. Laravel has a very robust mechanism to handle the jobs/Queues and it comes with a lot of features.

READ MORE
User Adnan Mumtaz - Stack Overflow (stackoverflow.com)
16 upvotes·1 comment·54.3K views
Chris Goodwill
Chris Goodwill
·
August 3rd 2021 at 6:42PM

Thank you. Keeping aside the fact that the existing system is made in PHP, would you still recommend Laravel over java? Wont java give better performance and speed over Laravel?

·
Reply
Nside Technologies·

Hi Chris, I recommend you to use Java with spring boot to rewrite your software. You will have the advantages of modern applications. The main challenge will be to cut your existing business logic to functional services (microservices) that will communicate each others. That will comes up also with the challenges of orchestrate those services but for that no worries. For the database also, will recommend Postgre too. For the front end, you can use angular, react or vue js with your backend since it will be API calls.

Hope it can help!

READ MORE
13 upvotes·53.7K views
View all (8)