ditch | Extending the Creek Ruby gem for ease of use
kandi X-RAY | ditch Summary
kandi X-RAY | ditch Summary
Just adding a few bits and peaces onto the Creek Ruby gem. Nothing major just small things to make using the gem a bit more convenient, for my use anyway.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of ditch
ditch Key Features
ditch Examples and Code Snippets
Community Discussions
Trending Discussions on ditch
QUESTION
This is the next step in my attempt to build a user-friendly transition matrix in R, a follow-on to post How to add a vertical line to the first column header in a data table?.
Running the MWE code at the bottom generates the transition table shown in the image below (with my comments overlaying). I'm trying to merge the top 2 cells (rows) in the left-most column and vertically-center the column header "to_state". Any suggestions for doing this? Using DT for table rendering if possible.
Please note that in the fuller code this MWE derives from, the table expands/contracts dynamically depending on the number of unique states detected in the underlying data.
I found good potential guidance in Shiny: Merge cells in DT::datatable, but it turns out in that case row cells in the body of the table (not header) are being merged so it is not applicable to my case.
I am not familiar with HTML, CSS. However, there are nice guidelines on-line for formatting HTML tables, including combined column/row mergers. See https://www.brainbell.com/tutorials/HTML_and_CSS/Combining_colspan_And_rowspan.htm, and https://www.w3schools.com/html/html_table_colspan_rowspan.asp. Makes me wonder if a better solution is to ditch my current DT
/html
combo and instead do the table completely in html
where it seems there is more guidance for the rookie like me.
Here is the MWE code:
...ANSWER
Answered 2022-Mar-24 at 11:40The first cell text should be in the upper header, not in the second.
QUESTION
I have a SQL table with Case_id
as a primary key. I'm using Visual Studio SSIS to import flat files into the table and a Task Factory Upsert destination component to handle the insert/update part. The source file also has a column for the update dates.
If I have one record in the source file where the Case_id matches a Case_id
already in the destination table the upsert works fine. But if the source file contains multiple records with the same primary key and different update dates, the package fails with a primary key violation. I don't see any functionality that allows me to select only the record with the most recent update date.
Any ideas on how I can handle that primary key violation? I'm thinking I may need to ditch the Upsert component and use some sort of MERGE statement with a MAX update date. I'm using SQL Server 2019, Visual Studio 2019, and SentryOne Task factory.
...ANSWER
Answered 2022-Feb-28 at 13:53You may need to perform a simple full load pattern or just adopt the delta load.
Before loading your flat file to your staging table, you can SSIS Sort Transformation component :
The Sort transformation sorts input data in ascending or descending order and copies the sorted data to the transformation output. You can apply multiple sorts to an input; each sort is identified by a numeral that determines the sort order. The column with the lowest number is sorted first, the sort column with the second lowest number is sorted next, and so on
QUESTION
Starting in iOS13, one can monitor the progress of an OperationQueue
using the progress
property. The documentation states that only operations that do not override start()
count when tracking progress. However, asynchronous operations must override start()
and not call super()
according to the documentation.
Does this mean asynchronous
operations and progress
are mutually exclusive (i.e. only synchronous operations can be used with progress)? This seems like a massive limitation if this is the case.
In my own project, I removed my override of start()
and everything appears to work okay (e.g. dependencies are only started when isFinished
is set to true
on the dependent operation internally in my async operation base class). BUT, this seems risky since Operation
explicitly states to override start()
.
Thoughts?
Documentaiton references:
https://developer.apple.com/documentation/foundation/operationqueue/3172535-progress
By default, OperationQueue doesn’t report progress until totalUnitCount is set. When totalUnitCount is set, the queue begins reporting progress. Each operation in the queue contributes one unit of completion to the overall progress of the queue for operations that are finished by the end of main(). Operations that override start() and don’t invoke super don’t contribute to the queue’s progress.
https://developer.apple.com/documentation/foundation/operation/1416837-start
If you are implementing a concurrent operation, you must override this method and use it to initiate your operation. Your custom implementation must not call super at any time. In addition to configuring the execution environment for your task, your implementation of this method must also track the state of the operation and provide appropriate state transitions.
Update: I ended up ditching my AysncOperation
for a simple SyncOperation
that waits until finish()
is called (using a semaphore).
ANSWER
Answered 2022-Feb-03 at 20:53You are combining two different but related concepts; asynchronous and concurrency.
An OperationQueue
always dispatches Operations
onto a separate thread so you do not need to make them explicitly make them asynchronous and there is no need to override start()
. You should ensure that your main()
does not return until the operation is complete. This means blocking if you perform asynchronous tasks such as network operations.
It is possible to execute an Operation
directly. In the case where you want concurrent execution of those operations you need to make them asynchronous. It is in this situation that you would override start()
If you want to implement a concurrent operation—that is, one that runs asynchronously with respect to the calling thread—you must write additional code to start the operation asynchronously. For example, you might spawn a separate thread, call an asynchronous system function, or do anything else to ensure that the start method starts the task and returns immediately and, in all likelihood, before the task is finished.
Most developers should never need to implement concurrent operation objects. If you always add your operations to an operation queue, you do not need to implement concurrent operations. When you submit a nonconcurrent operation to an operation queue, the queue itself creates a thread on which to run your operation. Thus, adding a nonconcurrent operation to an operation queue still results in the asynchronous execution of your operation object code. The ability to define concurrent operations is only necessary in cases where you need to execute the operation asynchronously without adding it to an operation queue.
In summary, make sure your operations are synchronous and do not override start
if you want to take advantage of progress
Update
While the normal advice is not to try and make asynchronous tasks synchronous, in this case it is the only thing you can do if you want to take advantage of progress
. The problem is that if you have an asynchronous operation, the queue cannot tell when it is actually complete. If the queue can't tell when an operation is complete then it can't update progress
accurately for that operation.
You do need to consider the impact on the thread pool of doing this.
The alternative is not to use the inbuilt progress
feature and create your own property that you update from your tasks.
QUESTION
I am porting a SSAS (SQL Server Analysis Server) Tabular model to Power BI Desktop. I have about 200 queries in the SSAS export (just in a text file) that I need to move into Power BI. I can paste the queries one at a time into the Advanced Editor in Power BI, but for 200 queries, this is a slog. I am looking for a way to import all the queries at once into Power BI Desktop.
For SSAS experts, this is attempt 4 to migrate the tables from SSAS. Attempt 1 was to use ALM Toolkit, but it does not work with tables in Power BI Desktop models. Attempt 2 was an XLMA script in SSMS, but I can't even get the script that is generated for the SSAS model to run in SSAS. I get errors like: Query (56,129) The syntax for ')' is incorrect. Attempt 3 in Tabular Editor had the same issue as SSMS.
So for attempt 4, I thought I'd try to paste multiple queries into the Power Query window. If I move queries from one Power BI file to another, I can select multiple queries and copy and paste them between Power BI files. If I look at the clipboard, it looks like this:
...ANSWER
Answered 2021-Dec-28 at 14:24A much simpler approach is to use VBA macros to create the queries from the text file in Excel Power Query, then manually copy the Excel queries to paste into Power BI Desktop. You can select all the queries in Excel at once from either the Queries & Connections pane or the Power Query Editor and copy them in one shot.
Here is some VBA code to create the queries in a new file. It requires the file with the macro to have a table named "Data_sources" on a sheet named "Data sources" with at least 4 columns (Data Source Name, Data Source Query, Server, and Database):
QUESTION
I want to programmatically get explanations for inferred axioms in consistent ontologies, in a similar manner that one can do in the Protégé UI. I cannot find any straightforward way. I have found the owlexplanation repo, but I cannot for the life of me solve the dependency issues to set up the owlexplanation
environment. I have also browsed the javadoc of owlapi regarding explanations (to avoid the other repo altogether), but I don't see anything useful beyond what I can already see browsing the Java source code.
I have thought of simply negating the inferred axiom, to get explanations through inconsistencies, but I would prefer something cleaner, and I am not sure this approach is correct anyway.
Other (possibly) useful context:
- I had used some Java years ago, but I now primarily use Python (I try to use OWL API with JPype and OWL in general with Owlready2).
- I am using HermiT reasoner (again through JPype) (according to build.xml file, latest stable version 1.3.8).
- I have managed to get explanations for unsatisfiability and inconsistency in my setup, without
owlexplanation
, following this example from the HermiT source code. - I fell in the rabbit hole wanting to make a usable
.jar
file forowlexplanation
, in order to add it in my JPype classpath. My plan went sideways when I couldn't get the Java project to build in the first place. - I am using Intellij IDE.
I would appreciate any insight or tips.
UPDATE Jan 6, 2022:
I decided to try once more with the owlexplanation
code with a clean head so here is where I am at:
- Downloaded the source code from github and extracted the zip.
- Started IntelliJ and instead from "Creating a project from Existing sources", I clicked "Open" and selected the extracted directory.
- I built the project and it did successfully.
- From Maven tools, I run clean, validate, compile and test succesfully.
- If I run "package" Maven action, it throws as error that "The environment variable JAVA_HOME is not correctly set". The thing is that if I go File>Project Structure, I see that SDK is set to 11, it's not empty.
- Additionally, from the
pom.xml
file I get these problems:Plugin 'org.apache.maven.plugins:maven-gpg-plugin:1.5' not found
Plugin 'org.sonatype.plugins:nexus-staging-maven-plugin:1.6.6' not found
UPDATE Jan 8, 2022: (Trying @Ignazio's answer)
I created a new IntelliJ project, and added the Maven dependencies @Ignazio mentioned (plus some others like slf4j
etc) and I got a working example (I think). Moving to my main project (using JPype), I had to manually download some .jars to include in the classpath (as maven can't be used here). These are the ones downloaded so far:
ANSWER
Answered 2022-Jan-07 at 20:52You're not just using the projects but actually building them from scratch, which requires more setup than using the published artifacts.
Shortcut that uses Maven available jars (via Maven Central, although other public repositories should do just as well)
Java code:
QUESTION
For my project I need to store pointers to objects of type ComplicatedClass
in an array. This array is stored in a class Storage
along with other information I have omitted here.
Here's what I would like to do (which obviously doesn't work, but hopefully explains what I'm trying to achieve):
...ANSWER
Answered 2021-Dec-21 at 21:07How can I pass and store an array of variable size containing pointers to objects?
By creating the objects dynamically. Most convenient solution is to use std::vector
.
QUESTION
I have a rather peculiar nested JSON where in some instances a key - value pair occurs as normal, but in others the type of the key appears in a further nesting.
...ANSWER
Answered 2021-Dec-10 at 17:53Try this:
QUESTION
I am developing a ComboBox (more for context than actual significance), and I would like to know if the "or" operator exists in Java generics. For now, the declaration looks something like that:
...ANSWER
Answered 2021-Dec-15 at 12:52There is no "or" operator for generics, and for a simple reason.
The idea of stating the type at the beginning is to allow you to use methods from that type in your implementation of the class.
When you use the "and" operator (extends A & B
), you know that whatever object is passed to you, you can access any of the A
class's methods as well as any of the B
class's method.
But what would happen if it was an "or"? Then you are passed an object that can either be a ComboBoxItem
allowing you to use ComboBoxItem
's methods, or it is just a string, which means you can't use any such methods. At compile time, you don't know which object you are passed, so there is no point in giving the type.
The "Or" is not helpful. If you are not using any method from the object, you may as well not use extends
at all.
The real question here is what you are trying to do which can apply to strings as well as combo box items but not to anything else. It smells like a design issue.
QUESTION
I've been trying to debug this for hours and looked at every single other Stack Overflow question that has the same style of issue, but they all just say to use keys and that's still not working for me. I've made a simpler example of my code that replicates the error.
...ANSWER
Answered 2021-Dec-13 at 11:11You need to move the TestExperience
out of FormTest
.
QUESTION
Context
I started working on a new project and I've decided to move from RxJava to Kotlin Coroutines. I'm using an MVVM clean architecture, meaning that my ViewModels
communicate to UseCases
classes, and these UseCases
classes use one or many Repositories
to fetch data from network.
Let me give you an example. Let's say we have a screen that is supposed to show the user profile information. So we have the UserProfileViewModel
:
ANSWER
Answered 2021-Dec-06 at 14:53The most obvious problem I see here is that you're using Flow
for single values instead of suspend
functions.
Coroutines makes the single-value use case much simpler by using suspend functions that return plain values or throw exceptions. You can of course also make them return Result
-like classes to encapsulate errors instead of actually using exceptions, but the important part is that with suspend
functions you are exposing a seemingly synchronous (thus convenient) API while still benefitting from asynchronous runtime.
In the provided examples you're not subscribing for updates anywhere, all flows actually just give a single element and complete, so there is no real reason to use flows and it complicates the code. It also makes it harder to read for people used to coroutines because it looks like multiple values are coming, and potentially collect
being infinite, but it's not the case.
Each time you write flow { emit(x) }
it should just be x
.
Following the above, you're sometimes using flatMapMerge
and in the lambda you create flows with a single element. Unless you're looking for parallelization of the computation, you should simply go for .map { ... }
instead. So replace this:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install ditch
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page