xxxxxxxxxx
public class Class1 {
public static String word = "Class1 word";
public Class1() {
String class2Word = Class2.word; // Get string "word" from class "Class2".
}
}
public class Class2 {
public static String word = "Class2 word";
}
xxxxxxxxxx
/* on terminal
go get github.com/lib/pq
*/
package config
import (
"database/sql"
"fmt"
_ "github.com/lib/pq"
)
const (
host = "localhost"
port = 5432
user = "postgres"
password = "admin"
dbName = "book_db"
)
var psqlInfo = fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable", host, port, user, password, dbName)
func ConnectDB () *sql.DB {
db, err := sql.Open("postgres", psqlInfo)
if err != nil {
panic(err)
}
err = db.Ping()
if err != nil {
panic(err)
}
return db
}
xxxxxxxxxx
// command
composer require tymon/jwt-auth
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"
php artisan jwt:secret
// Update User Model
namespace App\Models;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Tymon\JWTAuth\Contracts\JWTSubject;
class User extends Authenticatable implements JWTSubject
{
/**
* Get the identifier for JWT.
*/
public function getJWTIdentifier()
{
return $this->getKey();
}
/**
* Return a key-value array containing claims for the token.
*/
public function getJWTCustomClaims()
{
return [];
}
}
// Controller
namespace App\Http\Controllers\API;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use App\Models\User;
use Tymon\JWTAuth\Facades\JWTAuth;
class AuthController extends Controller
{
// User login and generate JWT token
public function login(Request $request)
{
$request->validate([
'email' => 'required|email',
'password' => 'required',
]);
$credentials = $request->only('email', 'password');
if (!$token = JWTAuth::attempt($credentials)) {
return response()->json(['error' => 'Invalid credentials'], 401);
}
return response()->json([
'user' => Auth::user(),
'token' => $token,
]);
}
// Get user details
public function userProfile()
{
return response()->json(Auth::user());
}
// Logout user (invalidate token)
public function logout()
{
Auth::logout();
JWTAuth::invalidate(JWTAuth::getToken());
return response()->json(['message' => 'Successfully logged out']);
}
}
// route api.php
Route::post('/login', [AuthController::class, 'login']);
Route::middleware('auth:api')->group(function () {
Route::get('/user', [AuthController::class, 'userProfile']);
Route::post('/logout', [AuthController::class, 'logout']);
});
// config/auth.php
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'jwt',
'provider' => 'users',
],
],
xxxxxxxxxx
// install puppeteer + typescript
npm install puppeteer
npm install -D ts-node typescript @types/puppeteer
// index.ts
import puppeteer from 'puppeteer';
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
console.log(await page.title());
await browser.close();
})();
// run it
npx ts-node index.ts
xxxxxxxxxx
In Java, you can access a variable from another class using public access modifier or getter methods.
Example 1: Using public Modifier
class A {
public int num = 10;
}
class B {
public static void main(String[] args) {
A obj = new A();
System.out.println(obj.num); // Accessing public variable
}
}
Example 2: Using Getter Method
class A {
private int num = 10;
public int getNum() { // Getter method
return num;
}
}
class B {
public static void main(String[] args) {
A obj = new A();
System.out.println(obj.getNum()); // Accessing via getter
}
}
Using getter methods is recommended for encapsulation.
xxxxxxxxxx
In Java, you can access a variable from another class using public access modifier or getter methods.
Example 1: Using public Modifier
class A {
public int num = 10;
}
class B {
public static void main(String[] args) {
A obj = new A();
System.out.println(obj.num); // Accessing public variable
}
}
Example 2: Using Getter Method
class A {
private int num = 10;
public int getNum() { // Getter method
return num;
}
}
class B {
public static void main(String[] args) {
A obj = new A();
System.out.println(obj.getNum()); // Accessing via getter
}
}
Using getter methods is recommended for encapsulation.
xxxxxxxxxx
In Java, you can access a variable from another class using public access modifier or getter methods.
Example 1: Using public Modifier
class A {
public int num = 10;
}
class B {
public static void main(String[] args) {
A obj = new A();
System.out.println(obj.num); // Accessing public variable
}
}
Example 2: Using Getter Method
class A {
private int num = 10;
public int getNum() { // Getter method
return num;
}
}
class B {
public static void main(String[] args) {
A obj = new A();
System.out.println(obj.getNum()); // Accessing via getter
}
}
Using getter methods is recommended for encapsulation.