Pass Oracle 1z0-1084-23 Exam With Practice Test Questions Dumps Bundle [Q16-Q33]

Share

Pass Oracle 1z0-1084-23 Exam With Practice Test Questions Dumps Bundle

2024 Valid 1z0-1084-23 test answers & Oracle Exam PDF


Oracle 1z0-1084-23 Exam Syllabus Topics:

TopicDetails
Topic 1
  • Explain cloud-native testing and discuss measures for testing cloud-native applications
  • Develop and deploy containerized applications on OKE
Topic 2
  • Explain docker and the concepts around its architecture and components
  • Perform Tasks around Monitoring, Logging, and Tracing
Topic 3
  • Monitoring & Troubleshooting Cloud Native Applications
  • Create integration between systems using the OCI streaming service
Topic 4
  • Leverage OCI Service Mesh for Kubernetes Deployment
  • Explain the microservices architecture and discuss the design methodology of microservices
Topic 5
  • Develop Serverless Applications with Oracle Functions
  • Explain the fundamentals of cloud-native and discuss the key pillars of cloud-native development
Topic 6
  • Facilitate asynchronous messaging for microservices with OCI Queue
  • Leveraging Serverless Technologies for Cloud Native Development
Topic 7
  • Utilize OCI Monitoring service to view metrics
  • Build events-driven serverless applications using OCI event service
Topic 8
  • Use OCIR to pull and push container images
  • Apply security measures to overcome challenges with cloud-native development

 

NEW QUESTION # 16
Which TWO statements are true for serverless computing and serverless architectures? (Choose two.)

  • A. Application DevOps team is responsible for scaling.
  • B. Serverless function execution is fully managed by third party.
  • C. Long running tasks are perfectly suited for serverless.
  • D. Applications running on a FaaS (Functions as a Service) platform.
  • E. Serverless function state should never be stored externally.

Answer: B,D

Explanation:
The two true statements for serverless computing and serverless architectures are: Applications running on a FaaS (Functions as a Service) platform: Serverless architectures typically involve running code in the form of functions on a serverless platform. These functions are event-driven and executed in response to specific triggers or events. Serverless function execution is fully managed by a third party: In serverless computing, the cloud provider takes care of the infrastructure management and resource provisioning. The execution of serverless functions is handled automatically by the platform, relieving developers from the responsibility of managing servers or infrastructure. It's important to note that long running tasks are not typically suited for serverless architectures due to the event-driven nature of serverless functions. Also, while serverless functions may have state, it is recommended to avoid external storage dependencies and instead leverage stateless functions whenever possible. Additionally, scaling in serverless architectures is typically handled automatically by the platform, rather than being the responsibility of the application DevOps team.


NEW QUESTION # 17
A developer using Oracle Cloud Infrastructure (OCI) API Gateway needs to authenticate the API requests to their web application. The authentication process must be implemented using a custom scheme which accepts string-based parameters from the API caller. Which approach should the developer use in this scenario?

  • A. Create an authorizer function using request header authorization.
  • B. Create a cross account functions authorizer.
  • C. Create an authorizer function using OCI Identity and Access Management 91AM) based authentication.
  • D. Create an authorizer function using token-based authorization.

Answer: D

Explanation:
Explanation
In the given scenario, the developer should use the approach of creating an authorizer function using token-based authorization. Token-based authorization is a commonly used approach for authenticating API requests. It involves generating and issuing tokens to API callers, which they can then include in the requests they make to the API. The tokens serve as proof of authentication and are validated by the server to ensure the caller's identity and access rights. By creating an authorizer function using token-based authorization, the developer can implement a custom scheme that accepts string-based parameters from the API caller. This allows the developer to define their own authentication logic and validate the provided tokens according to their requirements. The authorizer function can be configured in the OCI API Gateway to be invoked before forwarding the request to the web application. It will perform the necessary token validation and authenticationchecks, allowing only authorized requests to access the protected resources of the web application.


NEW QUESTION # 18
What is the difference between continuous delivery and continuous deployment in the DevOps methodology?
(Choose the best answer.)

  • A. Continuous delivery requires automatic linting, whereas continuous deployment testing must be run manually.
  • B. Continuous delivery is a process that Initiates deployment manually, whereas continuous deployment is based on automating the deployment process.
  • C. Continuous delivery involves automation of developer tasks, whereas continuous deployment involves manual operational tasks.
  • D. Continuous delivery utilizes automatic deployment to a development environment, whereas continuous deployment involves automatic deployment to a production environment.

