2023-01-22

Автогенераторы двухтактные

 https://www.youtube.com/watch?v=6aQgsc0ktIE

Простой повышающий DC-DC преобразователь на советских деталях } * {A simple DC-DC boost converter






https://www.youtube.com/watch?v=2eHgJ1eca4E
Двухтактный генератор на кт315.Какую мощность можно снять с включением транзисторов в параллель.

2023-01-10

Select properJava collection


 
https://github.com/encapsulin/coreJava/blob/main/src/speedCalc/MainCollections.java

-=start=-
///////////////////////////////
addFirst()class java.util.ArrayDeque1000000: 134 ms 
addFirst()class java.util.ArrayDeque2000000: 107 ms 
addFirst()class java.util.ArrayDeque3000000: 60 ms 
addFirst()class java.util.ArrayDeque4000000: 70 ms 
addFirst()class java.util.ArrayDeque5000000: 105 ms 
removeFirst()class java.util.ArrayDeque: 22 ms 

addFirst()class java.util.LinkedList1000000: 285 ms 
addFirst()class java.util.LinkedList2000000: 38 ms 
addFirst()class java.util.LinkedList3000000: 176 ms 
addFirst()class java.util.LinkedList4000000: 155 ms 
addFirst()class java.util.LinkedList5000000: 152 ms 
removeFirst()class java.util.LinkedList: 85 ms 

addFirst()class java.util.ArrayList50000: 194 ms 
addFirst()class java.util.ArrayList100000: 615 ms 
addFirst()class java.util.ArrayList150000: 1080 ms 
addFirst()class java.util.ArrayList200000: 1509 ms 
addFirst()class java.util.ArrayList250000: 1941 ms 
removeFirst()class java.util.ArrayList: 5289 ms 

///////////////////////////////
addLast()class java.util.ArrayList1000000: 32 ms 
addLast()class java.util.ArrayList2000000: 78 ms 
addLast()class java.util.ArrayList3000000: 25 ms 
addLast()class java.util.ArrayList4000000: 18 ms 
addLast()class java.util.ArrayList5000000: 37 ms 
removeLast()class java.util.ArrayList: 27 ms 

addLast()class java.util.ArrayDeque1000000: 50 ms 
addLast()class java.util.ArrayDeque2000000: 18 ms 
addLast()class java.util.ArrayDeque3000000: 29 ms 
addLast()class java.util.ArrayDeque4000000: 18 ms 
addLast()class java.util.ArrayDeque5000000: 18 ms 
removeLast()class java.util.ArrayDeque: 55 ms 

addLast()class java.util.LinkedList1000000: 157 ms 
addLast()class java.util.LinkedList2000000: 211 ms 
addLast()class java.util.LinkedList3000000: 210 ms 
addLast()class java.util.LinkedList4000000: 15 ms 
addLast()class java.util.LinkedList5000000: 214 ms 
removeLast()class java.util.LinkedList: 86 ms 

///////////////////////////////
addMiddle()class java.util.ArrayList50000: 86 ms 
removeMiddle()class java.util.ArrayList: 89 ms 

addMiddle()class java.util.LinkedList50000: 1480 ms 
removeMiddle()class java.util.LinkedList: 1479 ms 

addMiddle()class java.util.ArrayDeque50000: 16636 ms 
-=stop=-

foxminded
https://youtu.be/IFL7qnRR6YE?t=2070
https://youtu.be/IFL7qnRR6YE?t=5895

2022-12-19

okta oauth2

 https://github.com/okta/okta-spring-boot

Spring Boot Version Compatibility

Okta Spring Boot SDK VersionsCompatible Spring Boot Versions
1.2.x2.1.x
1.4.x2.2.x
1.5.x2.4.x
2.0.x2.4.x
2.1.x2.7.x

2022-11-07

AWS EC2 Amazon Linux

#https://dev.to/viralsangani/be-anonymous-create-your-own-proxy-server-with-aws-ec2-2k63

#1) amazon linux

#2) spot instance (permanent)

#3) key ssh

#4) network group All,ssh,http, https


#!/bin/bash

sudo yum update -y

sudo yum install -y httpd

sudo systemctl start httpd

sudo systemctl enable httpd

cd /var/www/html

sudo sh -c 'echo "hello from $(hostname -f)" > /var/www/html/index.html'


####################

 #If you are using Amazon Linux 2023 (AL2023)

# 1. Install compilation tools and dependencies

sudo dnf groupinstall -y "Development Tools"

sudo dnf install -y asciidoc


# 2. Download and extract the latest Tinyproxy release

cd /tmp

wget https://github.com/tinyproxy/tinyproxy/releases/download/1.11.1/tinyproxy-1.11.1.tar.gz

tar -xzf tinyproxy-1.11.1.tar.gz

cd tinyproxy-1.11.1

./configure --prefix=/usr --sysconfdir=/etc

make

sudo make install


# 4. Create a systemd service file so it can run as a daemon

sudo tee /etc/systemd/system/tinyproxy.service > /dev/null << 'EOF'

[Unit]

Description=Tinyproxy lightweight HTTP proxy

After=network.target


[Service]

Type=simple

ExecStart=/usr/bin/tinyproxy -d -c /etc/tinyproxy/tinyproxy.conf

User=nobody

Group=nobody

Restart=on-failure


[Install]

WantedBy=multi-user.target

EOF


# 5. Create required runtime directory and permissions

sudo mkdir -p /var/run/tinyproxy

sudo chown nobody:nobody /var/run/tinyproxy

#####################

sudo sed -i 's/^Allow 127\.0\.0\.1$/#Allow 127.0.0.1/' /etc/tinyproxy/tinyproxy.conf

sudo sed -i 's/^Allow ::1$/#Allow ::1/' /etc/tinyproxy/tinyproxy.conf


# 6. Enable and start the service

sudo systemctl daemon-reload

sudo systemctl enable --now tinyproxy



#curl -i -x http://YOUR_EC2_PUBLIC_IP:8888 http://ifconfig.me




2022-10-23

AWS Certified Cloud Practitioner Certification Course (CLF-C01)

AWS Certified Cloud Practitioner Training 2020 - Full Course

https://youtu.be/3hLmDS179YE?t=3266 EC2 create witch IAM role to access SSM 

S3 - CloudFront - edge locations

https://youtu.be/3hLmDS179YE?t=6567 AWS Marketplace

AWS Certified Cloud Practitioner Certification Course (CLF-C01) - Pass the Exam!

 https://youtu.be/SOTamWNgDKc?t=14799 AWS toolkit for VSCode


AWS for Startups - Deploying with AWS: https://youtu.be/U3VSJhaC4kc

##############


https://github.com/Mainak99/AWS-Slides

2022-09-15

AWS

 
SIMPLE MONTHLY CALCULATOR

https://www.youtube.com/watch?v=U3VSJhaC4kc

CheatSheet:

EB https://www.youtube.com/watch?v=RrKRN9zRBWs&t=0s


ECS and Fargate 2:54 

X-Rays 3:20 https://www.youtube.com/watch?v=RrKRN9zRBWs&t=0s


Route 53 3:44 https://youtu.be/RrKRN9zRBWs?t=13482



AWS CLI SDK https://youtu.be/RrKRN9zRBWs?t=14652


KMS https://youtu.be/RrKRN9zRBWs?t=15254


Kinesis https://youtu.be/RrKRN9zRBWs?t=17561

Cognito  https://youtu.be/RrKRN9zRBWs?t=15919

SNS  https://youtu.be/RrKRN9zRBWs?t=16378

SQS https://youtu.be/RrKRN9zRBWs?t=17013

https://www.linkedin.com/pulse/sqs-send-receive-delete-messages-nodejs-karandeep-singh-/?trk=articles_directory
var AWS = require('aws-sdk')
var sqs = new AWS.SQS();


// For Standard Queue
exports.handler = async (event) => {
    
    var params = {
      DelaySeconds: 2,
      MessageAttributes: {
        "Author": {
          DataType: "String",
          StringValue: "Karandeep Singh"
        },
      },
      MessageBody: "TEST of the SQS service.",
      QueueUrl: "https://sqs.us-east-1.amazonaws.com/570411717331/MyTestQueue"
    };
    
    let queueRes = await sqs.sendMessage(params).promise();
    const response = {
        statusCode: 200,
        body: queueRes,
    };
    
    return response; 
};.
DynamoDB 5:49 https://www.youtube.com/watch?v=RrKRN9zRBWs&t=21255s



EC2 https://youtu.be/RrKRN9zRBWs?t=25811



VPC https://youtu.be/RrKRN9zRBWs?t=27358



ELB 7:55 https://youtu.be/RrKRN9zRBWs?t=28085



Security Groups https://youtu.be/RrKRN9zRBWs?t=28462


NACLs https://youtu.be/RrKRN9zRBWs?t=28670



IAM 8:35 https://youtu.be/RrKRN9zRBWs?t=32553



CloudFront 9:54 https://youtu.be/RrKRN9zRBWs?t=33694



CloudTrail 9:34 https://youtu.be/RrKRN9zRBWs?t=34481


AWS Quick Starts are collection of pre-built CloudFormation templates 9:42
CloudFormation  10:40 https://youtu.be/RrKRN9zRBWs?t=38487



SAM CLI https://youtu.be/RrKRN9zRBWs?t=38979



CI https://youtu.be/RrKRN9zRBWs?t=39500



CodeCommit https://youtu.be/RrKRN9zRBWs?t=39736


CodeBuild https://youtu.be/RrKRN9zRBWs?t=40786



Docker commands 11:00


part 2
https://youtu.be/eCopK1RoyFM?t=979

https://youtu.be/eCopK1RoyFM?t=1454

RDS 0:30 https://youtu.be/eCopK1RoyFM?t=4000

S3 CheatSheet https://youtu.be/eCopK1RoyFM?t=6728

ElastiCache CS 2:02 https://youtu.be/eCopK1RoyFM?t=7350

Lambda CS https://youtu.be/eCopK1RoyFM?t=8287

API Gateway 2:28 https://youtu.be/eCopK1RoyFM?t=9030

Step Functions CS 3:45 https://youtu.be/eCopK1RoyFM?t=13433


CloudWatch
Developer Associate CS? 3:47







2022-09-03

gitlab

Nana: https://www.youtube.com/watch?v=qP8kir2GUgo

https://www.youtube.com/watch?v=PGyhBwLyK2U 

(https://www.youtube.com/watch?v=8aV5AxJrHDg&list=PLZMWkkQEwOPmGolqJPsAm_4fcBDDc2to_)

image: amazoncorretto:11-alpine-jdk

variables:
UNAME: ${UNAME}
PASSWD: ${PASSWD}
stages: # List of stages for jobs, and their order of execution
- build
- test
- deploy

build-job: # This job runs in the build stage, which runs first.
stage: build
script:
- echo "Compiling the code..."
- java -version
- ./gradlew clean build
- echo $UNAME
- echo ${UNAME}
- echo "Compile complete."
artifacts:
untracked: false
expire_in: 1 days
paths:
# - build
- "build/libs/demo-0.0.1.jar"

unit-test-job: # This job runs in the test stage.
stage: test # It only starts when the job in the build stage completes successfully.
script:
- echo "Running unit tests... This will take about 6 seconds."
- sleep 0
- echo "Code coverage is 90%"
- ls build/libs/demo-0.0.1.jar
- ./gradlew test
- echo $PASSWD

.lint-test-job: # This job also runs in the test stage.
stage: test # It can run at the same time as unit-test-job (in parallel).
script:
- echo "Linting code... This will take about 1 seconds."
- sleep 0
- echo "No lint issues found."

deploy-job: # This job runs in the deploy stage.
when: manual
# rules:
# - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
stage: deploy # It only runs when *both* jobs in the test stage complete successfully.
image:
name: amazon/aws-cli
entrypoint: [""]
environment: production
script:
- echo "Deploying application..."
- echo $CI_COMMIT_MESSAGE > /tmp/CI_COMMIT_MESSAGE
- ls build/libs/demo-0.0.1.jar
- aws --version
- aws s3 cp /tmp/CI_COMMIT_MESSAGE s3://demobucketencaps/CI_COMMIT_MESSAGE
- aws s3 cp build/libs/demo-0.0.1.jar s3://demobucketencaps/demo-0.0.1.jar
- echo "Application successfully deployed."
git reset filename.txt 
git rm --cached filename.txt git delete

git config --global credential.helper 'cache --timeout=604800'

2022-09-01

devops

 .gitlab-ci.yml


https://www.youtube.com/watch?v=PGyhBwLyK2U

AWS Certified Solutions Architect - Associate 2020 

https://www.youtube.com/watch?v=Ia-UEYYR44s

AWS Certified Developer - Associate 2020 

https://www.youtube.com/watch?v=RrKRN9zRBWs

Dockerfile
FROM amazoncorretto:11-alpine-jdk
EXPOSE 8080/tcp
COPY ./build/libs/demo-0.0.1.jar /tmp/
CMD ["java", "-jar", "/tmp/demo-0.0.1.jar"]

#docker build .
#docker images
#docker tag <> demojar
#docker run -p8081:8080 demojar
#docker ps
#docker ports
docker image ls

2022-06-30

Java Map

Map map = new HashMap<>(); 
IntStream.range(0,4).forEach(i->map.put("str"+i,i)); 
System.out.println(map);
 ///////////////////////////////////////////
   

        List<Map.Entry<String, Integer>> list = map.entrySet().stream()
                .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder()))
                .sorted((a,b)->b.getValue()-a.getValue())
                .limit(3).collect(Collectors.toList());
        System.out.printf("\nList:%s:%d", list.get(0).getKey(), list.get(0).getValue());
        list.forEach(entry -> System.out.printf("\n%s:%d", entry.getKey(), entry.getValue()));

        Optional<Map.Entry<String, Integer>> opt = map.entrySet().stream()
                .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder()))
                .limit(3).findFirst();
        System.out.printf("\nOpt:%s:%d", opt.get().getKey(), opt.get().getValue());

