search for keywords and put the values in column format using linux shell

i have set of lines in my files with some search key words and values along with that i want to pull those keywords in tabular format under each key word

name=anne rollno=1 class=10 subject=english asdfjsldjf
sdflasjf;s
name=smith rollno=120 class=3 subject=math sdjfs;l
sfjd;las aljd;s iojl
name=master rollno=28 class=7 subject=social adksj;lf
sfdas;dloeillsd
name=slave rollno=12 class=9 subject=science asdfloilsd
dalsf;ld

anne 1 english
smith 120 math
master 28 social
slave 12 science

sorry i didnt try any thing

accessibility – When is it ‘wrong’ to put tabindex=0 on non-interactive content?

Adapt did the wrong thing for the right reason. The blog you referred to had some great information. Change the question from “Is accessibility required?” to “Is accessibility desirable?”. Based on their blog, they have a good concept of what accessibility is but their concept of how to implement accessibility isn’t accurate. They seem to think that those that need accessible accommodations should be segregated by turning on an “accessible mode”. As we know from just about any country’s history, segregation is not a solution.

Their accessibility page says:

All Adapt courses have the accessibility feature built-in. However, it
must be enabled during development by the course author before the
course is published.

So, does the course author have to make the decision whether to turn that feature on or not? Is it up to the course author to decide if accessibility is desirable (the word they used in their blog)? Why is there an option to turn it on? Why is it not always on? Or rather, why is there an option at all? The default should be to build an accessible interface.

That same option/segregation is offered to the end user too.

To activate the accessibility feature while viewing a course, press
the Tab key. A button is displayed: “Turn accessibility on?”

Once the feature is activated, pressing the Tab key navigates the
learner through content. Focused content regions are highlighted with
an outline. And ARIA labels are enabled for assistive technology such
as screen readers.

What’s different about the interface that requires accessibility to be turned on? Any interactive object you can navigate to with the keyboard should always have a valid label or name (which is what ARIA labels give you if you can’t provide a label/name with a native HTML element). Always. Why would you ever not want a valid name for an object? You shouldn’t have to turn that option on.

A user that requires a screen reader to interact with the page does not want to be treated any differently than a full sighted user. They want to navigate to interactive objects using the TAB key just like any other keyboard user and they do not expect to tab to heading or paragraphs or lists or whatever.

Screen reading software has fantastic tools built in that allow for navigation to non-interactive elements. You can press the ‘H’ key to go to the next heading (and hear it read), or for more granularity, press the ‘2’ key to go to the next <h2>. You can press the ‘L’ key to go to the next list, or the ‘I’ (eye) key to go to the next element in a list. Press ‘R’ or ‘D’ (depending on the screen reader) to go to the next “landmark”. None of these elements are natively keyboard accessible and are not expected to be. They should not have tabindex="0".

Now, none of these shortcuts will work if the content author does not use native HTML tags that have built in semantic meaning. That is, use

<h2>Really important info</h2> 

instead of

<div class="big-bold-font">Really important info</div>

Screen reading software does not know that the “big-bold-font” class means the element should be a heading but it definitely knows what an <h2> is. In the latter case, if you have to use a <div>, that’s where ARIA attributes come in:

<div class="big-bold-font" role="heading" aria-level="2">Really important info</div>

With the correct semantic meaning, whether provided by native HTML tags such as <h2> or augmented by using ARIA attributes such as role and aria-level, a screen reader user can easily navigate to these elements without them having tabindex="0"'.

That’s why I think Adapt understands what accessibility is but does not understand how accessibility is used.

So that’s a really, really long answer (sorry) to what could have been a simple answer. Your OP title is

“When is it ‘wrong’ to put tabindex=0 on non-interactive content?”

Answer: Always.

magento2 – Is it acceptable to put lib folder inside module folder structure?

Before I used this code to include some packages:

require_once($this->dir->getPath('lib_internal') . '/vendor/module/nuevomailer/api.php');

