Como sortear string dentro de um array pelo seu comprimento? [fechada]

Exemplo:

let namen = ("Leoni", "Alexandre","Fran");

Saída (do menor para o maior):

namen = ("Fran", "Leoni", "Alexandre");

Saída (o maior para o menor):

namen = ("Alexandre","Leoni","Fran");

java – (AspectJ) Se eu quiser interceptar todos os métodos de uma classe. Como seria o pointcut usado pelo advice?

Obrigado por contribuir com o Stack Overflow em Português!

  • Certifique-se de responder à pergunta. Entre em detalhes sobre a sua solução e compartilhe o que você descobriu.

Mas evite

  • Pedir esclarecimentos ou detalhes sobre outras respostas.
  • Fazer afirmações baseadas apenas na sua opinião; aponte referências ou experiências anteriores.

Para aprender mais, veja nossas dicas sobre como escrever boas respostas.

react native – Como fazer um filtro de buscar pelo código de barras de produtos com expo?

Já tenho a lib do expo-barcodescan e ela faz a leitura do código de barras, oq eu queria será criar um campo de busca que eu podesse colocar essa lib e assim ela buscar o produto certo que pelo código de barras e mostrar apenas ele na lista

c – Não consigo imprimir os nome em vetor recebidos pelo scanf, necessito imprimir os 3 depois que as repetições do for termin0

int main(void)
{
    int i, idade;
    float peso, media_peso, media_idad;
    **char nome(3)(11);**

        for(i=0 ; i < 3 ; i++)
{           
            printf("digite seu nome n");
            scanf("%s",&nome(i));

            printf("digite sua idade n");
            scanf ("%d",&idade);
            
            media_idad= media_idad+idade;
    
            printf("digite seu peso n");
            scanf ("%f", &peso);
            
            media_peso= media_peso+peso;
}
 if(media_peso > 55)
  {
    media_peso/3;
    printf("media de pesos maior que 55 kilosn");
  }
  
   **printf(" Nomes %s n", nome(i));**
   printf(" Media idade %f n",media_idad/3);


system ("pause");
return 0;
}

docker – Como permitir que meu container SQL Server criado pelo contaner do jenkins consiga obter a visualização de arquivos .bak do meu host?

Gostaria de que meu container SQL Server criado pelo contaner do jenkins consiga obter a visualização de arquivos .bak do meu host e assim possa efetuar a restauração de alguns bancos. Como consigo realizar esta tarefa?

  1. Detalhes do meu ambiente:

Eu utilizo windows 10 pro e o WSL (windows subsystem for linux).
Criei um container jenkins no docker que monta minha infra local de ambiente dev.
Ele é o ambiente ‘host’ do container do Sql Server e de quase toda a minha infra.
Sobre os daemons do host e do container eu efetuei bind entre esses daemons.

docker-compose do meu jenkins

version: "3.7"

#Volume to sql-server-container-dev
volumes:
  jenkins-dev:
    name: jenkins-dev

services:
  
  jenkins-dev-service:
    container_name: jenkins-dev
    hostname: windows-host
    build:
      context: .
      dockerfile: Dockerfile  
    image: jenkins-image-dev
    ports:
      - "8080:8080"
    volumes:
     #Bind o daemon docker do host para o container
     - '//var/run/docker.sock:/var/run/docker.sock'

     #Dependencia abstrata
     - 'C:/Projetos/infra_agil/jenkins:/jenkins'

docker compose do sql server

version: "3.7"

networks: 
   sql-server-network:
     driver: bridge
     
volumes:
  jenkins-dev:
    external: true

services:
  # Habilite Filesharing se não o sql server não irá subir
  sql-server-db:
    container_name: sql-server-container-dev
    build:
      context: .
      dockerfile: Dockerfile
    image: sql-server:2019
    volumes:
      - type: volume
        source: jenkins-dev
        target: /backups
    ports: 
        - "1433:1433"
    networks:
      - sql-server-network 

O docker-compose do meu jenkins está localizado:

C:Projetosinfra_agiljenkins

O docker-compose do sqlserver está localizado:

C:Projetosinfra_agiljenkinsinfra_comumsql-server

Os arquivos de backup estão localizados:

C:Projetosinfra_agiljenkinsdatabasebackups

Abaixo uma imagem que apresenta a localização destes arquivos.

Árvore do diretório

Já fiz diversos testes. Em um deles eu consegui fazer um ‘bind’ entre a pasta backups do host – jenkins – e do sql server mas o container do sql-server não conseguia ver os arquivos dentro da pasta, apenas o jenkins conseguia ver.

Como eu faço pra mostrar o ultimo numero de um laço for? Até agora pelo que pesquisei só encontrei exemplos para listas. obs: sou iniciante em python