Answer: D

Explanation:
Explanation
The two correct differences between continuous delivery and continuous deployment in the DevOps lifecycle are: Continuous delivery is a process that initiates deployment manually, while continuous deployment is based on automating the deployment process. In continuous delivery, the software is ready for deployment, but the decision to deploy is made manually by a human. On the other hand, continuous deployment automates the deployment process, and once the software passes all the necessary tests and quality checks, it is automatically deployed without human intervention. Continuous delivery utilizes automatic deployment to a development environment, while continuous deployment involves automatic deployment to a production environment. In continuous delivery, the software is automatically deployed to a development or staging environment for further testing and validation. However, the actual deployment to the production environment is performed manually. In continuous deployment, the software is automatically deployed to the production environment, eliminating the need for manual intervention in the deployment process. These differences highlight the level of automation and human involvement in the deployment process between continuous delivery and continuous deployment approaches in the DevOps lifecycle.


NEW QUESTION # 19
Which of the following TWO statements are TRUE about deleting a Kubernetes cluster? (Choose two.)

  • A. You cannot change the autogenerated names of the worker nodes in the format oke-c<part-of cluster- CCID>-<part-of-node-pool-OCID>-<part-of-subnet-OCID>-<slot> within a Kubernetes cluster.
  • B. Upon deleting a cluster, other resources created during the cluster creation process or associated with the cluster (such as VCNS, Internet Gateways, NAT Gateways, Route Tables, Security Lists, B. Load Balancers, and Block Volumes) are deleted automatically.
  • C. Changing the auto-generated name of a worker node does not affect the deletion of the worker node when the cluster in which it is created is deleted.
  • D. Upon deleting a cluster, no other resources created during the cluster creation process or associated with the cluster (such as VCNS. Internet Gateways, NAT Gateways, Route Tables, Security Lists. Load Balancers, and Block Volumes) are deleted automatically.
  • E. If you change the auto-generated name of a worker node and then delete the cluster, the renamed worker node is not deleted.

Answer: D,E

Explanation:
The correct statements about deleting a Kubernetes cluster are: If you change the auto-generated name of a worker node and then delete the cluster, the renamed worker node is not deleted. Changing the name of a worker node does not affect its deletion when the cluster is deleted. The cluster deletion process does not consider the renamed worker nodes and will delete all worker nodes associated with the cluster. Upon deleting a cluster, no other resources created during the cluster creation process or associated with the cluster (such as VCNs, Internet Gateways, NAT Gateways, Route Tables, Security Lists, Load Balancers, and Block Volumes) are deleted automatically. These additional resources are not automatically deleted when the cluster is deleted. You need to manage the deletion of these resources separately, if desired. Therefore, the correct statements are that the renamed worker nodes are not deleted when the cluster is deleted, and other associated resources are not automatically deleted when the cluster is deleted.


NEW QUESTION # 20
Which one of the following is NOT a valid backend-type supported by Oracle Cloud Infrastructure (OCI) API Gateway?

  • A. ORACLE_FUNCTIONS_BACKEND
  • B. STOCK_RESPONSE_BACKEND
  • C. HTTP BACKEND
  • D. ORACLE_STREAMS_BACKEND

Answer: D

Explanation:
Explanation
Oracle Cloud Infrastructure (OCI) API Gateway supports various backend-types to handle incoming requests and route them to the appropriate backend service. However, "ORACLE_STREAMS_BACKEND" is not a valid backend-type in OCI API Gateway. "STOCK_RESPONSE_BACKEND" is a valid backend-type that allows you to configure static responses directly in the API Gateway without routing requests to any specific backend service. This can be useful for handling simple requests or returning predefined responses. "HTTP BACKEND" is another valid backend-type that enables routing requests to an HTTP backend service.
"ORACLE_FUNCTIONS_BACKEND" is a valid backend-type that allows you to route requests to Oracle Functions, which are serverless functions that can be used to execute specific logic or operations. However,
"ORACLE_STREAMS_BACKEND" is not a valid backend-type in OCI API Gateway. The API Gateway does not have native support for Oracle Streams as a backend service. Oracle Streams is a feature of Oracle Database that provides a publish-subscribe mechanism for data replication and distribution within an Oracle Database environment. It is not directly integrated as a backend service in OCI API Gateway.