Map<String, Integer> map2 = map.entrySet().stream()
                .sorted((a,b)->b.getValue()-a.getValue())
                .limit(1).collect(Collectors.toMap(m->m.getKey(),m->m.getValue()));
        System.out.println("map2:" + map2);

/////////////////////////////////////////////////////////////////////////////////////////////////////////////
map.forEach((k, v) -> System.out.println((k + ":" + v)));
map.entrySet().stream()
.forEach(e -> System.out.println(e.getKey() + ":" + e.getValue()));
for (Map.Entry<String, Integer> entry : map.entrySet()) { System.out.println(entry.getKey() + ":" + entry.getValue()); }

for (String key : map.keySet()) { System.out.println(key + ":" + map.get(key)); }

for (Integer value : map.values()) { System.out.println(value); }

2022-06-16

Java ArrayDeque

ArrayDeque<Integer> q = new ArrayDeque<>();

IntStream.range(0, 5).forEach((i) -> {q.addFirst(i);});
System.out.println(q);

IntStream.range(0, 5).forEach((i) -> {
System.out.printf("%d, ", q.pollFirst());
} );

System.out.println(q);

        ArrayDeque<Integer> q = new ArrayDeque<>();


        IntStream.range(0, 5).forEach((i) -> { q.addFirst(i);  });

        System.out.println(q);

//[4, 3, 2, 1, 0]


        IntStream.range(0, 5).forEach((i) ->{System.out.printf("%d,",q.pollFirst());});

//4, 3, 2, 1, 0, 


        System.out.println(q); //[]

        //q.clear();

 ###################################