def sequencia(n):
    a = 1
    b = 2

    if n == 1:
        print(a)
    else:
        print(a)
        print(b)

        for i in range (2, n):
            c = (a + b) - 1
            a = b
            b = c
            print(c)
sequencia(10)

html – Como fazer botões de próximo e anterior pelo highlight?

Bem, estou com dificuldades de realizar um código para ir para a próxima palavra em highlight.
Já tentei várias coisas e não estou conseguindo fazer funcionar.
O texto da String está em HTML, e faço a transformação dentro do próprio código como podem ver.
Já tentei realizar algum tipo de lógica com if e else mas nada dá certo.

Agradeço quem puder me ajudar:

 btHighlightcpc00.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String criteria = buscarcpc00.getText().toString();
                    String fullText = getString(R.string.textcpc00pt1);
                    String fullText2 = getString(R.string.texto2);

                    if ((fullText + fullText2).contains(criteria)) {
                        int indexOfCriteria = (fullText + fullText2).indexOf(criteria);
                        int lineNumber =  (CPC00Text.getLayout().getLineForOffset(indexOfCriteria));
                        int lineNumber2 =  (CPC00Text.getLayout().getLineForOffset(indexOfCriteria));
                        String highlighted = "<font color='red'>" + criteria + "</font>";
                        String highlighted2 = "<font color='red'>" + criteria + "</font>";
                        fullText = fullText.replace(criteria, highlighted);
                        fullText2 = fullText2.replace(criteria, highlighted2);
                        CPC00Text.setText(Html.fromHtml(fullText));
                        CPC00Text2.setText(Html.fromHtml(fullText2));
                        myscrollcpc00.scrollTo(0, CPC00Text.getLayout().getLineTop(lineNumber));

firestore – Deletar item de lista pelo flutter e firebase

Tenho uma lista de categorias e preciso deletar itens dessa lista.

Essa é a categoryTile.dart

import 'package:flutter/material.dart';
import 'package:note_study/model/category/category_manager.dart';
import 'package:note_study/model/category/category_model.dart';

class CategoryListTile extends StatefulWidget {
  CategoryListTile(this.categoryModel);
  final CategoryModel categoryModel;

  @override
  _CategoryListTileState createState() => _CategoryListTileState();
}

class _CategoryListTileState extends State<CategoryListTile> {
  CategoryManager categoryManager;
  @override
  Widget build(BuildContext context) {
    return InkWell(
      onTap: () {
        categoryManager.deleteDataCategory();
      },
      child: Expanded(
        child: Container(
          decoration: BoxDecoration(
              borderRadius: BorderRadius.circular(16),
              color: Theme.of(context).cursorColor),
          height: 50,
          margin: const EdgeInsets.symmetric(vertical: 8, horizontal: 8),
          child: Center(
            child: Text(
              widget.categoryModel.name,
              style: TextStyle(
                  fontSize: 15,
                  fontWeight: FontWeight.bold,
                  color: Colors.white),
            ),
          ),
        ),
      ),
    );
  }
}

Essa é a categoryScreen.dart

import 'package:flutter/material.dart';
import 'package:note_study/model/category/category_manager.dart';
import 'package:note_study/screen/category/components/category_list_tile.dart';
import 'package:provider/provider.dart';

class CategoryScreen extends StatefulWidget {
  @override
  _CategoryScreenState createState() => _CategoryScreenState();
}

class _CategoryScreenState extends State<CategoryScreen> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        elevation: 0,
      ),
      body: Consumer<CategoryManager>(
        builder: (_, categoryManager, __) {
          return GridView.builder(
            gridDelegate:
                SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2),
            itemCount: categoryManager.allCategory.length,
            itemBuilder: (context, index) {
              return CategoryListTile(categoryManager.allCategory(index));
            },
          );
        },
      ),
    );
  }
}

Essa é a categoryManager.dart

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/services.dart';
import 'package:note_study/model/category/category_model.dart';

class CategoryManager extends ChangeNotifier {
  CategoryManager() {
    loadAllCategory();
  }

  final Firestore firestore = Firestore.instance;
  final FirebaseAuth fireAuth = FirebaseAuth.instance;

  CategoryModel categoryModel;

  Future<void> saveDataCategory(
      {CategoryModel categoryModel,
      Function onSuccess,
      Function onFail}) async {
    try {
      this.categoryModel = categoryModel;
      await categoryModel.saveData();
      onSuccess();
    } on PlatformException catch (e) {
      onFail(print(e));
    }

    notifyListeners();
  }

  Future<void> deleteDataCategory() async {
    categoryModel.deleteData();

    notifyListeners();
  }

  List<CategoryModel> allCategory = ();