Now Magento doesn’t allow to use require_once anymore so I thought that the simplest way without creating another packages just for third party libraries would be to just create lib folder inside existing vendorname/modulename folder and call it like this:

    class Subscriber extends MagentoFrameworkModelAbstractModel{
        protected $mailchimp;
        protected $phpmailer;
        ...
        public function _construct(
            VendornameModulenameLibMailchimp $mailchimp,
            VendornameModulenameLibPhpmailer $phpmailer,
            ...
        function subscribe(){
            $this->mailchimp->subscribe();
        }

Is that acceptable method? I checked Magento modul file structure (https://devdocs.magento.com/guides/v2.3/extension-dev-guide/build/module-file-structure.html) and I couldn’t find lib folder. Is it allowed to put any other folder into module directory?

symfony4 – Reactivation of the symfony rest API for the fat PUT endpoint

Logic I have a solution request to request a new solution. I have an endpoint type PUT for the update solution with variable parameters that match the method
I would like to redesign this method, please.

/**
 * @Route("/{id}", name="solution_requests_update", methods={"PUT"}, defaults={"permission_needed": ROLE::PERMISSION_REQUEST_WRITE})
 * @param Request $request
 * @return JsonResponse
 */
public function update(
    string $id,
    Request $request,
    Security $security,
    StatesHandler $statesHandler
) : JsonResponse {

    $solutionRequest =  $this->em->getRepository(SolutionRequest::class)->find($id);
    $user = $security->getUser();
    if (!$solutionRequest) {
        throw new NotFoundHttpException(sprintf('this solution request not found for %s!', $id));
    }

    $scope = $this->productService->checkScope(
        $security->getUser(),
        $request->attributes->get('permission_needed')
    ) ?? '';
    // check permission
    $canEditSolutionRequest = $this->securitySolutionRequest->canEditSolutionRequest(
        $user,
        $scope,
        $solutionRequest
    );

    $data = json_decode($request->getContent(), true);

    if (!empty($data('evaluations'))) {
        $this->em->getRepository(SolutionRequestValidation::class)->update($data('evaluations'), $user);
        $solutionRequest->setListSolutionRequestValidation($solutionRequest->getListSolutionRequestValidation());
    }

    if (!empty($data('entities')) && $canEditSolutionRequest) {
        $solutionRequest = $this->em->getRepository(SolutionRequest::class)->updateEntityValues(($data('entities')), $solutionRequest);
    }

    if (!empty($data('solutions')) && $solutionRequest->getState() < SolutionRequest::EVALUATION && $canEditSolutionRequest) {
        $solutionsChecked = $this->solutionChecker->filterSolutionsExist($data('solutions'));
        $solutionRequest->setSolutionsId($solutionsChecked);
    }

    // extra parameter function
    $parametersFunction = (
        'setAppreciations' => (
            'user' => $user,
            'scope' => $scope
        )
    );
    if($canEditSolutionRequest)
        $solutionRequest = $this->mappingParameters($solutionRequest, $this->attributesMapping, $data, $parametersFunction);

    if( !$canEditSolutionRequest && $solutionRequest->getDomainManager()->getId() === $user->getId())
    {
        $solutionRequest = $this->mappingParameters($solutionRequest, ('appreciations' => 'setAppreciations'), $data, $parametersFunction);
    }

    $solutionRequest = $statesHandler->process($solutionRequest);
    $this->em->persist($solutionRequest);
    $this->em->flush();

    $solutionRequest =  $this->em->getRepository(SolutionRequest::class)->find($id);

    return JsonResponse::fromJsonString(
        $this->serializer->serialize(
            $solutionRequest,
            ('solution_request')
        ),
        Response::HTTP_OK
    );
}

Automatic assignment method in the controller

 /**
 * Automatic mapping
 *
 * @param SolutionRequest $solutionRequest
 * @param array $attributesMapping
 * @param array $data
 * @return SolutionRequest
 */
private function mappingParameters(
    SolutionRequest $solutionRequest,
    array $attributesMapping,
    ?array $data, 
    array $parametersFunction = ()
) : SolutionRequest
{
    if (empty($data)) {
        return $solutionRequest;
    }

    foreach ($data as $key => $value) {
        if (array_key_exists($key, $attributesMapping)) {
            $nameFunction = $attributesMapping($key);
            // inject extra prameters for this function
            if (array_key_exists($nameFunction, $parametersFunction)) {
                $solutionRequest->$nameFunction($value, $parametersFunction($nameFunction));
                continue;
            }
            $solutionRequest->$nameFunction($value);
        }
    }

    return $solutionRequest;
}

My parameters and method of updating

Method for automatic mapping in controller

 /**
 * Automatic mapping
 *
 * @param SolutionRequest $solutionRequest
 * @param array $attributesMapping
 * @param array $data
 * @return SolutionRequest
 */
private function mappingParameters(
    SolutionRequest $solutionRequest,
    array $attributesMapping,
    ?array $data, 
    array $parametersFunction = ()
) : SolutionRequest
{
    if (empty($data)) {
        return $solutionRequest;
    }

    foreach ($data as $key => $value) {
        if (array_key_exists($key, $attributesMapping)) {
            $nameFunction = $attributesMapping($key);
            // inject extra prameters for this function
            if (array_key_exists($nameFunction, $parametersFunction)) {
                $solutionRequest->$nameFunction($value, $parametersFunction($nameFunction));
                continue;
            }
            $solutionRequest->$nameFunction($value);
        }
    }

    return $solutionRequest;
}

My parameters and method of updating

   private $attributesMapping = (
    'appreciations' => 'setAppreciations',
    'softwareSearchInfo' => 'setSoftwareSearchInfo',
    'softwareNeedsInfo' => 'setSoftwareNeedsInfo',
    'intendedUsers' => 'setIntendedUsers',
    'intendedROI' => 'setIntendedROI',
    'impactLever' => 'setImpactLever',
    'costEstimation' => 'setCostEstimation',
    'costDriver' => 'setCostDriver',
    'furtherInfo' => 'setFurtherInfo'
);

How can I redesign this for better code? Thanks a lot

Vulnerability – How to put a good XSS payload into a vulnerable site

Please I need help here. I discovered a dodgy Ponzi site with XSS vulnerability issues. The vulnerability is located on the registration page. All user input fields are vulnerable. These consist of – email field, telephone number field and password field.

Please folks, what good XSS payload can I use to exploit this vulnerability and how do I proceed?

Thanks a lot.

dnd 3.5e – How much time does it take to put an item in a bag when you are fighting?

From the core rules are the next rules we have

Draw or wrap a weapon

Pulling a weapon so that you can use it in combat or putting it away so that you have a free hand requires a movement action. This action also applies to weapon-like objects that are within range, such as B. wands. If your weapon or weapon-like object is kept in a pack or otherwise out of reach, treat this action as retrieving a stored object.

If you have a basic attack bonus of +1 or higher, you can draw a weapon as a free action in combination with a regular move. If you have the two-weapon combat talent, you can draw two light or one-handed weapons in the time it would normally take to draw one.

Drawing ammunition for use with a ranged weapon (such as arrows, bolts, slingshots, or shuriken) is a free promotion.

Ready or going a sign

Fastening a shield to your arm to receive the shield bonus for your air conditioner, or unbuckling and dropping a shield so that you can use your shield hand for another purpose requires a movement action. If you have a basic attack bonus of +1 or higher, you can prepare or lose a shield as a free action in combination with a regular move.

Dropping a worn (but not worn) shield is a free action.

Manipulate an object

In most cases, moving or editing an item is a move action.

This includes retrieving or putting away a stored item, picking up an item, moving a heavy item, and opening a door. For examples of this type of action and the question of whether they are doing an occasional attack, see Table: Moving Actions.

(Actions in combat → postpone actions)

Therefore, a move action makes the most sense.

Rule Compendium is more explicit and said

MOVE ACTION

With a movement action you can (…) stow a weapon or another object

(Rule Compendium pg. 7)

Nothing in the description of Bag of holding suggests that stowing an item would take a different time and no rule mentions that the item size has an effect.

Web application – Should I put the HR system and various business-related systems under SSO?

We build various systems for companies, such as schedule management and exchange for employees, customer management and, more recently, the HR system.
We have put the schedule management and customer / contact management application under SSO. Is it safe and sensible to place the HR system under the same SSO system?