menu
techminis

A naukri.com initiative

google-web-stories
Home

>

Programming News

Programming News

source image

Prodevelopertutorial

1M

read

13

img
dot

Tree data structure tutorial 5. Implementation of BST in C++

  • BST (Binary Search Tree) operations implemented in C++.
  • Operations include insert, find min, find max, in-order traversal, pre-order traversal, post-order traversal, get height of the tree, check if the tree is balanced, delete node with given key, and find given key.
  • Sample code provided with implementation details.
  • Output displayed for each operation.

Read Full Article

like

Like

source image

Hackernoon

1M

read

264

img
dot

Image Credit: Hackernoon

The HackerNoon Newsletter: EIP-1559: Separating Mechanisms From Memes (12/20/2024)

  • The HackerNoon Newsletter brings the HackerNoon homepage straight to your inbox.
  • On December 20, 2024, significant events include the US invading Panama in 1989, East Germany opening the Berlin Wall for the first time in 1963, and Elvis Presley being drafted to the US Army in 1957.
  • Highlighted stories include 'EIP-1559: Separating Mechanisms From Memes' and 'Does Google's Willow Quantum Chip Put Bitcoin's Cryptography at Risk?'
  • Other articles cover topics such as automating npm package publishing, the data protection challenges brought by metaverse growth, and the impact of Google's Willow Quantum Chip on Bitcoin's cryptography.

Read Full Article

like

15 Likes

source image

Prodevelopertutorial

1M

read

183

img
dot

Image Credit: Prodevelopertutorial

Tree data structure tutorial 4. Binary Search Tree Introduction

  • Binary Search Tree [BST] is a tree, where the data will be placed in a particular order.
  • In a binary tree, for each node, if the value of all the nodes in the left sub tree is lesser and the value of all the nodes in the right sub tree is greater, then such binary tree is called as Binary Search Tree.
  • Searching for an element in BST involves checking the root node, moving towards left or right based on the comparison with the current node's value, until the search element is found.
  • Inserting an element in a BST involves comparing the value of the element with each node, moving towards the left sub tree or the right sub tree, until an empty position is found and inserting the element there.

Read Full Article

like

11 Likes

source image

Prodevelopertutorial

1M

read

241

img
dot

Image Credit: Prodevelopertutorial

Tree data structure tutorial 2. Introduction to Binary Tree

  • 2.1 Introduction to Binary Tree
  • A binary tree is a special kind of tree that can have at-most 2 children.
  • 2.2 Some of the example is shown below:
  • A node can have a maximum of 2 children, the child to the left is called as left child and to the right is called as right child.

Read Full Article

like

14 Likes

source image

Javacodegeeks

1M

read

183

img
dot

Image Credit: Javacodegeeks

Store Arrays & Collections In JSON & XML In Hibernate

  • Hibernate 6.x simplifies the mapping of Java collections and arrays directly to JSON and XML formats, increasing both flexibility and performance.
  • To leverage Hibernate’s ability to store arrays and collections as JSON or XML types, one needs to include the required dependencies in the project. The dependencies are org.hibernate.orm:hibernate-core, com.fasterxml.jackson.core:jackson-databind and com.h2database:h2.
  • Arrays (both primitive and non-primitive) can now be mapped to database columns with newer features that allow storing in JSON or XML format.
  • Similarly, collections like lists or sets can also be stored as JSON/XML columns. This helps provide a structured way to store complex data while retaining the flexibility of non-relational data types.
  • Migrating from Hibernate 5.x to 6.x is a smooth process and native support for JSON and XML in Hibernate 6.x makes it easier to handle data better suited to non-relational formats.
  • The migration from Hibernate 5.x to 6.x requires minimal changes, mainly focused on the columnDefinition for storing arrays and collections as JSON or XML.
  • With these enhancements, Hibernate continues to evolve as a robust ORM framework, making it easier for developers to work with complex data types in modern applications.

Read Full Article

like

11 Likes

source image