  Future<void> loadAllCategory({FirebaseUser fireUser}) async {
    final FirebaseUser currentUser = fireUser ?? await fireAuth.currentUser();
    firestore
        .collection('users')
        .document(currentUser.uid)
        .collection('category')
        .snapshots()
        .listen(
      (snapshot) {
        allCategory = snapshot.documents
            .map((d) => CategoryModel.fromDocument(d))
            .toList();
        notifyListeners();
      },
    );
    notifyListeners();
  }
}

E essa é a categoryModel.dart

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:note_study/model/user/user_manager.dart';

class CategoryModel {
  CategoryModel({
    this.id,
    this.name,
  });
  UserManager userManager = UserManager();
  CategoryModel.fromDocument(DocumentSnapshot categorySnap) {
    id = categorySnap.documentID;
    name = categorySnap.data('name') as String;
  }
  String id;
  String name;
  //Pegando usuario logado
  String get idUSer => userManager.userModel.id;
  DocumentReference get firestoreRef =>
      Firestore.instance.document('users/$idUSer');

  Future<void> saveData() async {
    await firestoreRef.collection('category').add(toMap());
  }

  Future<void> deleteData() async {
    await firestoreRef.collection('category').document(id).delete();
  }

  Map<String, dynamic> toMap() {
    return {
      'name': name,
    };
  }
}

Preciso recuperar o index ou algo do tipo para poder deletar o documento correto.

Como faço?

Baixa a biblioteca pelo prompt de comando "deu certo" , mais baixa pelo terminal do Pycharm está dando erro, porque?

Baixando pelo prompt de comando

inserir a descrição da imagem aqui

Deu erro na hora de installar o pip install pyttsx3 pelo terminal do Pycharm

inserir a descrição da imagem aqui

e a biblioteca não apareceu nas configurações:

inserir a descrição da imagem aqui

jquery – Como passar valores de arquivos múltiplos pelo formdata()

Como faço para passar valores do upload múltiplo pelo formdata? Tenho o seguinte formulário abaixo:

<form action="#" class="form-horizontal"> 
    <div class="form-group">
        <label class="col-sm-2 control-label">Titulo</label>
        <div class="col-sm-10">
            <input type="text" name="titulo" class="form-control" placeholder="Digite o titulo">
        </div>
    </div>
    
    <div class="form-group">
        <label class="col-sm-2 control-label">Imagem</label>
        <div class="col-sm-10">
            <input type="file" name="Arquivos()" id="arquivos" class="form-control" multiple>
        </div>
    </div>
    
    <div class="form-group">
        <label class="col-sm-2 control-label"></label>
        <div class="col-sm-10">
            <div class="progress progress-striped active">
                <div class="progress-bar" style="width: 0%">
                </div>
            </div>
        </div>
    </div>
    
    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
            <button type="submit" class="btn btn-success upload">Cadastrar</button>
        </div>
    </div>
</form>

JQuery

<script>
    $(document).on('submit', 'form', function (e) {
        e.preventDefault();
        //Receber os dados
        $form = $(this);                
        var formdata = new FormData($form(0));
        //Criar a conexao com o servidor
        var request = new XMLHttpRequest();
        //Progresso do Upload
        request.upload.addEventListener('progress', function (e) {
            var percent = Math.round(e.loaded / e.total * 100);
            $form.find('.progress-bar').width(percent + '%').html(percent + '%');
        });
        //Upload completo limpar a barra de progresso
        request.addEventListener('load', function(e){
            $form.find('.progress-bar').addClass('progress-bar-success').html('upload completo...');
            //Atualizar a página após o upload completo
            setTimeout("window.open(self.location, '_self');", 1000);
        });
        //Arquivo responsável em fazer o upload da imagem
            request.open('post', 'processa.php');
            request.send(formdata);
            console.log(formdata);
    });
</script>

Quando coloco dessa forma:

<input type="file" name="Arquivos" id="arquivos" class="form-control">

Ele funciona normalmente, mas quando coloco:

<input type="file" name="Arquivos()" id="arquivos" class="form-control" multiple>

Ele não passa os valores para o PHP. Já tentei colocar dessa forma:

formdata.append("Arquivos()", document.getElementById('arquivos').files(0));

Também não funcionou!

O arquivo processa.php está dessa forma:

$tmp_name = $_FILES('arquivo')('tmp_name');
$name = $_FILES('arquivo')('name');
$titulo = $_POST('titulo');
for($c = 0; $c < count($tmp_name); $c++){
    move_uploaded_file($tmp_name, 'documento/'. $name);
}

Mas creio que o problema esteja no Jquery, pois como informei anteriormente, quando envio sem ser múltiplo, funciona corretamente.