Autor wpisu: Tomasz Kowalczyk, dodany: 17.05.2011 23:24, tagi: symfony, javascript, php
Autor wpisu: singles, dodany: 14.05.2011 23:52, tagi: javascript
O języku JavaScript można mówić dobrze jak i źle, ale na pewno nie można odmówić mu rozkwitu w ostatnich latach. I nie mam na myśli tego, że webmasterzy ponownie zaczęli implementować zegarki latające za kursorem (ah te początki 2000 roku ;) JavaScript na serwerze staje się coraz bardziej naturalny za sprawą narzędzi typu node.js, silniki JS są coraz szybsze, powstaje coraz więcej aplikacji pisanych tylko i wyłącznie w tym języku.
Jednak im więcej kodu piszemy, tym częściej zauważamy, że niektóre konstrukcje językowe powtarzają się coraz częściej. Wydaje mi się, że głównie chęć zaoszczędzenia czasu jest motorem do powstania takich narzędzi jak CoffeeScript, które to chciałbym w tym wpisie krótko przedstawić.
„Ale o so chodzi?”
Jak piszą autorzy, CoffeeScript jest małym językiem, który kompiluje się do JavaScript’u. Przykładowy kod wygląda tak (zaczerpnięty z głównej strony projektu):
# Assignment: number = 42 opposite = true # Conditions: number = -42 if opposite # Functions: square = (x) -> x * x # Objects: math = root: Math.sqrt square: square cube: (x) -> x * square x # Splats: race = (winner, runners...) -> print winner, runners # Existence: alert "I knew it!" if elvis?
Najpierw piszemy kod za pomocą składni CoffeeScript, a następnie kompilujemy do najzwyklejszego JavaScriptu, który to automatycznie przechodzi testy JavaScript Lint. Możliwości narzędzia najlepiej będzie przedstawić na kilku przykładach:
Instrukcje warunkowe
Programistom Ruby poniższa składania powinna wydawać się jak najbardziej naturalna. Mianowicie kod:
number = 42 opposite = true number = -42 if opposite
da nam wynikowo:
var number, opposite; number = 42; opposite = true; if (opposite) { number = -42; }
Szybka definicja funkcji
square = (x) -> x * x cube = (x) -> square(x) * x
zamienia się w:
var cube, square; square = function(x) { return x * x; }; cube = function(x) { return square(x) * x; };
Funkcje z nieokreśloną liczbą parametrów
Czasami zdarza się tak, że funkcja przyjmuje jeden parametr, a następne mogą być dowolne. Tutaj CoffeeScript wprowadza coś, co nazwane jest splats i prezentuje się tak:
gold = silver = rest = "unknown" awardMedals = (first, second, others...) -> gold = first silver = second rest = others
Wynikowo dostaniemy jednak:
var awardMedals, contenders, gold, rest, silver; var __slice = Array.prototype.slice; gold = silver = rest = "unknown"; awardMedals = function() { var first, others, second; first = arguments[0], second = arguments[1], others = 3 <= arguments.length ? __slice.call(arguments, 2) : []; gold = first; silver = second; return rest = others; };
Zauważcie takie rzeczy jak automatyczne pobranie metody slice
z prototypu Array
czy też zainicjowanie zmiennej others
pustą tablicą, kiedy nie zdefiniowano parametrów dodatkowych.
Autor wpisu: Tomasz Kowalczyk, dodany: 01.05.2011 17:07, tagi: jquery, javascript
Autor wpisu: batman, dodany: 29.04.2011 19:01, tagi: javascript, css
Pamiętacie projekt Chromeless? To takie coś, co pozwala przy pomocy HTML, CSS oraz JavaScript stworzyć własną przeglądarkę internetową. Chłopaki z Mozilli nie zapomnieli o tym projekcie i ogłosili właśnie wydanie kolejnej wersji, oznaczonej numerem 0.2.
Zmiany jakie zostały wprowadzone to:
- aktualizacja silnika renderującego do najnowszej wersji wykorzystywanej w Firefox 4
- możliwość spakowania aplikacji i środowiska uruchomieniowego Chromeless
- możliwość tworzenia i manipulowania menu aplikacji
- usprawnienie mechanizmu zagnieżdżania treści
- szereg drobnych usprawnień
Dodatkowo zmianie ma ulec proces wydawania kolejnych wersji tak, aby pojawiały się one częściej. Czy czeka nas wysyp przeglądarek tworzonych przez społeczność?
Strona projektu – http://mozillalabs.com/chromeless
Autor wpisu: Kamil, dodany: 28.04.2011 16:54, tagi: javascript
Autor wpisu: singles, dodany: 20.04.2011 12:15, tagi: javascript, php
Krótko. Jetbrains zrobiło świąteczną niespodziankę i oferuje kilka swoich produktów po naprawdę dobrych cenach – spójrzcie tylko. Obniżka tyczy się licencji prywatnych. Jest to taki typ licencji, na który nie dostaniecie faktury, i który jest przypisany do Was. Ale można ją instalować na dowolnej liczbie maszyn (byle w jednym momencie chodziła tylko jedna kopia) i używać do projektów komercyjnych. Dla potwierdzenia odpowiedź, jaką dostałem na swoje pytanie, kiedy kupowałem swoją licencję:
I work in a company, and using company’s notebook to develop. Can I use personal license on that machine, and when I change company use it there? From what I’ve read, license is ‘attached’ to me, not to machine, so theoretically it’s possible, but I ask for confirmation.
I odpowiedź:
Yes, you can install the software on as many machines as you like but you can use it only on one of them concurrently. Furthermore no company funds may be involved in the purchase at any time.
Jeśli czekaliście na okazję, aby tanio kupić PHPStorm (albo inny produkt z listy) – ta okazja właśnie nadeszła.
Nie, nie mam umowy z JetBrains. Po prostu uważam, że PHPStorm to najlepsze IDE do PHP jakie miałem w rękach ;)