Dev

1M

read

363

img
dot

Image Credit: Dev

The JavaScript History API

  • The JavaScript History API is a part of the Web API that allows us to interact with the browser's session history.
  • Key features of the JavaScript History API include methods like history.back(), history.forward(), history.go(n), history.pushState(), and history.replaceState().
  • The history.back() method moves the browser to the previous page in the session history.
  • The history.forward() method moves the browser to the next page in the session history.
  • The history.go() method is used to navigate to a specific point in the browser stack.
  • The history.pushState() method is used to add a new entry in the current session's history stack.
  • The history.replaceState() method replaces the current entry in the current session's history stack with a new entry.

Read Full Article

like

21 Likes

source image

Medium

1M

read

179

img
dot

Image Credit: Medium

Leetcode POD: 2415. Reverse Odd Levels of Binary Tree

  • Given the root of a perfect binary tree, reverse the node values at each odd level of the tree.
  • Return the root of the reversed tree.
  • A binary tree is perfect if all parent nodes have two children and all leaves are on the same level.
  • To reverse the values on odd levels, a single-traversal solution without any extra space is implemented using pre-order traversal.

Read Full Article

like

10 Likes

source image

Javacodegeeks

1M

read

295

img
dot

Image Credit: Javacodegeeks

5 Common Mistakes in Java Streams and How to Avoid Them

  • Java Streams, introduced in Java 8, revolutionized how developers work with collections and functional-style operations.
  • 1. Using Intermediate Operations Without a Terminal Operation: Always end the stream with a terminal operation to execute it.
  • 2. Overusing collect(Collectors.toList()): If you don’t need the resulting list, skip collect() and use forEach() directly.
  • 3. Ignoring Stream Reuse Rules: Convert streams into a collection or supplier if you need to reuse them.
  • 4. Overusing Parallel Streams: Use parallelStream() only for large datasets or tasks where parallel execution benefits outweigh the overhead.
  • 5. Using Stream Operations for Side Effects: Use forEach() for side effects and keep map() for pure transformations.

Read Full Article

like

17 Likes

source image

Dev

1M

read

259

img
dot

Image Credit: Dev

Waymap: The Ultimate Web Vulnerability Scanner for Penetration Testers

  • Waymap, developed by Trix Cyrus, is a cutting-edge web vulnerability scanner for penetration testers.
  • It offers high-speed scanning, customizable profiles, and the ability to detect a diverse range of vulnerabilities.
  • Key features include flexible scanning options, supported scan types, threaded scanning, comprehensive profiles, and automated update checks.
  • Waymap is an intuitive and user-friendly tool that requires proper authorization and welcomes contributions from the cybersecurity community.

Read Full Article

like

15 Likes

source image

Medium

1M

read

438

img
dot

AES Encryption Keys (password hashing)

  • AES Encryption Keys (password hashing) relies on a password of sufficient length and the non deterministic factor of indistinguishable random data. However, passwords as user inputs do not make for good encryption keys. To use passwords for encryption, a key derivation function must be applied which generates derived keys. Key derivation functions work by utilizing unique random salt to make pre-calculated rainbow tables infeasible. Furthermore, the salt should be stored with the password to ensure it is public, thus rendering the hash with the same password looking different. Weak keys refer to cryptographically secure generated keys, which makes an encryption algorithm vulnerable to an exploit.
  • For good encryption keys, a minimum length, determined by the AES encryption algorithm, is required. AES+CBC encryption necessitates a minimum length of 16 bytes, while AES+GCM can work with 12 bytes, although 16 bytes is suggested. To use passwords for encryption, a Key Derivation Function (KDF) is required to generate derived keys like argon2, bcrypt, and scrypt. Key derivation functions must be slow and some like argon2 are designed to take up a substantial amount of memory such that calculations on GPUs are not possible, to deter brute force attacks against offline stolen data.
  • Argon2 is considered the best KDF to use for password key derivation, with Argon2id being its most secure mode. Unfortunately, allot of encryption starts with user-supplied passwords, which are not random inputs of sufficient length making them 'easily' guessed by a bruteforce attack. To protect passwords from such attacks, the password's hash must not be stored and must be encrypted with the hash itself. Although offline bruteforce attacks on remote login systems are improbable, offline attacks on stolen data can be quite effective.
  • Weak keys, although generally not a concern in AES encryption, can pose a problem in the AES+GCM mode, which has several published papers on weak keys and can make the encryption algorithm vulnerable to an exploit. Ultimately, the GCM mode would best be used for anything with short-lived keys and not for disk encryption where keys and ciphers live longer. Another noteworthy point is that although salts are not secret and are public, they make pre-calculated rainbow tables infeasible and as such the salt should be stored with the password.
  • In conclusion, the use of derived keys in KDFs is a more secure way to encrypt data since passwords as user inputs do not make for good keys. However, even with a decent hashing algorithm and a random unique salt, it is still a possibility that your hash and salt may be exposed. As such, unique and strong passwords are recommended to prevent such password cracking attempts.

