Pull to refresh
1018.45

Programming *

The art of creating computer programs

Show first
Rating limit
Level of difficulty

Announcing F# 4.6 Preview

Reading time10 min
Views1.6K

We’re excited to announce that Visual Studio 2019 will ship a new version of F# when it releases: F# 4.6!


F# 4.6 is a smaller update to the F# language, making it a “true” point-release. As with previous versions of F#, F# 4.6 was developed entirely via an open RFC (requests for comments) process. The F# community has offered very detailed feedback in discussions for this version of the language. You can view all RFCs that correspond with this release here:



This post will detail the feature set and how to get started.

Read more →

Lifetime Profile Update in Visual Studio 2019 Preview 2

Reading time5 min
Views1.3K

The C++ Core Guidelines’ Lifetime Profile, which is part of the C++ Core Guidelines, aims to detect lifetime problems, like dangling pointers and references, in C++ code. It uses the type information already present in the source along with some simple contracts between functions to detect defects at compile time with minimal annotation.



Read more →

Teaching kids to program

Reading time6 min
Views2.4K

Hi. My name is Michael Kapelko. I've been developing software professionally for more than 10 years. Recent years were dedicated to iOS. I develop games and game development tools in my spare time.


Overview


Today I want to share my experience of teaching kids to program. I'm going to discuss the following topics:


  • organization of the learning process
  • learning plan
  • memory game
  • development tools
  • lessons
  • results and plans

Xcode 10.2, macOS Mojave 10.14.4, iOS 12.1 and other betas

Reading time8 min
Views6.6K


New betas are here and these are some of the most important things that I have learned about them.

Swift 5 for Xcode 10.2 beta


Swift


Firstly, the latest Xcode beta is bundled with the following Swift version:

Apple Swift version 5.0 (swiftlang-1001.0.45.7 clang-1001.0.37.7)
Target: x86_64-apple-darwin18.2.0
ABI version: 0.6

Let’s start with the most exciting news:
Swift apps no longer include dynamically linked libraries for the Swift standard library and Swift SDK overlays in build variants for devices running iOS 12.2, watchOS 5.2, and tvOS 12.2. As a result, Swift apps can be smaller when deployed for testing using TestFlight, or when thinning an app archive for local development distribution.
Application Binary Interface stability is coming! And this is excellent news. I think this is the one of the most significant issues at the moment with Swift. Not because of side-effects but because of Swift’s failure to deliver on previous promises. Anyway, I even know people who rewrite their Apple Watch extensions to Objective C to reduce the size of binary (something like 15MB vs ~1MB in Objective C). If you want to know more about the state of ABI, follow the links: Swift — ABI Dashboard and Swift ABI Stability Manifesto.
Read more →

SAPUI5 for dummies part 4: A complete step-by-step exercise

Reading time4 min
Views3.6K


Introduction & Recap


In the previous blog post, we learned how to move our current application into a Master-Detail app displaying Business Partner as a list (master) and its detail information with Sale Orders inside the detail page (detail).


What will be covered on this exercise


With Part 4 of this series of blog posts, we will learn how to create a second drill-down page with information about the Sale Order detail and display a table of Sale Order items.


The most important part of this exercise is to understand how to Delete (part of the CRUD operations) a Sale Order Item of a Sale Order.


  • ODataModel: we have already used it to display server-side information about our Business Partner, Order Sale. Now we’re going to use it to display Sale Order Item and delete them from the set. For this purpose, we’re going to use the remove method

This is our main task in this exercise but it’s not the only thing we’ve done in the code. Here’s a list of the things you have to do to get to the final result:


  • Add a new route and target in the manifest.json to navigate to the BusinessPartnerSeleOrderItem page
  • Listen on the Sale Order click event and navigate to the SaleOrder detail (where we will display sale order detail and sale order items)
  • Add a FilterBar to filter the Sale Order Item’s table
  • Add a ViewSettingsDialog to sort/group Sale Order Items
  • Expand the ToProduct navigation property of a SaleOrderItem entity to display Product information into table’s rows
Read more →

The VS Code Roadmap 2019 — DRAFT

Reading time5 min
Views2.9K

As 2018 has come to an end, now is the time to look towards the future. We typically look out 6 to 12 months and establish topics we want to work on.


As we go we learn and our assessment of some of the topics listed changes. Thus, we may add or drop topics as we go.


We describe some initiatives as «investigations» which means our goal in the next few months is to better understand the problem and potential solutions before scheduling actual feature work. Once an investigation is done, we will update our plan, either deferring the initiative or committing to it.


As always, we will listen to your feedback and adapt our plans if needed.


Read more →

Translating Dust templates to JSX

Reading time5 min
Views1.8K


Hello Habr! I'm Miloš from Badoo, and this is my first Habr post, originally published in our tech blog. Hope you like it, and please share and comment if you have any questions

So… React, amirite???

It appeared in the middle of the decade (plagued by the endless JavaScript framework wars), embraced the DOM, shocked everyone by mixing HTML with JavaScript and transformed the web development landscape beyond recognition.

All those accomplishments, without even being a framework.

Love it or hate it, React does one job really well, and that is HTML templating. Together with a great community and a healthy ecosystem, it’s not hard to see why it became one of the most popular and influential JavaScript libraries, if not the most popular one of all.

SAPUI5 for dummies part 3: A complete step-by-step exercise

Reading time4 min
Views7.6K


Introduction & Recap


In the previous blog post, we learned how to filter, sort and group our table. This is a fundamental aspect of every CRUD application because most of the time users have to deal with hundreds of hundreds of records.


What will be covered on this exercise


