Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια

Νοέμβριος 2010 - Δημοσιεύσεις

IT Pro | Dev Connections 2010 - "Και Line-of-Business και Rich Internet Applications: The silver side of the moon"

Ευχαριστούμε όσους μας τίμησαν με την παρουσία τους στο IT Pro | Dev Connections 2010, στην παρουσίαση μας (Άγγελος Μπιμπούδης & Μάνος Κελαϊδίτης) με τίτλο "Και Line-of-Business και Rich Internet Applications: The silver side of the moon". Είδαμε πρακτικές και τεχνολογίες για RIA εφαρμογές σε Silverlight, πώς ξέραμε τις επιχειρησιακές εφαρμογές με Silverlight μέχρι τώρα και τι εφόδια έχουμε πια, για να φτιάχνουμε γρηγορότερα και πιο δομημένα web applications, συνδυάζοντας RIA και LoB χαρακτηριστικά.

Προσπαθήσαμε να πούμε όσα περισσότερα πράγματα γίνεται, δίνοντας ένα κβάντο πληροφορίας που μπορεί να χρησιμοποιηθεί άμεσα, ξεκινώντας με WCF Ria Services, MVVM design pattern και MEF για extensibility. Ο χρόνος ήταν περιορισμένος, αλλά πιστεύουμε ότι τα καταφέραμε (φάνηκε και από την αξιολόγηση :D).

Για όσους όμως, πιστεύουν ότι 75 λεπτά δεν έφτασαν (και αλήθεια θα είναι), σχεδιάζουμε να κάνουμε live meeting στο άμεσο μέλλον, οπότε stay tuned.

*Για να τρέξετε τα demos, θα χρειαστείτε: WCF Ria Services, Silverlight Toolkit, Async CTP, RX Extentions, MVVMLight

*Credits to: Guy Smith-Ferrier for the localization reference and material included. He has done a great work on internationalizing silverlight and localization in general. For more check.

ΠαρουσίασηΥλικό-Demos

image

Posted: Τρίτη, 30 Νοεμβρίου 2010 11:42 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία: , , ,

CloseTabBehavior για TabItems σε Silverlight TabControl

Χρησιμοποιώντας το tabcontrol του Silverlight, είδα ότι δεν έχει close button σε κάθε tab. Μερικές λύσεις που είδα από το net, έκαναν extend ένα tabItem, ή έβαζαν handler κάπου για να το υλοποιήσουν. Έτσι έφτιαξα ένα behavior το οποίο γίνεται attach, λίγο πιο κομψά. Στο OnClick, υλοποίησα ένα μικρό chunk λογικής για να διατηρείται το state.

To itemtemplate

<TabControl.ItemTemplate>     <DataTemplate>         <DockPanel Width="120">             <Button Content="X"                                                     Cursor="Hand"                     DockPanel.Dock="Right"                     Focusable="False"                     FontFamily="Courier"                     FontSize="9"                     FontWeight="Bold"                      Margin="0,1,0,0"                     Padding="0"                     VerticalContentAlignment="Bottom"                     Width="16" Height="16" >                 <interactivity:Interaction.Behaviors>                     <behavior:CloseTabBehavior/>                 </interactivity:Interaction.Behaviors>             </Button>             <ContentPresenter Content="{Binding ApplicationName}"                     VerticalAlignment="Center" />         </DockPanel>     </DataTemplate> </TabControl.ItemTemplate>

To behavior

public class CloseTabBehavior : Behavior<Button> {     protected override void OnAttached()     {         AssociatedObject.Click += OnClick;     }     protected override void OnDetaching()     {         AssociatedObject.Click -= OnClick;     }     private static void OnClick(object sender, RoutedEventArgs e)     {         TabItem tabItem = (sender as Button).GetParent<TabItem>();         object selectedItem = tabItem.DataContext;         TabControl tabControl = (sender as Button).GetParent<TabControl>();         IList list = (IList) tabControl.ItemsSource;         int index = list.IndexOf(selectedItem);         if (list.Count == 1)             tabControl.SelectedItem = null;         else if (index < list.Count - 1 )             tabControl.SelectedItem = list[++index];         else if (index == list.Count - 1)             tabControl.SelectedItem = list[--index];         try         {             list.Remove(selectedItem);         }         catch (Exception ex)         {             Debug.WriteLine(ex.Message);         }     } }

Όποιος έχει κάτι να προσθέσει, feel free!

 


Posted: Δευτέρα, 29 Νοεμβρίου 2010 2:39 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία: ,

Ζωντανό, παγκόσμιο event για το μέλλον και για τα best practices του Silverlight

clip_image002

Θα ήθελα να ενημερώσω ότι υπάρχει ένα πολύ δυνατό παγκόσμιο event  για silverlight στις 2 Δεκεμβρίου, 2010 το οποίο θα έχει live video steaming.

Θα μιλήσει ο Scott Guthrie και άλλος κόσμος κατευθείαν από τα κεντρικά.

Η Εγγραφή είναι free.

Περισσότερες πληροφορίες, μπορείτε να βρείτε στο επίσημο site

Posted: Παρασκευή, 12 Νοεμβρίου 2010 4:16 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία:

Functional Programming Reading List

During the last months, I started to collect some readings (academic publications and books) that one should check out, as he learns functional programming. These are life changing readings (other pretty fundamendal, other very specific), and can be studied in a time frame of several months or more, so unless you are a doctoral researcher on the field of programming languages, take your time and enjoy.