NEW QUESTION # 21
You have just finished building and compiling the software required to implement the API microservice component. You need to rebuild the API docker image, and plan to tag it as: ocIdevops/api:latest Which docker command would re-create the API docker image?

  • A. docker compile -t OCI devops/api:latest
  • B. docker build -t OCIdevops/api:latest
  • C. docker image -t OCIdevops/api:latest
  • D. docker create -t OCIdevops/api:latest

Answer: B

Explanation:
Explanation
The correct command to rebuild the API docker image and tag it as OCIdevops/api:latest is: docker build -t OCIdevops/api:latest The docker build command is used to build a Docker image from a Dockerfile. The -t flag is used to specify the name and optionally a tag for the image. In this case, the name of the image is OCIdevops/api and the tag is latest. By running this command, the Docker image will be recreated based on the instructions in the Dockerfile and tagged with the specified name and tag.


NEW QUESTION # 22
You are instructed to automate manual tasks and help software teams manage complex environments at scale using the Oracle Cloud Infrastructure (OCI) services. Which THREE OCI services can be leveraged to securely store and version your application's source code, and automate the building, testing, and deployment of applications to the OCI platform? (Choose three.)

  • A. Container Engine for Kubernetes
  • B. Oracle Cloud Logging Analytics
  • C. Oracle APEX Application Development
  • D. Resource Manager
  • E. Oracle Cloud Infrastructure Registry
  • F. DevOps

Answer: A,E,F

Explanation:
Explanation
The three OCI services that can be leveraged to securely store and version your application's source code, and automate the building, testing, and deployment of applications to the OCI platform are: DevOps: OCI provides a comprehensive set of DevOps services, including Oracle Developer Cloud Service, which allows you to manage source code repositories, automate builds and testing, and streamline the deployment process.
Container Engine for Kubernetes: OCI's Container Engine for Kubernetes (OKE) enables you to deploy and manage containerized applications using Kubernetes. It provides a scalable and reliable platform for automating the deployment of your applications. Oracle Cloud Infrastructure Registry: OCI Registry is a fully managed, private container registry that allows you to securely store and manage Docker images. It integrates with other OCI services, such as Container Engine for Kubernetes, to facilitate seamless deployment and orchestration of containerized applications. These services combined provide the necessary tools and infrastructure to support continuous integration and continuous deployment (CI/CD) workflows, enabling efficient and automated application development and deployment processes in the Oracle Cloud Infrastructure environment.


NEW QUESTION # 23
You are developing a serverless application with Oracle Functions and Oracle Cloud Infrastructure Object Storage. Your function needs to read a JSON file object from an Object Storage bucket named "input-bucket" in compartment "qa-compartment". Your corporate security standards mandate the use of Resource Principals for this use case. Which two statements are needed to implement this use case? (Choose two.)

  • A. Set up a policy to grant all functions read access to the bucket: allow all functions in compartment qa-compartment to read objects in target.bucket.name= "input-bucket'
  • B. Set up a policy with the following statement to grant read access to the bucket: allow dynamic-group read-file-dg to read objects in compartment qa- compartment where target.bucket.name= 'input-bucket'
  • C. No policies are needed. By default, every function has read access to Object Storage buckets in the tenancy.
  • D. Set up the following dynamic group for your function's OCID: Name: read-file-dg Rule: resource.id =
    "ocid1.fnfunc.oc1.phx.aaaaaaaakeaobctakezjz5i4ujj7g25q7sx5m vr55pms6f4da'
  • E. Set up a policy to grant your user account read access to the bucket: allow user XYZ to read objects in compartment qa-compartment where target.bucket.name= "input-bucket'

Answer: B,D