With Part 3 of this series of blog posts, we will learn how to create a Master-Detail application leveraging the SplitApp UI control and how correctly configure the app’s manifest to handle routes and targets.


  • SplitApp: UI control that allows you to create a Master-Detail application (used as a replacement of the App control)
  • Routing: we will configure the manifest.json to correctly handle the routing of the application
  • ObjectHeader: control that enables the user to easily identify a specific object. The object header title is the key identifier of the object and additional text and icons can be used to further distinguish it from other objects
  • Navigation to a detail view and bind the element context: you will learn how to navigate and open a detail page and bind the current View (of the detail) to a new context
  • List: in the master page we will use a list to display BusinessPartner because we will have less space
Читать дальше →

Naming things

Reading time5 min
Views6.9K
There are only two hard things in Computer Science: cache invalidation
and naming things.

— Phil Karlton

We, developers, spend more time reading code than writing it. It is important for the code to be readable and clear about its intent.


Below are some advice based on my experience naming things.

Читать дальше →

SAPUI5 for dummies part 2: A complete step-by-step exercise

Reading time4 min
Views7.4K


Introduction & Recap


In the previous blog post, we started designing our application rendering a table with some Business Partner. We learned what OData protocol is, how to read an OData XML manifest, how to bind data to a Table and how to customize columns layout based on different screen resolution.


What will be covered on this exercise


With Part 2 of this series of blog posts, we will learn how to interact with data in our Tables and List. We will learn how to filter and sort data in a smart way.


  • Create JSONModel to handle local data
  • Set a default sizeLimit to our JSONModel
  • FilterBar: UI control that displays filters in a user-friendly manner to populate values for a query
  • Use XML Fragments to create a View Settings Dialog to handle sort and group data
  • Filter and Sort data
  • Add an Info Toolbar to our table to display useful information
Read more →

[SAP] SAPUI5 for dummies part 1: A complete step-by-step exercise

Reading time2 min
Views4K


Introduction & Recap


In the previous blog post, we have created a new SAPUI5 application on our SAP SCP WebIDE Full stack and we have configured it to use the destination to the SAP Netweaver Gateway Demo ES5.


What will be covered on this exercise


  • What is an XML Metadata Manifest and what’s inside it?
  • How to use our OData Model and bind it into our application
  • Use a sap.m.Table with items and property binding
  • Use sap.ui.model.type.DateTime to format JavaScript Date
  • How to style columns to act differently on mobile/tablet/desktop devices
Read more →

My experience of advertising and development of Android and iOS application

Reading time4 min
Views4K


Let me share an interesting experience in promotion of a mobile game.

1. Introduction


I am going to describe all the benefits and of course show the final results. The example will be the mobile game Quick Brain which is available for Android и iOS. Quick Brain Android was released the first that's why its possibilities differ considerably from iOS version.

I have been always kept by the thoughts that everyone's talking about high returns in contrast with Android. I just couldn't resist such attractive prospects and started more active refinement of iOS version in order to feel less embarrassed about it.

After Google play iOS has become an absolutely new field for the games for me. During my comparative experiment I've found out that iOS version can bring comparable earnings to Android with daily audience 3 to 10 times less depending on the country.
Читать дальше →

[SAP] SAPUI5 for dummies: A complete step-by-step exercise

Reading time2 min
Views4.5K

Yesterday I’ve blogged about the content I’m creating for new developers that have arrived at our Techedge office in Lucca.


Teaching is something I started to love, is the natural consequence of the fact that I love to learn and love to share my knowledge. And I think that it’s important that new students or young developers have some curated content to start with, maybe with also some tip&tricks that senior has learned during their journey.


The idea behind this exercise is to cover every topic a SAPUI5 developer should know and understand.


The exercise will be available on my GitHub project openui5-exercise.

Read more →

Currying and partial application in C++14

Reading time10 min
Views7.8K

In this article I'm going to tell you about one of the currying options and partial application of the functions in C++ which is my personal favourite. I'm also going to show my own pilot implementation of this thing and explain the point of currying without complex mathematical formula, making it really simple for you. We'll also see what's under the hood of kari.hpp library which we'll be using for currying functions. Anyway, there are lots of fascinating stuff inside, so welcome!

Читать дальше →

SAP: What do you need to start learning SAPUI5?

Reading time3 min
Views5.2K

image


Introduction


At the start of September 2018, some cool guys also joined our team, they are fresh from University and they are really hungry to learn how to design and develop amazing web apps with SAPUI5.


That’s why I’ve started to collects internally on the web some links in order to create “The perfect journey to become a SAPUI5 Ninja Developer”.


I’ve also started to write down some exercise (from easy to hard) in order to test what they’ve learned but I will share those in a second blog post as soon I’ve finished them.


Presentation


Hi everyone,
I'm Emanuele Ricci, a full-stack developer based in Lucca (a beautiful little city in Tuscany, Italy).


Since the last three years, I work full-time for Techedge Group, a big worldwide consultant company that is a partner with SAP. I usually work in projects related with SAPUI5, SCP, HANA and in my free time, I love to create content around the technology I use at work and in my personal projects outside SAP. Lately, I'm a little bit experimenting with Android after the release of SAP Fiori SDK for Android/iOS.

Read more →

Automation VS Chaos

Reading time5 min
Views1.1K
image

IT technologies evolution allowed to control huge data flows. Business has a lot of IT solutions: CRM, ERP, BPM, accounting systems or at least just Excel and Word. Companies are different too. Some of companies are composed of plenty branches. Let’s name such as “Pyramid”. Pyramids have data synchronization issue for pile of IT systems. Software vendors and versions differ for branches significantly. In addition management company continuously modify reporting requirements that causes frustration assaults in the branches. This is a story about the project I happened to encounter chaos that needed to be systematized and automated. Low budget and tight deadlines limited the use of most existing industrial solutions but opened up scope for creativity.
Читать дальше →

Authors' contribution