How to add flow type definition for raw-loader

Recently I have encountered a quite odd problem. I was trying to load *.html file as a string in my React component using raw-loader , but have obtained flow error that flow can’t recognize this type of import. And here fun starts 😉 As I haven’t found anything straightforward about flow typing raw-loader I took a look at how this problem was solved for a much more common use case – CSS Modules. There are quite a few googlable ways how to fix this error for CSS Modules, so let’s see what they are, and what are downfalls of each way:Continue reading →

How to write better (code) review

As a software engineer, I do or receive code review nearly on daily basis (except probably Saturday’s and Sunday’s 😂). On the beginning of my career, I haven’t paid a lot of attention to the exact way how code reviews were provided. If they contain any clues to what can be improved – it was ok for me. After spending some time on this side of the software development process, I have made conclusions from my own reactions about what, in my opinion, makes good review even better. And under these, I not only mean emotional reaction to the feedback but more willingness level to make changes and make this PR be merged. You probably know what I am talking about here. A moment, when you have finished reading code review, and you are still smiling, and it is clear for you what needs to be changed, or where you should look in for better ideas how to make this task be done. Continue reading →

Playgrounds for React patterns: compound components and render as a props

During my preparation to talk in Verona on ReactJSDay I have tried to dive deep in some patterns in React that have been broadly discussed (at least in my twitter feed 🙂  ). For me, one of the best ways to understand the code better is by playing with it a little bit, so I have created a few simple codepen playgrounds that were based on the existing code samples. Maybe you will find them useful as well.Continue reading →

Accessibility practical guide

permanent temporary situational accessibility

Recently in many front-end conferences, the accessibility topic appears very often and in some way, it reminds me the endless discussion about how styles should be done using the CSS-preprocessors/CSS or some CSS-Modules solutions etc. Hot topic? So how to make our own sites more accessible?

Why actually should we care about accessibility? I think everyone has their own different answer to this question. And there are a lot of possible ones:Continue reading →

How not to miss updates in React Documentation

React is the “instrument” that I am using on a daily base, and for this reasons, I am trying not to miss any updates that are happening in this framework. And is really hard to miss something, as I am active twitter user, and am following a lot of other React funs. But somehow it happened that I have missed when the PureComponent appear. So I decided to find some more reliable method to track what changes are happening in the React.Continue reading →

How to make smart chaining of custom pure functions

I love the concept of the functional programming. Lately, in addition to my work with React + Redux +JS etc. I have worked also a lot with the ClojureScript (I was warned that after I will start writing in any dialect of Clojure I will start thinking slightly different about functional programming, not I see that this is true).

Last weekends I was enjoying by doing some training tasks on JavaScript, and to solve one of the problems in it with the love of functional programming I came up with 4 pure functions (let’s name them function1, function2, function3, function4) that I wanted to apply to my data step by step to obtain the expected result. If it were a ClojureScript, the expected code should be something like this:

Continue reading →

How to convert icons from fonts to separate svg files

Recently I have moved out rich text editor from the TinyMCE to the Draft.js. I wanted to make this transfer as less noticeable as possible for our end users in terms of the UI. One of the interesting points was to create buttons in the editor toolbar similar to the ones that were in the TinyMCE editor. Icons that are used in the on the button in the TinyMCE editor are done using the specific TinyMCE font that is part of the TinyMCE package. I will go through some ideas how this can be done.Continue reading →

8 Playgrounds for Examples from Official Draft.js Repository (v.0.10.0)

Draft.js

Last four working days were quite interesting, as I was moving rich editor that we used in our application from the TinyMCE to Draft.js. There were many reasons why I decided to do this. The most general was to have more ownership over editor in our app and be possible to customize it quite easily, so it would reflect our needs (yeah, and make it possible to fix any bugs in the editor on your side). Moreover, I think that I will be able to reuse created rich editor, that it based on the draft-js in the re-frame project, on which I will be working in next month.

Working with Draft.js is quite challenging and interesting at the same time. Challenging as this pretty new tool, so there is some lack of the documentation and enough examples of the documentation (you can fin documentation on the official web-site: https://facebook.github.io/draft-js/docs/overview.html#content  + check the issues on the Github: https://github.com/facebook/draft-js/issues; links to a quite a lot of examples of the usage are available in the Awesome Draft.js )  At the same time, it was interesting as give very deep understanding what basic concepts are used in the editors.Continue reading →

How to find tech job in United Kingdom

Last year I relocated to the London and was faced the need to find the job for myself. On the beginning of my search I have found one of the articles in the Habrahabr community very useful, so I decided to translate/interpret it to English.

How to find the job in the United Kingdom

1. Write the CV. For a better understanding how to write good CV in English take a look at how other people have done this. On the cv-library.co.uk you can find a lot of the CVs, on the free mode all of them are available without the contact data, and you actually do not need the contact data.Continue reading →