[ 1] J. V. Eijck and C. Unger, Computational Semantics with Functional Programming, 1st ed. Cambridge University Press, 2010.
[ 2] R. Bird, Pearls of Functional Algorithm Design, 1st ed. Cambridge University Press, 2010.
[ 3] D. Vytiniotis and P. Jones, “Let should not be generalized,” in Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementation, pp. 39–50, 2010.
[ 4] F. Kirchner and C. Munoz, “The proof monad,” Journal of Logic and Algebraic Programming, 2010.
[ 5] A. Filinski, “Monads in action,” in Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 483–494, 2010.
[ 6] J. Gibbons and B. C. Oliveira, “The essence of the Iterator pattern,” Journal of Functional Programming, vol. 19, no. 3, pp. 377–402, 2009.
[ 7] G. Hutton, Programming in Haskell. Cambridge University Press, 2007.
[ 8] C. McBride and R. Paterson, “Applicative programming with effects,” Journal of functional programming, vol. 18, no. 01, pp. 1–13, 2007.
[ 9] R. K. Dyvbig, S. P. Jones, and A. Sabry, “A monadic framework for delimited continuations,” Journal of Functional Programming, vol. 17, no. 06, pp. 687–730, 2007.
[10] P. Wadler and P. Thiemann, “The marriage of effects and monads,” ACM Transactions on Computational Logic (TOCL), vol. 4, no. 1, p. 32, 2003.
[11] B. C. Pierce, Types and Programming Languages, 1st ed. The MIT Press, 2002.
[12] B. Mcadams, “Y in practical programs,” 2001.
[13] G. Hutton, “A tutorial on the universality and expressiveness of fold,” Journal of Functional Programming, vol. 9, no. 4, pp. 355–372, 1999.
[14] S. Finne, D. Leijen, E. Meijer, and S. P. Jones, “Calling hell from heaven and heaven from hell,” in Proceedings of the fourth ACM SIGPLAN international conference on Functional programming, pp. 114-125, 1999.
[15] J. Palsberg and C. B. Jay, “The essence of the visitor pattern,” COMPSAC-NEW YORK-, pp. 9–15, 1998.
[16] G. Hutton and E. Meijer, “Monadic parsing in Haskell,” Journal of functional programming, vol. 8, no. 04, pp. 437–444, 1998.
[17] G. Huet, “The zipper,” Journal of Functional Programming, vol. 7, no. 05, pp. 549–554, 1997.
[18] H. Abelson and G. J. Sussman, Structure and Interpretation of Computer Programs - 2nd Edition, 2nd ed. The MIT Press, 1996.
[19] G. Hutton and E. Meijer, “Monadic parser combinators,” Journal of Functional Programming, vol. 8, no. 4, pp. 437–444, 1996.
[20] P. Wadler, “Monads for functional programming,” Advanced Functional Programming, pp. 24–52, 1995.
[21] E. Meijer and G. Hutton, “Bananas in space: Extending fold and unfold to exponential types,” in Proceedings of the seventh international conference on Functional programming languages and computer architecture, p. 333, 1995.
[22] P. Wadler, “Monads and composable continuations,” Lisp and Symbolic Computation, vol. 7, no. 1, pp. 39–55, 1994.
[23] G. L. Steele Jr, “Building interpreters by composing monads,” in Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p. 492, 1994.
[24] J. M. Hill and K. Clarke, An introduction to category theory, category theory monads, and their relationship to functional programming. Citeseer, 1994.
[25] P. Jones, L. Simon, and P. Wadler, “Imperative functional programming,” in Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p. 84, 1993.
[26] P. Wadler, “The essence of functional programming,” in Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p. 14, 1992.
[27] D. J. King and P. Wadler, “Combining monads,” Functional Programming, Glasgow, pp. 134–143, 1992.
[28] A. W. Appel, Compiling with Continuations. Cambridge University Press, 1991.
[29] E. Moggi, “Notions of computation and monads,” Information and computation, vol. 93, no. 1, pp. 55–92, 1991.
[30] E. Meijer, M. Fokkinga, and R. Paterson, “Functional programming with bananas, lenses, envelopes and barbed wire,” in Functional Programming Languages and Computer Architecture, pp. 124–144, 1991.
[31] O. Danvy, J. Koslowski, and K. Malmkjær, “Compiling monads,” TechnicalReportCIS-92-3, Kansas State University, Manhattan, Kansas, 1991.
[32] P. Wadler, “Comprehending monads,” in Proceedings of the 1990 ACM conference on LISP and functional programming, pp. 61–78, 1990.
[33] E. Moggi, “An abstract view of programming languages,” 1989.
[34] J. Hughes, “Why functional programming matters,” The computer journal, vol. 32, no. 2, p. 98, 1989.
[35] P. Wadler and R. Bird, “Introduction to functional programming,” pp. 1--14, 1988.
[36] E. Moggi, “Computational lambda-calculus and monads,” 1988.
[37] G. L. Steele Jr and G. J. Sussman, “Lambda: The ultimate imperative,” AIM-353, 1976.
[38] G. L. Steele Jr, “Lambda: The ultimate declarative,” AIM-379, 1976.

Posted: Τετάρτη, 3 Νοεμβρίου 2010 10:11 μμ από George J. Capnias | 0 σχόλια
Δημοσίευση στην κατηγορία: , ,