Graph storage​ with Neo4J and Python

Recently I had time to try new stuff, so I decided to use Neo4J database.

Ne04J is a graph database, that means that you can store objects as graph nodes with associated data and have connections between those objects as graph edges.

OWXsS6PfkdM.jpg

Continue reading “Graph storage​ with Neo4J and Python”

Investigating memory usage in Python program

Good evening everyone!
Today I’ve faced a problem with my Python web app, which required from me to trace the memory usage to find the possible memory leak. I’ve learned some methods and libraries for monitoring memory traffic and I want to share those.

computer-memory-chips Continue reading “Investigating memory usage in Python program”

Bitbucket Pipelines & VM deployment (Digital Ocean)

use2

Good evening, everyone!
I’ve recently faced an objective that required to configure CI/CD for project’s test environment.

I’ve started trying to find vendor serviced solution with free plans.
There are two options that I’ve found:

Shippable seemed better for use, at first sight, but after spending a lot of time trying just to run a script on my VM, I gave up.

Bitbucket Pipelines in the opposite turned out to be very easy to set up. I have spent less than 30 minutes to make it run my projects restart scripts.

So I will tell you how I have done it, hoping that it will help you in future.

Continue reading “Bitbucket Pipelines & VM deployment (Digital Ocean)”

F# and MongoDB

Recently I’ve faced several problems working with MongoDB.Driver for .NET from F# project and here I’ll try to describe how you could make it all work fine.

34

Firstly download and install mongodb from https://www.mongodb.com/ with standard configuration you like.

There’s a verbose guide and documentation that you could find about mongodb and how it works on the official web site (https://docs.mongodb.com/getting-started/shell/).

After you’ve completed the installation – create an F# script and load mongodb .NET packages using nuget. You’ll need MongoDB.Driver, MongoDB.Driver.Core and MongoDB.Bson.

Continue reading “F# and MongoDB”

Azure functions with Slack and OpenWeather

6

Notes

Azure Functions is an event driven, compute-on-demand experience that extends the existing Azure application platform with capabilities to implement code triggered by events occurring in virtually any Azure or 3rd party service as well as on-premises systems. Azure Functions allows developers to take action by connecting to data sources or messaging solutions, thus making it easy to process and react to events. Azure Functions scale based on demand and you pay only for the resources you consume.

Slack is a messaging app for teams

OpenWeather is a platform that collects, processes, and distributes information about our planet through easy to use tools and APIs.

 

I’ve just ended up my experiments with Azure functions and now I want to share my experience with you. Continue reading “Azure functions with Slack and OpenWeather”

Conway’s Game of Life in F# and CodeRetreat

5
Recently I’ve taken part in the coding event that was organized by EPAM in Saint-Petersburg, that’s call CodeRetreat. The basic idea of that is that often developers have no time to improve their coding skills, because they are only developing business needed tasks, so they are constantly under pressure and couldn’t be relaxed. But when developers come to CodeRetreat they are given tasks that they could solve without any pressure like time limits or quality checking, no one requires you’ll solve this task in time. Another kind of challenge is that you’ll try to code the task in different languages, you have only 45 minutes for 1 coding session. Involvement in this event was very interesting for me and that was really funny.

The task was to develop some basic parts of the Conway’s Game of Life rules, so they’ll bypass tests that you’ll write. I’ve decided to try F# language for one of sessions, I’ve just completed the basic tests for this task, but I couldn’t stop, so I’ve ended the task when I’ve been already at home. Continue reading “Conway’s Game of Life in F# and CodeRetreat”

Basics of memory structure in CLR, GC and dotMemory

Hi, everyone! Today I want to say some words about the memory and how it works with CLR, general information about how the garbage collector is working and show how you can monitor your memory, using the JetBrains tool called dotMemory.

Memory structure

1

In .NET we have two kinds of types:

  • reference types
  • value types

Reference types are all the types that are created using the ‘class’ keyword. All reference types are inherited implicitly or explicitly from the System.Object type or from another type that inherits System.Object.

The memory for reference types is allocated from the managed heap. The operator ‘new’ returns a pointer in memory, where the object is placed. Some conditions working with reference types could hit the program performance: Continue reading “Basics of memory structure in CLR, GC and dotMemory”

My experience with Coverall.NET (with AppVeyor CI)

Blog.post.10.10.15

A small introduction

                AppVeyor CI is a continuous integration and deployment service for .NET applications that’s free for open-source projects and could be easily integrated with GitHub and BitBucket.

                Coveralls is a web service that could help you to track your code coverage, and ensure that all new code is fully covered (from coveralls main page)

                The goal is to use find how we could integrate these services.

I’ve spent a lot of time trying to configure visualstudio codecoverage tool to use with Coverall.NET, but at last I found that current version of AppVeyor is using Visual Studio 2015 Community to build and test projects, which is not supporting Code Coverage (as well as Microsoft.Fakes framework), so I will show you how I configured an OpenCover code coverage for these needs.

Continue reading “My experience with Coverall.NET (with AppVeyor CI)”