La forma más rápida de comprar pasajes por Internet y movilizarte en Ecuador en transporte interprovincial
La forma más rápida de comprar pasajes por Internet y movilizarte en Ecuador en transporte interprovincial
Error en el servidor de Wildfly UT000047: The number of parameters exceeded the maximum of 1000 en Wildfly
MAX_PARÁMETROS
El número máximo de parámetros de consulta permitidos en una solicitud. Si un cliente envía más de este número, la conexión se cerrará. Este límite es necesario para proteger contra ataques de denegación de servicio basados en hash. El valor predeterminado es 1000.
Solución:
Permite insertar varios registros a una tabla mediante una consulta de otras tablas de una base de datos determinada
INSERT INTO tblA
(SELECT id, time
FROM tblB
WHERE time > 1000)
Ejemplo
INSERT INTO transporte.tgen_socio_vehiculo (soc_id,veh_id,svh_numero_vehiculo,svh_placa_vehiculo, svh_tipo_vehiculo,des_ejecucion) SELECT (vehiculo.soc_id), (vehiculo.veh_id),(vehiculo.veh_numero),(vehiculo.veh_placa), (vehiculo.veh_tipo_bus),'ACTIVO' from manzanilla.tgen_vehiculo vehiculo where vehiculo.emp_id=89;
A veces, desea buscar y reemplazar una cadena en una columna por una nueva como reemplazar números de teléfono obsoletos, URL rotas y errores ortográficos.
Para buscar y reemplazar todas las apariciones de una cadena con una nueva, utiliza la función REPLACE ().
A continuación, se muestra la sintaxis de la función REPLACE () de PostgreSQL:
UPDATE table_name SET column_name = REPLACE(column,old_text,new_text) WHERE condition
UPDATE cuentascyp.tcta_cuenta_cobrar_pagar SET ccp_observacion = REPLACE(ccp_observacion,'null','') WHERE ccp_observacion like '%null%';
El problema es draggableColumns = «true» hace que el índice de columnas cambie. Entonces, en lugar de list, utilicé 2 mapas:
private final Map<String, Boolean> colVisibilityMap = new HashMap<>();
private final Map<Integer, String> colIndexMap = new HashMap<>();
Durante la inicialización, configuré colIndexMap y colVisibilityMap (y utilicé id / clientId como clave). En la columna de reordenar, actualizo colIndexMap. Y al alternar, actualizo la base colVisibilityMap en colIndexMap.
public Map<String, Boolean> getColVisibilityMap() {
return Collections.unmodifiableMap(colVisibilityMap);
}
private String getColumnId(String fullId) {
String[] idParts = fullId.split(":");
return idParts[idParts.length - 1];
}
@PostConstruct
public void init() {
FacesContext context = FacesContext.getCurrentInstance();
DataTable table = (DataTable) context.getViewRoot().findComponent
(":form:tableid");
List<UIColumn> columns = table.getColumns();
for (int i = 0; i < columns.size(); i++) {
final String columnId = this.getColumnId(columns.get(i).getClientId());
colIndexMap.put(i, columnId);
colVisibilityMap.put(columnId, true);
});
}
public void onColumnReorder(AjaxBehaviorEvent e) {
List<UIColumn> columns = ((DataTable) e.getSource()).getColumns();
for (int i = 0; i < columns.size(); i++) {
this.colIndexMap.put(i, this.getColumnId(columns.get(i).getClientId()));
}
}
public void onToggle(ToggleEvent e) {
// If we use list here, e.getData() may not be the correct index due
to column reordering.
this.colVisibilityMap.put(this.colIndexMap.get((Integer) e.getData()),
e.getVisibility()
== Visibility.VISIBLE);
}
JSF página:
<p:dataTable id="tableid" widgetVar="tableWidgetVar" draggableColumns="true"
paginator="true"
<!-- ommitted other attributes -->
>
<p:ajax event="colReorder" listener="#{bean.onColumnReorder}"/>
<f:facet name="header">
<p:commandButton id="toggler" type="button" value="Columns"/>
<p:columnToggler datasource="tableid" trigger="toggler">
<p:ajax event="toggle" listener="#{bean.onToggle}"/>
</p:columnToggler>
</f:facet>
<p:column id="col1" visible="#{bean.colVisibilityMap['col1']}">
<!-- ommitted -->
</p:column>
<p:column id="col2" visible="#{bean.colVisibilityMap['col2']}">
<!-- ommitted -->
</p:column>
<!-- and so on... -->
</p:dataTable>
Referencia:
https://stackoverflow.com/questions/29817830/primefaces-columntoggler-doesnt-work-with-pagination
Para monitorizar los logs en la consola, utilizaremos el comando tail. Este comando muestra las últimas líneas de uno o más archivos de texto (por defecto las diez últimas), pero con la opción -f, en lugar de mostrar las últimas diez líneas y terminar, tail seguirá activo y conforme se añadan nuevas líneas al fichero las imprimirá, lo que es muy útil para monitorizar archivos.
Para monitorizar los logs en la consola, por ejemplo el archivo /var/log/wildfly/console.log, haremos lo siguiente:
$ tail -f /var/log/wildfly/console.log
Hora vamos a hablar de un tema muy importante en la seguridad de nuestros servidores linux. El mantener una infraestructura informática segura y al margen de atacantes siempre es una tarea complicada. Son muchos los aspectos a tener en cuenta. A los diferentes dispositivos en un entorno en red hay que añadirle la heterogeneidad de los sistemas operativos que la componen y los servicios prestados.
Para lo cual en este tutorial, veremos algunas aplicaciones y técnicas desde distintos criterios, que servirán para fortalecer la seguridad de nuestros servidores linux
Para esta técnica, utilizaremos la herramienta denyhosts que se encuentra en los repositorios de Debian, para instalarlo ejecutamos:
# apt-get install denyhosts
Una vez instalada la herramienta, procedemos a ajustar la configuración de la aplicación que está en/etc/denyhosts.conf.
##### THESE SETTINGS ARE REQUIRED #####
SECURE_LOG = /var/log/auth.log
HOSTS_DENY = /etc/hosts.deny
PURGE_DENY = 1w
BLOCK_SERVICE = ALL
DENY_THRESHOLD_INVALID = 3
DENY_THRESHOLD_VALID = 3
DENY_THRESHOLD_ROOT = 2
DENY_THRESHOLD_RESTRICTED = 2
WORK_DIR = /home/sec/denyhosts
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES
LOCK_FILE = /var/run/denyhosts.pid
##### THESE SETTINGS ARE OPTIONAL #####
ADMIN_EMAIL = diego.donoso@caminosca-sa.com
SMTP_HOST = localhost
SMTP_PORT = 25
#SMTP_USERNAME=root
#SMTP_PASSWORD=rootpass
SMTP_FROM = DenyHosts
SMTP_SUBJECT = DenyHosts Report
SYSLOG_REPORT=YES
AGE_RESET_VALID=5d
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d
##### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE #####
DAEMON_LOG = /home/sec/denyhosts/denyhosts.log
DAEMON_SLEEP = 30s
DAEMON_PURGE = 1h
Con esta configuración lo que hemos hecho es bloquear a un host determinado al tercer intento fallido de logueo al servidor por cualquier puerto o servicio, con cualquier usuario existente o inexistente, desbloqueandolo después de 1 semana. Una vez que se hayan ajustado los cambios deseados, se debe reiniciar el servicio denyhost:
# /etc/init.d/denyhosts restart
[ ok ] Stopping DenyHosts: denyhosts.
[ ok ] Starting DenyHosts: denyhosts.
DBeaver es un gestor de base de datos universal, es decir, es independiente del servidor de base de datos que tengamos instalado. DBeaver puede conectarse a distintos servidores usando diferentes drivers JDBC que le permiten operar con una gran variedad de base de datos como por ejemplo MySql, Orcale, IBM DB2, PostgreSQL, Sqlite, etc.
Ademas es muy fácil de usar y generar los scripts y consultas de la mejor manera mas rápido que cualquier otro gestos de base de datos.
Características de DBeaver
Pagina oficial para descargar Dbeaver
https://dbeaver.jkiss.org/download/
Les comparto un tutorial realizado por Cristhian Carreño como realizar la firma y el consumo del web Service del SRI muy bueno.
«Este tutorial se lo dedico a aquellas personas en el medio, que se valen del conocimiento de otras personas, pero cuando les toca aportar con algo de lo que han aprendido se niegan y lo que es peor quieran cobrarle por consultoría a sus colegas. Esto me parece el acto más egoísta y retrograda, y no deja que nuestro país se desarrolle como debe. Esto debido que después de leer mucho foros, cada vez que alguno solucionaba algo, intentaba cobrarle al otro por lo aprendido.
El conocimiento debe ser libre, más aún si estos seudos desarrolladores, siempre se benefician del código que resolvieron otras personas en foros y tutoriales en línea. «
Firma Digital
http://webcarreno.org/index.php/tutorials/28-sri-tutorial/24-sri-firma-digital-xades-bes
Envió de comprobantes al SRI
Recepción de comprobantes
Advanced Programming in AnthoServ
Quaerite lux et sapientia: Favilla, candelas, et stellas.
Advertising. Social Media. Publicaciones. Humor. Tecnología. HR Communications. Laboratorio de teorías. News clipping.
Soluciones globales de marketing para un crecimiento continuo
Stuff and things.
Blog dedicado a la ayuda para combatir a los Virus Informáticos
Just another WordPress.com weblog
de todo y para quien quiera
Programación en Java desde LOJA
ARTE INFORMATICO
Mi blog personal
Sitio para información de tecnología, educación, y temas interesantes
Blog dedicado a Ingenieria en sistemas, politica y comics en HD