Explanation:
Explanation
The correct answers are: Set up the following dynamic group for your function's OCID: Name: read-file-dg Rule: resource.id = "ocid1.fnfunc.oc1.phx.aaaaaaaakeaobctakezjz5i4ujj7g25q7sx5mvr55pms6f4da" Set up a policy with the following statement to grant read access to the bucket: Statement: allow dynamic-group read-file-dg to read objects in compartment qa-compartment where target.bucket.name = 'input-bucket' Explanation: To implement the use case of reading a JSON file object from an Object Storage bucket using Resource Principals with Oracle Functions, you need to configure the following: Create a dynamic group named "read-file-dg" and associate it with your function's OCID. This dynamic group helps identify the function as a member of the group for policy enforcement. Create a policy that grants read access to the bucket. The policy statement should allow the dynamic group "read-file-dg" to read objects in the compartment "qa-compartment" and specify the target bucket name as "input-bucket". This policy ensures that the function has the necessary permissions to access the specified bucket. By setting up the dynamic group and policy, you ensure that the function, as a member of the dynamic group, has the required read access to the specified Object Storage bucket in the specified compartment.


NEW QUESTION # 24
You are a developing a microservices application that will be a consumer of the Oracle Cloud Infrastructure (OCI) Streaming service. Which API method should you use to read and process a stream?

  • A. GetMessages
  • B. GetStream
  • C. ReadStream
  • D. ReadMessages
  • E. ProcessStream

Answer: A

Explanation:
The correct API method to read and process a stream in the Oracle Cloud Infrastructure (OCI) Streaming service is "GetMessages". When consuming messages from a stream in OCI Streaming, you use the "GetMessages" API method. This method allows you to retrieve a batch of messages from the stream for processing. You can specify parameters such as the number of messages to retrieve, the maximum size of the messages, and the timeout for the request. By using the "GetMessages" API method, you can retrieve messages from the stream and then process them in your microservices application. This allows you to consume and handle the data in real-time as it becomes available in the stream. The "GetMessages" method provides flexibility in how you consume and process the messages, enabling you to implement custom logic and workflows based on your specific application requirements.


NEW QUESTION # 25
Which is NOT a valid use case for leveraging the Oracle Cloud Infrastructure (OCI) Events service?

  • A. Triggering a function deployed in Oracle Functions when new files are uploaded to an OCI Object Storage bucket.
  • B. Capturing the OCI Monitoring service alarms and invoking autoscaling of compute instances.
  • C. Publishing all the OCI resource events in a specific compartment to the OCI Streaming service for later analysis.
  • D. Triggering a notification action when a function completes its execution.
  • E. Publishing a notification when long-lived tasks complete, such as an OCI Autonomous Database backup completion.

Answer: B

Explanation:
The use case that is NOT a valid use case for leveraging the Oracle Cloud Infrastructure (OCI) Events service is "Capturing the OCI Monitoring service alarms and invoking autoscaling of compute instances." The OCI Events service is designed to provide event-driven architecture and enable automated responses to events occurring within the Oracle Cloud Infrastructure. It allows you to react to changes and activities happening within your OCI resources. The Events service can be used to trigger actions based on events like file uploads, resource changes, or task completions. However, capturing the OCI Monitoring service alarms and invoking autoscaling of compute instances is not a direct functionality provided by the OCI Events service. Autoscaling based on monitoring metrics is typically handled by the OCI Autoscaling service, which is specifically designed for that purpose. The OCI Monitoring service provides monitoring and alerting capabilities, while the Autoscaling service handles the dynamic scaling of compute instances based on predefined policies and thresholds.


NEW QUESTION # 26
When developing microservices, each one can be developed in the language of choice. Which term describes this type of development? (Choose the best answer.)

  • A. Distributed
  • B. Polyglot
  • C. Agile
  • D. DevOps

Answer: A

Explanation:
Explanation
The term that describes developing microservices in different languages of choice is "Polyglot." In a polyglot architecture, each microservice is developed using the most appropriate programming language or technology stack for its specific requirements. This approach allows developers to leverage the strengths of different languages and frameworks, enabling them to use the most suitable tool for each microservice while still maintaining interoperability between services.


NEW QUESTION # 27
Your team has created a serverless application deployed in Oracle Functions. It uses a Python function leveraging the Oracle Cloud Infrastructure (OCI) Python SDK to stop any OCI compute instance that does not comply with your corporate security standards. Although there are three non-compliant OCI compute instances, when you invoke this function, none of the instances were stopped. With respect to this issue, which of the following is a valid troubleshooting strategy?

  • A. Enable function logging in the OCI console, add some print statements in your function code, and then view the logs to troubleshoot.
  • B. Enable function remote debugging in the OCI console, and then use your favorite IDE to inspect the function running on Oracle Functions.
  • C. Ensure that the application is deployed within the same OCI compartment as the instance, because you cannot enable function execution data from the OCI console.
  • D. Enable function tracing in the OCI console, and then go to the OCI Monitoring console to view the function stack trace.

