Translate
jueves, 9 de abril de 2026
lunes, 19 de agosto de 2024
Se encuentran abiertas las inscripciones para los cursos Gugler!!!
¡Tengo grandes noticias! Estoy emocionado de anunciar que ya están abiertas las inscripciones para los tan esperados cursos Gugler. Si estás buscando avanzar en tu carrera, aprender nuevas habilidades, o simplemente profundizar tus conocimientos en áreas tecnológicas, ¡estos cursos son para ti!
Inscripciones abiertas del segundo cuatrimestre 2024. Inscripciones.gugler.com.ar
miércoles, 23 de marzo de 2022
viernes, 9 de abril de 2021
Libros Gratuitos de Web Code Geeks
|
domingo, 28 de marzo de 2021
Webinario Introducción al Frontend - Gugler Lab
Te invitamos a participar del Webinario Introducción al Frontend. El mismo se realizará el día Miércoles 31 de Marzo de 19:00 a 20:30 horas.
Hablaremos sobre maquetación web utilizando las últimas novedades de HTML5, CSS3 y frameworks CSS.
El acceso es libre y gratuito.
Para presenciar el evento diríjase al siguiente link: Webinario Introducción al Frontend, ingresando con su nombre y apellido.
Te esperamos !!!
sábado, 4 de abril de 2020
HTML + javascript + Haskell = ELM, parte 11
Lo más interesante de ELM es su capacidad de dibujar, por lo tanto vamos a hacer una pequeña aplicación donde se dibujan 2 botones y un circulo. Y los botones cambian la posición del circulo :
--Importo todo lo necesario.
import Svg exposing (..)
import Svg.Attributes exposing (..)
import Html.Events exposing (onClick)
import Browser
import Html exposing (Html, button, div, text)
import Html.Events exposing (onClick)
-- Definimos una app con una vista y una función update.
main =
Browser.sandbox { init = 50, update = update, view = view }
type Msg = Increment | Decrement
update msg m =
case msg of
Increment ->
m + 10
Decrement ->
m - 10
-- La vista dibuja los botones y el circulo.
view model =
div []
[ button [ onClick Decrement ] [ Html.text "-" ]
,
svg
[ viewBox "0 0 400 400"
, width "400"
, height "400"
]
[ circle
[ cx (String.fromInt model)
, cy "50"
, r "40"
, fill "red"
, stroke "black"
, strokeWidth "3"
]
[]
]
, button [ onClick Increment ] [ Html.text "+" ]
]
Si quieren probarlo pueden hacerlo acá : https://elm-lang.org/try
Y creo que esta es la frutilla de la torta.
Dejo link : https://guide.elm-lang.org/
HTML + javascript + Haskell = ELM, parte 10
La figura muestra un auto simple. Lo describiremos en términos de funciones. Como era de esperar, utilizaremos una combinación de estructuras de datos y funciones para hacer lo que queramos.
import Color exposing (..)import Graphics.Collage exposing (..)
import Graphics.Element exposing (..)
carBottom = filled black (rect 160 50)
carTop =
filled black (rect 100 60)
tire = filled red (circle 24)
main = collage 300 300
[ carBottom
, carTop |> moveY 30
, tire |> move (-40, -28)
, tire |> move ( 40, -28) ]
miércoles, 1 de abril de 2020
HTML + javascript + Haskell = ELM, parte 9
Los lenguajes funcionales son excelentes para transformar texto. Elm también es excelente para capturar texto. Aquí hay un ejemplo que toma algo de entrada, lo manipula y lo pone en la pantalla, usando un flujo HTML:
import String
import Html exposing (Html, Attribute, text, toElement, div, input)
import Html.Attributes exposing (..)
import Html.Events exposing (on, targetValue)
import Signal exposing (Address)
import StartApp.Simple as StartApp
--Importamos las bibliotecas que necesitaremos. String nos permite manipular cadenas, y Html nos da
-- acceso a varios aspectos de HTML, incluidos eventos, divs y campos de entrada.
main = StartApp.start { model = "", view = view, update = update }
--Nuestra función principal de una línea inicia nuestra aplicación, inicializando con una cadena
--vacía, presentando una vista y manejando actualizaciones con nuestra función de actualización, que
--se llamará cada vez que cambie nuestro campo de entrada.
update newStr oldStr = newStr
--A continuación, nuestra función de actualización trivial simplemente devuelve el nuevo valor del
--campo de entrada cada vez que el campo de entrada se actualiza.
shout text = String.toUpper text
whisper text = String.toLower text
echo text = (shout text) ++ " " ++ (whisper text)
--A continuación, definimos un par de funciones simples para trabajar con texto, las funciones de
--grito y susurro. Los usamos para construir una función de eco para transformar el texto. Estas
--funciones no saben nada sobre las interfaces de usuario. Solo funcionan en datos de cadena sin
--procesar.
view address string =
div []
[ input
[ placeholder "Speak"
, value string
, on "input" targetValue (Signal.message address)
, myStyle
]
[]
, div [ myStyle ] [ text (echo string) ]
]
myStyle = style [ ("width", "100%") ]
--La siguiente tarea es construir nuestra página HTML. Agregamos un control de entrada y un div
--que contendrá nuestro texto modificado. El control de entrada simplemente tiene los elementos
--HTML que Elm necesita para representar el control. La función on establece una señal que
--contendrá actualizaciones del campo de entrada. myStyle devuelve la hoja de estilo para nuestros
--elementos HTML. La función div crea un div HTML con los contenidos y el estilo especificados.
Puede parecer un poco extraño al principio, pero la visión del mundo de Elm es el complemento perfecto para la programación web front-end. Cada interfaz de usuario es solo un flujo de entradas de usuario transformadas
sábado, 28 de marzo de 2020
HTML + javascript + Haskell = ELM, parte 8
Seguimos con el post anterior.
Uno de los problemas más comunes de la interfaz de usuario es encontrar dónde hace clic un usuario.
Usemos la función sampleOn. Esa función nos permite muestrear una señal cuando se actualiza otra, como esta:
import Graphics.Element exposing (show)
import Mouse
clickPosition = Signal.sampleOn Mouse.clicks Mouse.position
main = Signal.map show clickPosition
domingo, 22 de marzo de 2020
HTML + javascript + Haskell = ELM, parte 7
Seguimos con el post anterior.
Agregaremos un par de funciones para contar la cantidad de interacciones con el mouse. En lenguajes funcionales como Elm, debes aprender trucos para manejar el estado. Hemos visto cómo las señales pueden ayudar a acceder a cosas como la posición del mouse que cambia con el tiempo y cómo usamos la recursividad para procesar listas. Gestionamos el estado por la forma en que estructuramos nuestras funciones. Las funciones de folds, que quizás conozcas de Lisp o Haskell, son un buen ejemplo. Toman una función de dos argumentos, un valor inicial y una lista. Aquí hay un ejemplo de foldl en Elm:
> foldl (+) 0 [1, 2, 3]
6 : number
Esto es lo que sucede en cada paso:
- fold (+) 0 [1, 2, 3]. fold toma el valor inicial de la lista, 1, y el acumulador, 0, y los suma, devolviendo 1, y usa ese número, con el resto de la lista, llamando a fold nuevamente.
- fold (+) 1 [2, 3]. Elm toma el valor más a la izquierda de la lista, 2, y el acumulador, 1, y los pasa a la función (+), devolviendo 3.
- fold (+) 3 [3]. Llamamos (+) con el acumulador 3 y el elemento de lista más a la izquierda de 3, devolviendo 6, y hemos terminado.
sábado, 21 de marzo de 2020
HTML + javascript + Haskell = ELM, parte 6
Elm fue construido desde cero para manejar los aspectos más difíciles del desarrollo de la interfaz de usuario. Se puede utilizar para crear una aplicación comercial con controles de interfaz de usuario o un juego, debe poder reaccionar ante los eventos. De hecho, todo lo que haces es una reacción a algún evento. El programa típico de JavaScript se basa en enviar eventos a través de funciones de callbacks, lo que hace que los programas sean mucho más receptivos pero a un costo. Son demasiado difíciles de leer. Aquí hay un ejemplo típico usando la biblioteca JQuery con JavaScript que le permite tomar la posición del mouse:
$(document).ready(function () {
var position = {'x': 0, 'y': 0};
$(document).bind('mousemove', function(event) {
position = {'x': event.pageX, 'y': event.pageY};
});
setInterval(function () {
// custom position code
}, seconds * 1000);
});
domingo, 15 de marzo de 2020
HTML + javascript + Haskell = ELM, parte 5
Elm incluye Pattern Matching, Puede usarlo para simplificar algunas definiciones de funciones:
> first (head::tail) = head
<function> : List a -> a
> first [1, 2, 3]
1 : number
lunes, 9 de marzo de 2020
HTML + javascript + Haskell = ELM, parte 4
Seguimos con el post anteriro.
Como con cualquier lenguaje funcional, la base de Elm es la función. Definir una es trivial. Veamos algunas funciones :
> add x y = x + y
<function> : number -> number -> number
> double x = x * 2
<function> : number -> number
> anonymousInc = \x -> x + 1
<function> : number -> number
> double (add 1 2)
6 : number
> List.map anonymousInc [1, 2, 3]
[2,3,4] : [number]
domingo, 8 de marzo de 2020
HTML + javascript + Haskell = ELM, parte 3
Construimos tipos para el color y la pieza, y eso estuvo bien perooooooo nuestro ejemplo de ajedrez se volvió un poco más complicado cuando queríamos extraer el color. Lo que realmente necesitamos es una forma de acceder a los campos con nombre. Esa cosa es un registro, y es un compañero natural para los objetos de JavaScript. Digamos que queremos representar una pieza de ajedrez con los campos Color y Pieza:
> blackQueen = {color=Black, piece=Queen}
{ color = Black, piece = Queen } : { color : Repl.Color, piece : Repl.Piece }
> blackQueen.color
Black : Repl.Color
> blackQueen.piece
Queen : Repl.Piece
HTML + javascript + Haskell = ELM, parte 2
elm provee el if tradicional :
if x < 0 then "too small" else "ok"
"ok" : String
Similar al if de Ruby o al case de otros lengujes podemos escribir lo siguiente :
> x = 5
5 : number
> if | x < 0 -> "too small" \
| | x > 0 -> "too big" \
| | otherwise -> "just right"
"too big" : String
La barra invertida es porque estoy usando el RELP y tengo que avisarle de los enteres que no tienen sentido
Este if es muy similar a pattern matchinig pero Elm tiene pattern matching :
> list = [1, 2, 3]
[1,2,3] : [number]
> case list of \
| head::tail -> tail \
| [] -> []
[2,3] : [number]
Esta sentencia devuelve el final de una lista, si existe, las vacia, de otro modo. Se puede ver el uso de pattern matching.
La belleza y el poder de un sistema de tipos se ve cuando constrimos nuestros propios tipos de datos complejos. Veamos un ejemplo, una pieza de ajedrez tiene un tipo y un color. Lo que podemos hacer es lo siguiente :
> type Color = Black | White
> type Piece = Pawn | Knight | Bishop | Rook | Queen | King
> type ChessPiece = CP Color Piece
> piece = CP Black Queen
CP Black Queen : ChessPiece
type List = Nil | Cons Int List
miércoles, 4 de marzo de 2020
HTML + javascript + Haskell = ELM
Supongamos que tenemos que hacer un juego en Html, css y javascript. Ante esta idea, viene otra muy rápidamente relacionada con el suicidio.
O podemos utilizar el try : https://elm-lang.org/try
jueves, 20 de diciembre de 2018
70 libros gratuitos de javascript.

Ya que estoy recomendado libros quiero recomendarle este sitio donde pueden bajar varios libros sobre tecnologías que se utilizan en el front-end.
Dejo link: http://on.edupioneer.net/38ae0c8df8
Libro gratuito de CouchDb, HTML 5, JAXB y JavaFx
Download Dev Guides!
domingo, 16 de septiembre de 2018
Libros gratuitos de Java code Geeks
|
| ||||||
|
|
|
| ||||||
|
|








