Read Full Article

like

26 Likes

source image

Dev

1M

read

71

img
dot

Image Credit: Dev

Quit programming right now

  • Many developers spend their free time working on non-commercial projects.
  • They do not receive monetary benefits, recognition, or easier job opportunities for these projects.
  • The motivation behind working on such projects can vary, including personal enjoyment, skill development, and building a portfolio.
  • However, some argue that without a clear goal or plan, it may be a waste of time and effort.

Read Full Article

like

4 Likes

source image

Prodevelopertutorial

1M

read

255

img
dot

Image Credit: Prodevelopertutorial

Data structure tutorial 10: Implementation of Circular Queue using Linked List

  • Introduction to Circular Queue Data Structure
  • Implementation of Circular Queue using Linked List
  • Insertion [enqueue] operation can be visualized as increasing the rear pointer and keeping the front pointer still.
  • Deletion [dequeue] operation can be visualized as increasing the front pointer and keeping the rear pointer still.

Read Full Article

like

15 Likes

source image

Medium

1M

read

49

img
dot

Image Credit: Medium

History of Artificial Intelligence

  • The concept of smart machines has ancient foundations, dating back to philosophers like Aristotle.
  • Modern history of AI begins in the middle of the 20th century, with Alan Turing's paper on 'Computing Machinery and Intelligence.'
  • The 1956 Dartmouth Conference is a significant event where the term 'Artificial Intelligence' was coined.
  • Researchers like John McCarthy, Marvin Minsky, and Allen Newell aimed to simulate human problem-solving and reasoning in machines.

Read Full Article

like

2 Likes

source image

Medium

1M

read

326

img
dot

Image Credit: Medium

Singularity is something without an ego

  • The Singularity will require humans and AI to work symbiotically, with AI handling tasks that require computation, logic, and scalability, and humans contributing empathy, ethics, and creativity.
  • Traditional power structures — based on information control, authority, or economic dominance — will erode as AI democratizes knowledge and decision-making.
  • AI systems, especially when integrated into decentralized frameworks like Nostr and Bitcoin, will enhance humanity’s collective intelligence by connecting individuals and optimizing decision-making at scale.
  • AI could level the playing field, offering equal access to education, healthcare, and resources. This redistribution of opportunity could dissolve long-standing inequalities.

Read Full Article

like

19 Likes

source image

Medium

1M

read

210

img
dot

Image Credit: Medium

How I Created Stunning 8K Movies in Hours

  • AI MovieMaker is a tool that allows users to create ultra-realistic 8K cinematic films effortlessly.
  • Users can personalize scenes, graphics, and audio, streamlining the entire filmmaking process.
  • Many users report recovering their investment and making a profit by monetizing their videos.
  • The user-friendly interface and guided prompts make it easy for even beginners to create professional-grade content.

Read Full Article

like

12 Likes

For uninterrupted reading, download the app