Answer: A

Explanation:
The valid troubleshooting strategy in this scenario is to enable function logging in the OCI console, add some print statements in your function code, and then view the logs to troubleshoot. Enabling function logging allows you to capture and store logs generated by your function during its execution. By adding print statements or log statements in your function code, you can output relevant information and debug messages to the logs. This helps you understand the execution flow, identify any errors or issues, and gather more information about the function's behavior. To troubleshoot the issue of the Python function not stopping the non-compliant OCI compute instances, you can follow these steps: Enable function logging in the OCI console: Enable logging for your function to ensure that logs are captured during its execution. Modify your function code: Add relevant print statements or log statements at key points in your code to output debug information or verify the execution flow. For example, you can print the instance details that are being evaluated for compliance. Invoke the function: Trigger the function execution either through an event or manually. View the logs: Access the function logs in the OCI console or retrieve them programmatically. Look for the expected print statements or log entries that indicate the status of each instance and the decisions made by the function. By reviewing the logs, you can analyze the output and identify any issues or discrepancies. It can help you determine if the function is correctly evaluating the compliance criteria, retrieving the instance details, or making the necessary API calls to stop the instances. You may need to adjust your code logic or investigate further based on the information provided in the logs. Enabling function remote debugging is not a suitable strategy in this case because it is primarily used for inspecting and debugging the function code during development, rather than troubleshooting issues in a deployed function. Enabling function tracing can provide insights into the execution flow and performance of the function but may not directly address the issue of the instances not being stopped. Ensuring that the application is deployed within the same OCI compartment as the instance is not directly related to troubleshooting the issue with the non-compliant instances. It is a consideration for access and permissions but does not provide specific insights into the problem at hand. Remember to refer to the Oracle Functions documentation and consult the official resources for detailed instructions and best practices on troubleshooting and monitoring Oracle Functions.


NEW QUESTION # 28
What is the open source engine for Oracle Functions?

  • A. Knative
  • B. OpenFaas
  • C. Fn Project
  • D. Apache OpenWhisk

Answer: C

Explanation:
Explanation
The Fn Project is an open source serverless computing platform that serves as the engine for Oracle Functions.
It provides a runtime environment for executing functions in a serverless architecture. The Fn Project enables developers to build and deploy functions using different programming languages, including Java, Python, Node.js, and more. The Fn Project is designed to be flexible and extensible, allowing developers to define functions as small units of code and execute them in response to events or triggers. It supports event-driven execution, allowing functions to be triggered by various events such as HTTP requests, messages from messaging systems, or changes in data. Oracle Functions leverages the Fn Project as its underlying engine, providing a managed serverless platform within the Oracle Cloud Infrastructure. It allows developers to easily develop, deploy, and manage functions using the familiar Fn Project framework and tooling. With Oracle Functions, developers can focus on writing their function code while leaving the infrastructure management, scaling, and operational tasks to the platform.


NEW QUESTION # 29
Which of the following step is NOT required for setting up the Container Engine for Kubernetes (OKE) cluster access using a local installation of kubectl?

  • A. Generate Auth token from the OCI console to access the OKE cluster using kubectl.
  • B. Set up the kubeconfig file.
  • C. Generate an API signing key pair (if you do not already have one) and upload the public key of the API signing key pair.
  • D. Install and configure the Oracle Cloud Infrastructure (OCI) CLI.

Answer: A

Explanation:
Explanation
The step that is NOT required for setting up the Container Engine for Kubernetes (OKE) cluster access using a local installation of kubectl is to generate an Auth token from the OCI console. The authentication for accessing the OKE cluster using kubectl can be performed using the OCI CLI configuration, specifically the API signing key pair and the kubeconfig file. Here are the correct steps for setting up the OKE cluster access using a local installation of kubectl: Set up the kubeconfig file: The kubeconfig file contains the necessary information to authenticate and access the OKE cluster using kubectl. It includes details such as the cluster endpoint, authentication method, and credentials. Generate an API signing key pair (if you do not already have one) and upload the public key of the API signing key pair: The API signing key pair is used for authentication with the OCI services. The public key of the key pair needs to be uploaded to the OCI Console to associate it with your user account. Install and configure the Oracle Cloud Infrastructure (OCI) CLI: The OCI CLI provides a command-line interface to interact with the OCI services. It needs to be installed and configured with your OCI credentials, including the user's OCID, tenancy OCID, region, and the path to the API signing key pair. By completing these steps,you can configure kubectl to access and manage your OKE clusters from your local machine using the OCI CLI authentication configuration.


