Posts

Learning Journey #6: Brief Exploration of Databases and its Management Systems

  Welcome to the "Learning Journey" series. This space is my personal archive where I share insights and discoveries from my explorations into new tech territories, particularly back-end development and cloud services. As I continue to broaden my tech understanding, I hope this series inspires and contributes to your own learning journey. 1. Understanding the Concept of a Database A database is a structured repository of data stored electronically. This data, which could pertain to people, products, transactions, or any other entity significant to an individual or a business, is organized to facilitate ease of access, management, and update. Databases serve as the backbone of any data-driven business decision-making process, making them an indispensable part of today's businesses. 2. Database Management Systems (DBMS) A Database Management System (DBMS) is a specialized software designed to interact with the user, applications, and the database itself to capture, analyze,

Learning Journey#5. From Foundation to Future: Cloud Computing as a Career Pathway

Image
Welcome to the "Learning Journey" series. This space is my personal archive where I share insights and discoveries from my explorations into new tech territories, particularly back-end development and cloud services. As I continue to broaden my tech understanding, I hope this series inspires and contributes to your own learning journey. Introduction In the vast expanse of the digital universe, the concept of cloud computing has become an intrinsic part of our daily lives. Silently powering the technology we rely on, from our emails to the multitude of apps we use, cloud computing has become a cornerstone of modern technological advancements. This post aims to unpack the concept of the cloud, narrate its evolutionary journey, and shine a light on the emerging role of cloud engineers. Grasping the Concept of Cloud At its core, cloud computing is the delivery of computing services such as servers, storage, databases, networking, software, analytics,

Learning Journey#4. Understanding REST APIs: for Beginners

Image
Welcome to the "Learning Journey" series. This space is my personal archive where I share insights and discoveries from my explorations into new tech territories, particularly back-end development and cloud services. As I continue to broaden my tech understanding, I hope this series inspires and contributes to your own learning journey. Introduction https://uxwing.com/rest-api-icon An API, or application programming interface, is a way for two pieces of software to communicate with each other. REST, or Representational State Transfer, is a set of architectural principles for designing APIs. REST APIs are the most common type of API and are employed in a wide array of applications, such as web browsers, mobile apps, and server-to-server communication. What is a REST API? A REST API is an API that adheres to the REST architectural principles. These principles dictate how

Learning Journey #3. Spring Framework

Image
Welcome to the "Learning Journey" series. This space is my personal archive where I share insights and discoveries from my explorations into new tech territories. we're going to dive into a game-changer in the world of Java-based enterprise applications: the Spring Framework. 1. Background: The Evolution of Spring At the beginning of enterprise Java, EJB (Enterprise JavaBeans) was the dominant choice for building robust enterprise applications. However, the complexities of EJB did not blend well with modern architectural trends, which required a simpler, more lightweight solution. This need led to the birth of the Spring Framework. Over time, Spring has evolved from a remedial framework to combat the complexities of EJB to a comprehensive suite of projects addressing a wide array of enterprise Java needs. It now includes everything from a security framework to a full-fledged MVC web application framework. 2. Understanding the Spring Framework

Daily#14. Understanding JVM, Dalvik, and ART: The Engines Behind Java and Android Applications

Image
Introduction Developing applications in Java or for the Android platform requires an understanding of the runtime environments where these applications run. A runtime environment refers to the state of the system when a program is executed. It includes the settings, libraries, and other supporting infrastructure that the system provides to the program. Understanding runtime environments is crucial as they dictate how a program will behave when executed. Java Virtual Machine (JVM) is the original runtime environment for Java, but is not used on Android. Dalvik and ART, on the other hand, are newer runtime environments that were specifically designed for Android. This post will guide you through the functionality of JVM, Dalvik, and ART. What is JVM? The Java Virtual Machine (JVM) is an abstract computing machine that enables a computer to run a Java program. Here are the key characteristics of JVM: https://en.wikipe

Daily #13: Diving Deeper Into Android Events: Location Tracking, Screen On/Off, Orientation Changes, Battery Status, Incoming Calls/SMS, and Pedometer

Welcome back to our daily tech series! Today, we're delving deeper into some essential Android events and features that you can implement in your apps to enhance user experience. Let's get started. Location Tracking Android provides the LocationManager for accessing system location services. This lets your app request location updates from GPS or network providers. Here's an example: LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); String bestProvider = locationManager.getBestProvider(criteria, true); LocationListener locationListener = new LocationListener() { public void onLocationChanged(Location location) { // Called when a new location is found by the network location provider. // Do something with the location. } // Override other methods as needed }; // Request location updates locationManager.requestLocati

Daily#12: Networking in Android - Understanding ConnectivityManager and Network APIs

Hello everyone! Today, let's delve into Android's networking capabilities. We'll concentrate on the ConnectivityManager class and the Network API, both of which provide applications the means to specify a network interface for communication with external networks. ConnectivityManager and bindProcessToNetwork Let's start with ConnectivityManager, a class that provides network connectivity status and updates applications when this connectivity changes. One crucial method in this class is bindProcessToNetwork. ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); Network network = ... // Your desired network cm.bindProcessToNetwork(network); Using bindProcessToNetwork, an application can dedicate a Network object for its network traffic. Therefore, all traffic from the application will be routed over this specified network. Acquiring a Network Object You may be wondering how to get a Network object to use with bindProcessToNet