Algo puede suceder si primero has determinado que es posible que suceda. Elon Musk
Las organizaciones y las personas desde que inician su vida establecen un propósito, de la correcta definición y entendimiento del mismo depende que este se logre llevar a cabo.A continuación estableceremos algunos aspectos que desde mi punto de vista y muy subjetiva mente se deben tener en cuenta al momento de alcanzar nuestro propósito, como organizaciones o como personas:
La unión hace la fuerza. La ANDI es un claro ejemplo de esto ya que fomenta las Relaciones Empresariales para generar espacios de discusión e intercambio de experiencias que les permite a los empresarios realizar contactos primordiales y especializados de esta manera contribuye en el fortalecimiento de las empresas y como consecuencia aporta en el propósito que Colombia sea más competitivo en el escenario exterior.
Obtener felicidad al llevar a cabo este propósito. KAREN ABUDINEN alta consejera presidencial para las regiones de Colombia en el 2020 dijo que lo que más le alegraba de toda su trayectoria y lo que siempre la motivó a continuar con su propósito fue sentir "La felicidad de servir".
El propósito de una organización es permanente.El propósito de una persona también es permanente. Y es por eso que estos dos aspectos son esenciales puesto que los debemos realizar durante toda la vida con el objetivo de alcanzar nuestro propósito, siempre buscar apoyo que fortalezca mutuamente las partes y sentir La felicidad de servir.
Almacenamiento de Imagenes SVG o vectoriales en Gist
Mediante este corto post explico como utilizar la plataforma de snippets de Github para almacenar tus imágenes vectorizadas.
Existen muchos lugares donde almacenar nuestras imágenes de tipo png ó jpg etc.. Pero no existe un sitio para almacenar imágenes vectorizadas por lo tanto vamos a usar el servicio de Gist para guardar las mismas y acceder a ellas mediante una URL.
Actualmente DataCredito no permite la consulta directamente de forma online ya que es necesario pagar
Ingrese a www.datacredito.com
Ingrese a Habeas data
Medios de consulta/Si desea agendar previamente cita en el CAS para consultar su Historia de Créditto, Haga click aqui
Acepte terminos y condiciones
Diligencie el formulario de información básica, complete todos los campos y de clic en enviar
El sistema le informara de inmediato si sus datos fueron registrados correctamente
Recibira un corrreo electronico de claveacceso@datacredito.com.co
En el correo encontrara un enlace, ingrese alli y seleccioe el tipo de identificacion y numero del documento
Diligencie todos los campos con datos de contacto
Vaya por "Agendar cita"
Seleccione CAS(Oficina, según la ciudad donde se encuentre)
Seleccione fecha de solicitud(fecha en la cual va a realizar la consulta)
Escoja una de las tres opciones
Tome nota de su numero de cita y presentese en el Centro de Atencion y servicio CAS con su documento de identidad .Al finalizar todo el procedimiento recibira un correo electronico con el codigo de la cita
[Escribi este articulo en 2 minutos tras un fuerte analisis de las dos tecnologias,pronto se mejora el formato del articulo]
CMS
un cms impone limitaciones( usualmente basado en sus pluggins) para aquellos que no sean programadores o programadores que tienen bajos conocimientos del CMS.
Tenga en cuenta que esta es la mejor opcion si necesita cambiar ciertos contenidos [muy especificos] dentro de la funcionalidad a implementar sin necesidad de contratar un programador con conocimientos en el CMS.
CMS - Crear una funcionalidad especifica necesita de un programador con altisimos conocimientos en la construccion y estructura propia del CMS.
CMS-Problemass
Velocidad del sitio depende en gran medida del CMS aunque se puede mejorar ssuperficicialmente
Una nueva funcionalidad es muy costosa
Cambios de versiones pueden traer problemas para la funcionalidad que ya habiamos creado.
CMS-Ventajas
Para el usuario modificar contenidos tiene un nivel de programacion 0
facil manejo de contenidos (Su unico Fuerte en realidad)
CMS Cosas a tener en cuenta al hacer una funcionalidad
Tiempo muchisimo mas alto para crear la configuracion de la funcionalidad
Mas tiempo para permitir que el coontenido pueda ser modificado sin tocar 1 linea de codigo[OBLLIGATORIO PARA QUE SEA RECONOCIDO COMO PLUGIN DEL CMS]
Curva de aprendizaje extremadamente alta para implementar una funcionalidad
Dependiendo de el framework o incluso el nivel de conocimiento del programador puede llegarse a que la funcionalidad este muy limitada por lo permisivo que sea el CMS
Framework o compilaciones de librerias
Si la velocidad es una prioridad extremadamente alta use un Framework ya que podra controlar y optimizar gran cantidad de las caracteristicas y archivos que le enviaara al usuario
Si desea que cargas pesadas,calculos largos de la aplicacion o funcionalidad etc sean procesadas en el equipo del cliente lo mejor es usar un Framework(esto analizando que gran cantidad de CMS usan php del lado del servidor lo que obliga a entregar muchas cosas preprocesadas al usuario)
Framework-ventajas
Crear funcionalidad depende del conocimmiento del programador en el framework
curva de aprendisaje relativamente corta en comparación con el CMS para desarrollar la funcionalidad
Framework -desventajas
Amenos de que el usuario lo pida no es necesario crear un entorno que permita la facil modificacion de contenidos dentro de la funcionalidad
PROGRAMACION 100%
LA SOLUCION FACIL EN CASO DE TENER UN CMS Y NECESITAR UNA FUNCIONALIDAD CON LAS CARACTERISTICAS DEL FRAMEWORK
un IFRAME es la solucion para colocar contenidos en el CMS con las caracteristicas del Framework,tenga en cuenta que tendra sobrecarga de archivos pues el IFRAME es como cargar una pagina aparte con sus propias cosas y ademas no podra conectar los datos del embebido con el iframe faccilmente,debera encontrar una manera de "pasar" datos entre las dos webs diferentes(iframe y despliegue de CMS)
COMO programador,para mi Facebook es un CMS,bajo el subdominio facebook.com.Aunque siempre tendra por encima el logo de facebook,los creacion de pluginns es la unica manera de impplementarle funcionalidades,de resto solo podra manejar contenido (fotos,post etc...)
[Estoy abierto a pensar que esto no pueda ser asi,pero espero escuchar por que razones no lo es]
Este proyecto tiene como objetivo rellenar automáticamente hojas de vida de los usuarios de plataformas de Google mediante la obtención de datos de la cuenta e incluso de la consulta de datos abiertos mediante Google apps Script y otros servicios.
Inicialmente el proyecto esta en fase Ultra Beta donde se esta buscando la mejor manera de realizar dicha implementación por lo tanto se estara usando un modelo de hoja de vida muy conocido en colombia llamado hoja de vida SIGEP que usualmente piden las entidades del estado.
El objetivo se abordara mediante una fase beta que recolectara datos mediante formularios y llenara las hojas de vida.
En una fase posterior se tomaran datos de la cuenta y se rellenara la hoja de vida.
Finalmente se implementara la consulta a bases de datos externas para la obtención de los datos restantes
https://shoppinglist.google.com(para acceder desde Chrome)
Ya no es una lista de compras oculta se accede a ella desde google assistant eliminando la necesosidad de la app tambien se elimina la necesidad de calendar,pues desde esta app se puede consultar todo eso, bueno si tenemos acceso a internet
Google Público en sus inicios lo que estaba haciendo en el siguiente documento para algunos no fue de mucha importancia esta publicación. Pero hoy día esta dicta las directrices que se deben seguir para pertenecer al mundo de la WWW searcheable. Este post solo busca recordar ese documento.
El 14 de marzo de 2019 estábamos posicionados al escribir Mialcosoft en Google de 4 lugar algo que tiene mucho valor monetario para una empresa.
Todo esta en la Web hoy dia asi que con solo tener un navegador web y sentirte como si estuvieras en casa justo en tu pc
muchos de estos programas serviran solo para los programadores pero la gran mayoría son grandemente usados
la idea de este post es que te puedas desacer de la cantidad de programas que tienes instalados localmente y vivir en la internet aunque esto lleva unos riesgos que cada uno debe asumir
ire actualizando la lista segun vaya probando nuevos servicios y reemplazando aquellos que considere que me iria mejor usar
Si somos usuarios de Linux o windows podemos simplemente crear accesos directos en nuestro escritorio o en nuestro lanzador para iniciar y usar aplicaciones de que estén directamente en la web sin necesidad de instalar nada.
Show that for any real constants a and b, where b>0 (n+a)b=Θ(nb) Solution :
Siendo c=2b y n0≥2a Entonces para todo n≥n0 .Se tiene que (n+a)b≤(2n)b=cnb y por lo tanto (n+a)b=O(nb)
Ahora sea n0≥1−(1/2)1/b−a y c=1/2
Entonces n≥n0≥1−(1/2)1/b−a
Si n−21/bn≥−a
Si n+a≥(21)a/bn
Si (n+a)b≥cnb
Por lo tanto (n+a)b=Ω(nb)
By Theorem 3.1 (n+a)b=O(nb)
Prove that o(g(n)) ∩ ω(g(n)) is the empty set. Podemos definir formalmente o(g(n)) y ω(g(n)) de la siguiente manera: Solution
Por definición o(g(n)) = {f(n) : ∀c, n tal que 0≤f(n) ≤ cg(n), ∀n } 0 > n0 2.
Por definición ω(g(n)) = {f(n) : ∀c, n tal que 0≤cg(n) ≤ f(n), ∀n }
Podemos entonces definir o(g(n)) ∩ ω(g(n)) como: o(g(n)) y ω(g(n)) = f(n):∀c,n0≥cg(n)≥f(n)≥cg(n)∀n>n0
Esta desigualdad no se cumple para ninguna función f(n) por lo tanto la intersección de o(g(n))yω(g(n)) debe ser el conjunto vacío.
Rank the following functions by order of growth; that is,and an arrangement g1, g2, …. , g30 of the functions satisfying g1 = Ω(g2), g2 = Ω(g3), … , g29 = Ω(g30) .Partition your list into equivalence classes such that functions f(n) and g(n) are in the same class if and only if f(n) = Θ(g(n)) .
Solution:
Index
Equation
1
22n+1
2
22n
3
(n+1)!
4
n!
5
n2n
6
en
7
2n
8
(23)n
9
(lg(n))!
10
nlg(lg(n))
lg(n)lg(n)
11
n3
12
n2
4lg(n)
13
(lg(n))
lg(n!)
14
2lgn
n
15
(2)lg(n)
16
KaTeX parse error: Expected '}', got '\srqt' at position 4: 2^{\̲s̲r̲q̲t̲(2lg(n))}
17
lg2(n)
18
ln(n)
19
(lg(n))
20
ln(ln(n))
21
2lg(n)
22
lg(n)
lg(lg(n))
23
lg(lg(n))
24
1
n1/lg(n)
Give an example of a single nonnegative function f(n) such that for all functions gi (n) in part (a), f(n) is neither O(gi (n)) nor Ω(gi (n)) . Solution
Si definimos la función f(n){g1(n)!n1nnmod2=0mod2=1
Teniendo en cuenta que f(n) es asintóticamente positiva. Para n par tenemos: n→∞limgi(2n)f(2n)≥n→∞limgi(2n)f(2n) n→∞lim(g1(2n)−1)! =∞
Para n impar tenemos KaTeX parse error: Expected 'EOF', got '}' at position 95: …rac{f(2n+1)}{1}}̲
n→∞lim2n+11 =0
Draw the recursion tree for T(n)=4T([n/2])+cn, where c is a constant, and provide a tight asymptotic bound on its solution. Verify your bound by the substitution method.
Solution
Se incrementa el número de subproblemas por cada recursión en 4. Se disminuye el tamaño del subproblema en 2 más 2 adicionales. De esa manera, en cada nivel del árbol hay 4i nodos cada uno de coste c(n/2+2) a una profundidad i, que sigue la secuencia i = 0,1,2,…,lgn. Costo total tree t(n)=i=0∑lgn4ic(2in+2) =i=0∑lg(n)4ic4in+i=0∑lg(n)4ic2 =cni=0∑lg(n)2i4i+2ci=0∑lg(n)4i =cni=0∑lg(n)2i+2ci=0∑lg(n)4i =cn2−12lgn+1−1+2c4−14lg(n)+1−1 =cn(2lg(n)+1−1)+2c32c(4lgn+1−1) =cn(2n−1)+32c(4n2−1) =2cn2−2n+38cn2−32c =O(n2)
Se puede validar también a través del método de sustitución. T(n)=4T(n/2+2)+n ≤4d(n/2+2)2−b(n/2+2)+n =4d(n2/4+2n+4−bn/2−2b)+n =dn2+8dn+16d−2dbn−8db+n dn2−dbn+8dn+16n−dbn−8db+n d(n2−bn)−(db−8d−1)n−(b−2)8d ≤d(n2−bn) Es igual para db−1−8d≥0
Usar el método maestro para dar cotas ajustadas para las siguientes recurrencias:
T(n)=8T(2n)+n
T(n)=8T(2n)+n3
T(n)=8T(2n)+n5
En estos problemas se puede ver que a=8,b=2yf(n)=n,n2,n3 respectivamente. Se compara f(n) con n . Las recurrencias es cada una de un caso diferente del logab=nlog82 teorema maestro
Por lo tanto:
T(n)=8T(2n)+n
nlog28=n3=θ(n3),la función f(n) tiene una cota θ(nlogb(a)−e) con e=2
Por lo tanto T(n)=O(n3)
T(n)=8T(2n)+n3
nlog28=n3=θ(n3),la función f(n) tiene una cota θ(nlogba)
Por lo tanto T(n)=O(n3log(n))
T(n)=8T(2n)+n5
nlog28=n3=θ(n3),la función f(n) tiene una cota θ(nlogb(a)+e) con e=2
por lo tanto T(n)=θ(n5)
Punto 2
def misterio(n):
if n <= 1:
return 1
else:
r = misterio(n / 2)
i = 1
while n > i*i:
i = i + 1
r = r + misterio(n / 2)
return r
Plantee una ecuación de recurrencia para T (n), el tiempo que toma la función misterio(n). T(n)=2T(n/2)+Θ(n1/2)
Dibuje el árbol de recursión y calcule:
i. La altura del mismo log2(n)
ii. El número de nodos por cada nivel 2log2(n)
iii. La suma de los nodos de cada nivel 2ik(2in21)
iv. . La suma total Θ(n)
Determine el comportamiento asintótico de T(n) justificándolo de manera detallada
Por el método maestro podemos estudiar el comportamiento asintótico de la función de recurrencia T(n):
Donde es de la forma O(n) con ϵO(n)=0.5
por lo tanto T(n)=θ(n)
Punto 3
22.3-1 (pág 610) Realizar un cuadro 3x3 con filas y columnas WHITE, GRAY, BLACK. En cada celda (𝑖,𝑗), indique si en algún momento durante la búsqueda en la profundidad de un grafo dirigido, puede haber una arista o un vértice de color i a un vértice de color j. Por cada arista posible indique que tipo puede ser. Haga otro cuadro pero utilizando un grado no dirigido
**Solution **
Grafo dirigido
White
Gray
Black
white
Alkinds
Back,Cross
Tree, Forward y Croos
Gray
Back,Cross
Tree, Forward y Croos
Tree, Forward y Croos
Black
Back,Cross
Back,Cross
Alkinds
Grafo NO Dirigido
White
Gray
Black
white
Alkinds
-
-
Gray
Alkinds
Tree, Forward y Back
-
Black
Alkinds
Alkinds
Alkinds
Punto 4
22.3-2 (Pág 611) Muestre como DFS funciona en el grafo de la figura 22.6. Asuma que el ciclo for de la línea 5-7 del DFS considera los vértices en orden alfabético, y asuma que cada lista de adyacencia está ordenada alfabéticamente. Muestre el descubrimiento y los tiempos de cada vértice y muestre la clasificación de cada arista.
- Forward edges: (q,w).
- Back edges: (z,x), (w,s), (y,q).
- Tree edges: (q,s),(s,v),(v,w),(q,t),(t,x),(x,z),(t,y),(r,u).
- Cross edges: (u,y),(r,y)
Punto 5
22.4-2 Dé un algoritmo de tiempo lineal que tome como input un grado dirigido acíclico 𝐺 = (𝑉, 𝐸) y dos vértices s y t, y retorna el número de caminos simples de s a t en G. Añada un campo a la representación de vértices para mantener un número entero. Inicialmente, establece la cuenta del vértice t en 1 y la de otros vértices en 0. Comienza ejecutando DFS con s como vértice de inicio. Cuando se descubre t, debe marcarse inmediatamente como terminado (NEGRO), sin ningún otro tratamiento a partir de él. Posteriormente, cada vez que DFS finaliza un vértice v, establece el conteo de v como la suma de los conteos de todos los vértices adyacentes a v. Cuando DFS finalice el vértice s, deténgase y devuelva el conteo calculado para s.
def SIMPLE-PATHS(u,v):
if u == v:
return 1
elif u.paths == None:
return u.paths
else
for w in adj[u]:
paths.append(SIMPLE-PATHS(w,v))
return u.paths