NEW QUESTION # 30
Which of the following is NOT a criterion that is usually met by a microservice?

  • A. Tightly coupled
  • B. Organized around business capabilities.
  • C. Highly maintainable
  • D. Independently deployable

Answer: A

Explanation:
Explanation
The correct answer is: "Tightly coupled." Tightly coupling is not a criterion that is usually met by a microservice. In fact, microservices are designed to be loosely coupled. Loosely coupling refers to reducing dependencies and minimizing the direct interactions between different components or services. Microservices promote independence and autonomy, allowing each service to operate independently without being tightly bound to other services. The other options listed are criteria that are typically met by microservices: Organized around business capabilities: Microservices architecture suggests designing services around specific business capabilities or functionalities. This allows for focused and specialized services that align with the organization's business needs. Independently deployable: Microservices are designed to be independently deployable units. Each microservice can be developed, tested, and deployed separately, without impacting other services. This enables agility and scalability in the deployment process. Highly maintainable:
Microservices are often designed to be highly maintainable. They are smaller in scope and focused on specific tasks, making it easier to manage and maintain individual services. Additionally, microservices can be updated, patched, or replaced without affecting the entire system, facilitating easier maintenance and evolution of the application. Therefore, the criterion that is NOT typically met by a microservice is being tightly coupled.


NEW QUESTION # 31
You have two microservices, A and B running in production. Service A relies on APIs from service B. You want to test changes to service A without deploying all of its dependencies, which includes service B. Which approach should you take to test service A?

  • A. Test using a previous test version of service B.
  • B. Test using the current production version of service B.
  • C. This is not possible because service B is a dependency.
  • D. Test using an API mock of service

Answer: D

Explanation:
Explanation
The correct answer is: Test using an API mock of service B. To test service A without deploying all of its dependencies, including service B, you can use an API mock of service B. An API mock is a simulated version of the API that mimics the behavior of the actual service. By using an API mock, you can isolate the testing of service A and simulate the responses and behavior of service B's APIs. With an API mock, you can define the expected responses and behavior of service B's APIs, allowing you to test the integration between service A and the mocked version of service B. This approach enables you to verify the functionality of service A without relying on the availability or changes in the actual service B. By decoupling the dependencies and using an API mock, you can perform independent testing of service A, ensuring its functionality in isolation.


NEW QUESTION # 32
Which statement accurately describes the Oracle Cloud Infrastructure (OCI) Load Balancer integration with OCI Container Engine for Kubernetes (OKE)?

  • A. OCI Load Balancer instance must be manually provisioned for each Kubernetes service that requires traffic balancing.
  • B. OKE service provisions an OCI Load Balancer instance for each Kubernetes service with LoadBalancer type in the YAML configuration.
  • C. OKE service provisions a single OCI Load Balancer instance shared with all the Kubernetes services with LoadBalancer type in the YAML configuration.
  • D. OCI Load Balancer instance provisioning is triggered by the OCI Events service for each Kubernetes service with LoadBalancer type in the YAML configuration.

Answer: B

Explanation:
The statement that accurately describes the Oracle Cloud Infrastructure (OCI) Load Balancer integration with OCI Container Engine for Kubernetes (OKE) is: "OKE service provisions an OCI Load Balancer instance for each Kubernetes service with LoadBalancer type in the YAML configuration." When you define a Kubernetes service in your YAML configuration with the LoadBalancer type, the OKE service automatically provisions an OCI Load Balancer instance specifically for that service. This Load Balancer instance is dedicated to the Kubernetes service and provides traffic balancing functionality. Each Kubernetes service that requires load balancing will have its own OCI Load Balancer instance provisioned by OKE.


NEW QUESTION # 33
......

Top Oracle 1z0-1084-23 Courses Online: https://testking.itexamsimulator.com/1z0-1084-23-brain-dumps.html